Repository: harinij/100DaysOfCode Branch: master Commit: fd3434d089b7 Files: 2015 Total size: 61.8 MB Directory structure: gitextract_lq_km4xo/ ├── Day 001 - React App/ │ ├── README.md │ ├── app/ │ │ └── components/ │ │ └── main.js │ ├── package.json │ ├── public/ │ │ ├── bundle.js │ │ └── index.html │ └── webpack.config.js ├── Day 002 - React App with Nav + State Props/ │ ├── README.md │ ├── app/ │ │ ├── App.js │ │ ├── components/ │ │ │ ├── Github/ │ │ │ │ ├── Repos.js │ │ │ │ └── UserProfile.js │ │ │ ├── Home.js │ │ │ ├── Main.js │ │ │ ├── Notes/ │ │ │ │ └── Notes.js │ │ │ └── Profile.js │ │ └── config/ │ │ └── routes.js │ ├── package.json │ ├── public/ │ │ ├── bundle.js │ │ └── index.html │ └── webpack.config.js ├── Day 003 - React App with Firebase/ │ ├── README.md │ ├── app/ │ │ ├── App.js │ │ ├── components/ │ │ │ ├── Github/ │ │ │ │ ├── Repos.js │ │ │ │ └── UserProfile.js │ │ │ ├── Home.js │ │ │ ├── Main.js │ │ │ ├── Notes/ │ │ │ │ ├── Notes.js │ │ │ │ └── NotesList.js │ │ │ └── Profile.js │ │ └── config/ │ │ └── routes.js │ ├── github-note-taker-export.json │ ├── package.json │ ├── public/ │ │ ├── bundle.js │ │ └── index.html │ └── webpack.config.js ├── Day 004 - React App with Firebase + Realtime Data Validation/ │ ├── README.md │ ├── app/ │ │ ├── App.js │ │ ├── components/ │ │ │ ├── Github/ │ │ │ │ ├── Repos.js │ │ │ │ └── UserProfile.js │ │ │ ├── Home.js │ │ │ ├── Main.js │ │ │ ├── Notes/ │ │ │ │ ├── AddNote.js │ │ │ │ ├── Notes.js │ │ │ │ └── NotesList.js │ │ │ └── Profile.js │ │ └── config/ │ │ └── routes.js │ ├── package.json │ ├── public/ │ │ ├── bundle.js │ │ └── index.html │ └── webpack.config.js ├── Day 005 - React App with Axios for server requests/ │ ├── README.md │ ├── app/ │ │ ├── App.js │ │ ├── components/ │ │ │ ├── Github/ │ │ │ │ ├── Repos.js │ │ │ │ └── UserProfile.js │ │ │ ├── Home.js │ │ │ ├── Main.js │ │ │ ├── Notes/ │ │ │ │ ├── AddNote.js │ │ │ │ ├── Notes.js │ │ │ │ └── NotesList.js │ │ │ ├── Profile.js │ │ │ └── SearchGithub.js │ │ ├── config/ │ │ │ └── routes.js │ │ └── utils/ │ │ └── helpers.js │ ├── package.json │ ├── public/ │ │ ├── bundle.js │ │ └── index.html │ └── webpack.config.js ├── Day 006 - Spark Streaming using Scala/ │ ├── README.md │ └── SparkStreamingTweet/ │ ├── .cache-main │ ├── .classpath │ ├── .project │ ├── .settings/ │ │ └── org.eclipse.jdt.core.prefs │ ├── resources/ │ │ └── twitter.txt │ └── src/ │ └── com/ │ └── hmovielabs/ │ └── sparkstreaming/ │ ├── PrintTweets.scala │ └── Utilities.scala ├── Day 007-008 - React Native App/ │ ├── App/ │ │ ├── Components/ │ │ │ ├── Badge.js │ │ │ ├── Dashboard.js │ │ │ ├── Helpers/ │ │ │ │ ├── Separator.js │ │ │ │ └── WebView.js │ │ │ ├── Main.js │ │ │ ├── Notes.js │ │ │ ├── Profile.js │ │ │ └── Repositories.js │ │ └── Utils/ │ │ └── api.js │ ├── README.md │ ├── android/ │ │ ├── app/ │ │ │ ├── BUCK │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── thegaze/ │ │ │ │ └── MainActivity.java │ │ │ └── res/ │ │ │ └── values/ │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── keystores/ │ │ │ ├── BUCK │ │ │ └── debug.keystore.properties │ │ └── settings.gradle │ ├── index.android.js │ ├── index.ios.js │ ├── ios/ │ │ ├── thegaze/ │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.m │ │ │ ├── Base.lproj/ │ │ │ │ └── LaunchScreen.xib │ │ │ ├── Images.xcassets/ │ │ │ │ └── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── Info.plist │ │ │ └── main.m │ │ ├── thegaze.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace/ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcuserdata/ │ │ │ │ └── Harini.xcuserdatad/ │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ ├── xcshareddata/ │ │ │ │ └── xcschemes/ │ │ │ │ └── thegaze.xcscheme │ │ │ └── xcuserdata/ │ │ │ └── Harini.xcuserdatad/ │ │ │ └── xcschemes/ │ │ │ └── xcschememanagement.plist │ │ └── thegazeTests/ │ │ ├── Info.plist │ │ └── thegazeTests.m │ └── package.json ├── Day 009 - Cross Platform Porting of React Native App/ │ ├── App/ │ │ ├── Components/ │ │ │ ├── Badge.js │ │ │ ├── Dashboard.js │ │ │ ├── Helpers/ │ │ │ │ ├── Separator.js │ │ │ │ └── WebView.js │ │ │ ├── Main.js │ │ │ ├── Notes.js │ │ │ ├── Profile.js │ │ │ └── Repositories.js │ │ └── Utils/ │ │ └── api.js │ ├── README.md │ ├── android/ │ │ ├── .gradle/ │ │ │ ├── 2.10/ │ │ │ │ └── taskArtifacts/ │ │ │ │ └── cache.properties │ │ │ └── 2.4/ │ │ │ └── taskArtifacts/ │ │ │ └── cache.properties │ │ ├── .idea/ │ │ │ ├── .name │ │ │ ├── compiler.xml │ │ │ ├── copyright/ │ │ │ │ └── profiles_settings.xml │ │ │ ├── encodings.xml │ │ │ ├── gradle.xml │ │ │ ├── libraries/ │ │ │ │ ├── android_jsc_r174650.xml │ │ │ │ ├── appcompat_v7_23_0_1.xml │ │ │ │ ├── bolts_android_1_1_4.xml │ │ │ │ ├── drawee_0_8_1.xml │ │ │ │ ├── fbcore_0_8_1.xml │ │ │ │ ├── fresco_0_8_1.xml │ │ │ │ ├── imagepipeline_0_8_1.xml │ │ │ │ ├── imagepipeline_okhttp_0_8_1.xml │ │ │ │ ├── jackson_core_2_2_3.xml │ │ │ │ ├── jsr305_3_0_0.xml │ │ │ │ ├── library_2_4_0.xml │ │ │ │ ├── okhttp_2_5_0.xml │ │ │ │ ├── okhttp_ws_2_5_0.xml │ │ │ │ ├── okio_1_6_0.xml │ │ │ │ ├── react_native_0_25_1.xml │ │ │ │ ├── recyclerview_v7_23_0_1.xml │ │ │ │ ├── support_annotations_23_0_1.xml │ │ │ │ └── support_v4_23_0_1.xml │ │ │ ├── misc.xml │ │ │ ├── modules.xml │ │ │ ├── runConfigurations.xml │ │ │ └── workspace.xml │ │ ├── app/ │ │ │ ├── BUCK │ │ │ ├── app.iml │ │ │ ├── build/ │ │ │ │ ├── generated/ │ │ │ │ │ └── source/ │ │ │ │ │ ├── buildConfig/ │ │ │ │ │ │ ├── androidTest/ │ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ │ └── com/ │ │ │ │ │ │ │ └── thegaze/ │ │ │ │ │ │ │ └── test/ │ │ │ │ │ │ │ └── BuildConfig.java │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── com/ │ │ │ │ │ │ └── thegaze/ │ │ │ │ │ │ └── BuildConfig.java │ │ │ │ │ └── r/ │ │ │ │ │ └── debug/ │ │ │ │ │ ├── android/ │ │ │ │ │ │ └── support/ │ │ │ │ │ │ └── v7/ │ │ │ │ │ │ ├── appcompat/ │ │ │ │ │ │ │ └── R.java │ │ │ │ │ │ └── recyclerview/ │ │ │ │ │ │ └── R.java │ │ │ │ │ ├── com/ │ │ │ │ │ │ ├── facebook/ │ │ │ │ │ │ │ ├── drawee/ │ │ │ │ │ │ │ │ ├── R.java │ │ │ │ │ │ │ │ └── backends/ │ │ │ │ │ │ │ │ └── pipeline/ │ │ │ │ │ │ │ │ └── R.java │ │ │ │ │ │ │ └── react/ │ │ │ │ │ │ │ └── R.java │ │ │ │ │ │ └── thegaze/ │ │ │ │ │ │ └── R.java │ │ │ │ │ └── org/ │ │ │ │ │ └── webkit/ │ │ │ │ │ └── android_jsc/ │ │ │ │ │ └── R.java │ │ │ │ ├── intermediates/ │ │ │ │ │ ├── blame/ │ │ │ │ │ │ └── res/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ ├── multi/ │ │ │ │ │ │ │ ├── values-af.json │ │ │ │ │ │ │ ├── values-am.json │ │ │ │ │ │ │ ├── values-ar.json │ │ │ │ │ │ │ ├── values-az-rAZ.json │ │ │ │ │ │ │ ├── values-bg.json │ │ │ │ │ │ │ ├── values-bn-rBD.json │ │ │ │ │ │ │ ├── values-ca.json │ │ │ │ │ │ │ ├── values-cs.json │ │ │ │ │ │ │ ├── values-da.json │ │ │ │ │ │ │ ├── values-de.json │ │ │ │ │ │ │ ├── values-el.json │ │ │ │ │ │ │ ├── values-en-rAU.json │ │ │ │ │ │ │ ├── values-en-rGB.json │ │ │ │ │ │ │ ├── values-en-rIN.json │ │ │ │ │ │ │ ├── values-es-rES.json │ │ │ │ │ │ │ ├── values-es-rUS.json │ │ │ │ │ │ │ ├── values-es.json │ │ │ │ │ │ │ ├── values-et-rEE.json │ │ │ │ │ │ │ ├── values-eu-rES.json │ │ │ │ │ │ │ ├── values-fa.json │ │ │ │ │ │ │ ├── values-fb-rLL.json │ │ │ │ │ │ │ ├── values-fb.json │ │ │ │ │ │ │ ├── values-fi.json │ │ │ │ │ │ │ ├── values-fr-rCA.json │ │ │ │ │ │ │ ├── values-fr.json │ │ │ │ │ │ │ ├── values-gl-rES.json │ │ │ │ │ │ │ ├── values-gu-rIN.json │ │ │ │ │ │ │ ├── values-h720dp-v13.json │ │ │ │ │ │ │ ├── values-hdpi-v4.json │ │ │ │ │ │ │ ├── values-hi.json │ │ │ │ │ │ │ ├── values-hr.json │ │ │ │ │ │ │ ├── values-hu.json │ │ │ │ │ │ │ ├── values-hy-rAM.json │ │ │ │ │ │ │ ├── values-in.json │ │ │ │ │ │ │ ├── values-is-rIS.json │ │ │ │ │ │ │ ├── values-it.json │ │ │ │ │ │ │ ├── values-iw.json │ │ │ │ │ │ │ ├── values-ja.json │ │ │ │ │ │ │ ├── values-ka-rGE.json │ │ │ │ │ │ │ ├── values-kk-rKZ.json │ │ │ │ │ │ │ ├── values-km-rKH.json │ │ │ │ │ │ │ ├── values-kn-rIN.json │ │ │ │ │ │ │ ├── values-ko.json │ │ │ │ │ │ │ ├── values-ky-rKG.json │ │ │ │ │ │ │ ├── values-land.json │ │ │ │ │ │ │ ├── values-large-v4.json │ │ │ │ │ │ │ ├── values-lo-rLA.json │ │ │ │ │ │ │ ├── values-lt.json │ │ │ │ │ │ │ ├── values-lv.json │ │ │ │ │ │ │ ├── values-mk-rMK.json │ │ │ │ │ │ │ ├── values-ml-rIN.json │ │ │ │ │ │ │ ├── values-mn-rMN.json │ │ │ │ │ │ │ ├── values-mr-rIN.json │ │ │ │ │ │ │ ├── values-ms-rMY.json │ │ │ │ │ │ │ ├── values-my-rMM.json │ │ │ │ │ │ │ ├── values-nb.json │ │ │ │ │ │ │ ├── values-ne-rNP.json │ │ │ │ │ │ │ ├── values-nl.json │ │ │ │ │ │ │ ├── values-pa-rIN.json │ │ │ │ │ │ │ ├── values-pl.json │ │ │ │ │ │ │ ├── values-port.json │ │ │ │ │ │ │ ├── values-pt-rPT.json │ │ │ │ │ │ │ ├── values-pt.json │ │ │ │ │ │ │ ├── values-ro.json │ │ │ │ │ │ │ ├── values-ru.json │ │ │ │ │ │ │ ├── values-si-rLK.json │ │ │ │ │ │ │ ├── values-sk.json │ │ │ │ │ │ │ ├── values-sl.json │ │ │ │ │ │ │ ├── values-sq-rAL.json │ │ │ │ │ │ │ ├── values-sr.json │ │ │ │ │ │ │ ├── values-sv.json │ │ │ │ │ │ │ ├── values-sw.json │ │ │ │ │ │ │ ├── values-sw600dp-v13.json │ │ │ │ │ │ │ ├── values-ta-rIN.json │ │ │ │ │ │ │ ├── values-te-rIN.json │ │ │ │ │ │ │ ├── values-th.json │ │ │ │ │ │ │ ├── values-tl.json │ │ │ │ │ │ │ ├── values-tr.json │ │ │ │ │ │ │ ├── values-uk.json │ │ │ │ │ │ │ ├── values-ur-rPK.json │ │ │ │ │ │ │ ├── values-uz-rUZ.json │ │ │ │ │ │ │ ├── values-v11.json │ │ │ │ │ │ │ ├── values-v12.json │ │ │ │ │ │ │ ├── values-v14.json │ │ │ │ │ │ │ ├── values-v17.json │ │ │ │ │ │ │ ├── values-v18.json │ │ │ │ │ │ │ ├── values-v21.json │ │ │ │ │ │ │ ├── values-v22.json │ │ │ │ │ │ │ ├── values-v23.json │ │ │ │ │ │ │ ├── values-vi.json │ │ │ │ │ │ │ ├── values-w360dp-v13.json │ │ │ │ │ │ │ ├── values-w480dp-v13.json │ │ │ │ │ │ │ ├── values-w500dp-v13.json │ │ │ │ │ │ │ ├── values-w600dp-v13.json │ │ │ │ │ │ │ ├── values-w720dp-v13.json │ │ │ │ │ │ │ ├── values-xlarge-land-v4.json │ │ │ │ │ │ │ ├── values-xlarge-v4.json │ │ │ │ │ │ │ ├── values-zh-rCN.json │ │ │ │ │ │ │ ├── values-zh-rHK.json │ │ │ │ │ │ │ ├── values-zh-rTW.json │ │ │ │ │ │ │ ├── values-zu.json │ │ │ │ │ │ │ └── values.json │ │ │ │ │ │ └── single/ │ │ │ │ │ │ ├── anim.json │ │ │ │ │ │ ├── color-v11.json │ │ │ │ │ │ ├── color-v23.json │ │ │ │ │ │ ├── color.json │ │ │ │ │ │ ├── drawable-hdpi-v4.json │ │ │ │ │ │ ├── drawable-ldrtl-hdpi-v17.json │ │ │ │ │ │ ├── drawable-ldrtl-mdpi-v17.json │ │ │ │ │ │ ├── drawable-ldrtl-xhdpi-v17.json │ │ │ │ │ │ ├── drawable-ldrtl-xxhdpi-v17.json │ │ │ │ │ │ ├── drawable-ldrtl-xxxhdpi-v17.json │ │ │ │ │ │ ├── drawable-mdpi-v4.json │ │ │ │ │ │ ├── drawable-v21.json │ │ │ │ │ │ ├── drawable-v23.json │ │ │ │ │ │ ├── drawable-xhdpi-v4.json │ │ │ │ │ │ ├── drawable-xxhdpi-v4.json │ │ │ │ │ │ ├── drawable-xxxhdpi-v4.json │ │ │ │ │ │ ├── drawable.json │ │ │ │ │ │ ├── layout.json │ │ │ │ │ │ ├── mipmap-hdpi-v4.json │ │ │ │ │ │ ├── mipmap-mdpi-v4.json │ │ │ │ │ │ ├── mipmap-xhdpi-v4.json │ │ │ │ │ │ ├── mipmap-xxhdpi-v4.json │ │ │ │ │ │ └── xml.json │ │ │ │ │ ├── bundles/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── instant-run/ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ ├── exploded-aar/ │ │ │ │ │ │ ├── com.android.support/ │ │ │ │ │ │ │ ├── appcompat-v7/ │ │ │ │ │ │ │ │ └── 23.0.1/ │ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── R.txt │ │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── jars/ │ │ │ │ │ │ │ │ │ └── classes.jar │ │ │ │ │ │ │ │ ├── public.txt │ │ │ │ │ │ │ │ └── res/ │ │ │ │ │ │ │ │ ├── anim/ │ │ │ │ │ │ │ │ │ ├── abc_fade_in.xml │ │ │ │ │ │ │ │ │ ├── abc_fade_out.xml │ │ │ │ │ │ │ │ │ ├── abc_grow_fade_in_from_bottom.xml │ │ │ │ │ │ │ │ │ ├── abc_popup_enter.xml │ │ │ │ │ │ │ │ │ ├── abc_popup_exit.xml │ │ │ │ │ │ │ │ │ ├── abc_shrink_fade_out_from_bottom.xml │ │ │ │ │ │ │ │ │ ├── abc_slide_in_bottom.xml │ │ │ │ │ │ │ │ │ ├── abc_slide_in_top.xml │ │ │ │ │ │ │ │ │ ├── abc_slide_out_bottom.xml │ │ │ │ │ │ │ │ │ └── abc_slide_out_top.xml │ │ │ │ │ │ │ │ ├── color/ │ │ │ │ │ │ │ │ │ ├── abc_background_cache_hint_selector_material_dark.xml │ │ │ │ │ │ │ │ │ ├── abc_background_cache_hint_selector_material_light.xml │ │ │ │ │ │ │ │ │ ├── abc_primary_text_disable_only_material_dark.xml │ │ │ │ │ │ │ │ │ ├── abc_primary_text_disable_only_material_light.xml │ │ │ │ │ │ │ │ │ ├── abc_primary_text_material_dark.xml │ │ │ │ │ │ │ │ │ ├── abc_primary_text_material_light.xml │ │ │ │ │ │ │ │ │ ├── abc_search_url_text.xml │ │ │ │ │ │ │ │ │ ├── abc_secondary_text_material_dark.xml │ │ │ │ │ │ │ │ │ ├── abc_secondary_text_material_light.xml │ │ │ │ │ │ │ │ │ ├── switch_thumb_material_dark.xml │ │ │ │ │ │ │ │ │ └── switch_thumb_material_light.xml │ │ │ │ │ │ │ │ ├── color-v11/ │ │ │ │ │ │ │ │ │ ├── abc_background_cache_hint_selector_material_dark.xml │ │ │ │ │ │ │ │ │ └── abc_background_cache_hint_selector_material_light.xml │ │ │ │ │ │ │ │ ├── color-v23/ │ │ │ │ │ │ │ │ │ └── abc_color_highlight_material.xml │ │ │ │ │ │ │ │ ├── drawable/ │ │ │ │ │ │ │ │ │ ├── abc_btn_borderless_material.xml │ │ │ │ │ │ │ │ │ ├── abc_btn_check_material.xml │ │ │ │ │ │ │ │ │ ├── abc_btn_colored_material.xml │ │ │ │ │ │ │ │ │ ├── abc_btn_default_mtrl_shape.xml │ │ │ │ │ │ │ │ │ ├── abc_btn_radio_material.xml │ │ │ │ │ │ │ │ │ ├── abc_cab_background_internal_bg.xml │ │ │ │ │ │ │ │ │ ├── abc_cab_background_top_material.xml │ │ │ │ │ │ │ │ │ ├── abc_dialog_material_background_dark.xml │ │ │ │ │ │ │ │ │ ├── abc_dialog_material_background_light.xml │ │ │ │ │ │ │ │ │ ├── abc_edit_text_material.xml │ │ │ │ │ │ │ │ │ ├── abc_item_background_holo_dark.xml │ │ │ │ │ │ │ │ │ ├── abc_item_background_holo_light.xml │ │ │ │ │ │ │ │ │ ├── abc_list_selector_background_transition_holo_dark.xml │ │ │ │ │ │ │ │ │ ├── abc_list_selector_background_transition_holo_light.xml │ │ │ │ │ │ │ │ │ ├── abc_list_selector_holo_dark.xml │ │ │ │ │ │ │ │ │ ├── abc_list_selector_holo_light.xml │ │ │ │ │ │ │ │ │ ├── abc_ratingbar_full_material.xml │ │ │ │ │ │ │ │ │ ├── abc_spinner_textfield_background_material.xml │ │ │ │ │ │ │ │ │ ├── abc_switch_thumb_material.xml │ │ │ │ │ │ │ │ │ ├── abc_tab_indicator_material.xml │ │ │ │ │ │ │ │ │ ├── abc_text_cursor_material.xml │ │ │ │ │ │ │ │ │ └── abc_textfield_search_material.xml │ │ │ │ │ │ │ │ ├── drawable-v21/ │ │ │ │ │ │ │ │ │ ├── abc_action_bar_item_background_material.xml │ │ │ │ │ │ │ │ │ └── abc_btn_colored_material.xml │ │ │ │ │ │ │ │ ├── drawable-v23/ │ │ │ │ │ │ │ │ │ └── abc_control_background_material.xml │ │ │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ │ │ ├── abc_action_bar_title_item.xml │ │ │ │ │ │ │ │ │ ├── abc_action_bar_up_container.xml │ │ │ │ │ │ │ │ │ ├── abc_action_bar_view_list_nav_layout.xml │ │ │ │ │ │ │ │ │ ├── abc_action_menu_item_layout.xml │ │ │ │ │ │ │ │ │ ├── abc_action_menu_layout.xml │ │ │ │ │ │ │ │ │ ├── abc_action_mode_bar.xml │ │ │ │ │ │ │ │ │ ├── abc_action_mode_close_item_material.xml │ │ │ │ │ │ │ │ │ ├── abc_activity_chooser_view.xml │ │ │ │ │ │ │ │ │ ├── abc_activity_chooser_view_list_item.xml │ │ │ │ │ │ │ │ │ ├── abc_alert_dialog_material.xml │ │ │ │ │ │ │ │ │ ├── abc_dialog_title_material.xml │ │ │ │ │ │ │ │ │ ├── abc_expanded_menu_layout.xml │ │ │ │ │ │ │ │ │ ├── abc_list_menu_item_checkbox.xml │ │ │ │ │ │ │ │ │ ├── abc_list_menu_item_icon.xml │ │ │ │ │ │ │ │ │ ├── abc_list_menu_item_layout.xml │ │ │ │ │ │ │ │ │ ├── abc_list_menu_item_radio.xml │ │ │ │ │ │ │ │ │ ├── abc_popup_menu_item_layout.xml │ │ │ │ │ │ │ │ │ ├── abc_screen_content_include.xml │ │ │ │ │ │ │ │ │ ├── abc_screen_simple.xml │ │ │ │ │ │ │ │ │ ├── abc_screen_simple_overlay_action_mode.xml │ │ │ │ │ │ │ │ │ ├── abc_screen_toolbar.xml │ │ │ │ │ │ │ │ │ ├── abc_search_dropdown_item_icons_2line.xml │ │ │ │ │ │ │ │ │ ├── abc_search_view.xml │ │ │ │ │ │ │ │ │ ├── abc_select_dialog_material.xml │ │ │ │ │ │ │ │ │ ├── notification_media_action.xml │ │ │ │ │ │ │ │ │ ├── notification_media_cancel_action.xml │ │ │ │ │ │ │ │ │ ├── notification_template_big_media.xml │ │ │ │ │ │ │ │ │ ├── notification_template_big_media_narrow.xml │ │ │ │ │ │ │ │ │ ├── notification_template_lines.xml │ │ │ │ │ │ │ │ │ ├── notification_template_media.xml │ │ │ │ │ │ │ │ │ ├── notification_template_part_chronometer.xml │ │ │ │ │ │ │ │ │ ├── notification_template_part_time.xml │ │ │ │ │ │ │ │ │ ├── select_dialog_item_material.xml │ │ │ │ │ │ │ │ │ ├── select_dialog_multichoice_material.xml │ │ │ │ │ │ │ │ │ ├── select_dialog_singlechoice_material.xml │ │ │ │ │ │ │ │ │ └── support_simple_spinner_dropdown_item.xml │ │ │ │ │ │ │ │ ├── values/ │ │ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ │ │ ├── values-af/ │ │ │ │ │ │ │ │ │ └── values-af.xml │ │ │ │ │ │ │ │ ├── values-am/ │ │ │ │ │ │ │ │ │ └── values-am.xml │ │ │ │ │ │ │ │ ├── values-ar/ │ │ │ │ │ │ │ │ │ └── values-ar.xml │ │ │ │ │ │ │ │ ├── values-az-rAZ/ │ │ │ │ │ │ │ │ │ └── values-az-rAZ.xml │ │ │ │ │ │ │ │ ├── values-bg/ │ │ │ │ │ │ │ │ │ └── values-bg.xml │ │ │ │ │ │ │ │ ├── values-bn-rBD/ │ │ │ │ │ │ │ │ │ └── values-bn-rBD.xml │ │ │ │ │ │ │ │ ├── values-ca/ │ │ │ │ │ │ │ │ │ └── values-ca.xml │ │ │ │ │ │ │ │ ├── values-cs/ │ │ │ │ │ │ │ │ │ └── values-cs.xml │ │ │ │ │ │ │ │ ├── values-da/ │ │ │ │ │ │ │ │ │ └── values-da.xml │ │ │ │ │ │ │ │ ├── values-de/ │ │ │ │ │ │ │ │ │ └── values-de.xml │ │ │ │ │ │ │ │ ├── values-el/ │ │ │ │ │ │ │ │ │ └── values-el.xml │ │ │ │ │ │ │ │ ├── values-en-rAU/ │ │ │ │ │ │ │ │ │ └── values-en-rAU.xml │ │ │ │ │ │ │ │ ├── values-en-rGB/ │ │ │ │ │ │ │ │ │ └── values-en-rGB.xml │ │ │ │ │ │ │ │ ├── values-en-rIN/ │ │ │ │ │ │ │ │ │ └── values-en-rIN.xml │ │ │ │ │ │ │ │ ├── values-es/ │ │ │ │ │ │ │ │ │ └── values-es.xml │ │ │ │ │ │ │ │ ├── values-es-rUS/ │ │ │ │ │ │ │ │ │ └── values-es-rUS.xml │ │ │ │ │ │ │ │ ├── values-et-rEE/ │ │ │ │ │ │ │ │ │ └── values-et-rEE.xml │ │ │ │ │ │ │ │ ├── values-eu-rES/ │ │ │ │ │ │ │ │ │ └── values-eu-rES.xml │ │ │ │ │ │ │ │ ├── values-fa/ │ │ │ │ │ │ │ │ │ └── values-fa.xml │ │ │ │ │ │ │ │ ├── values-fi/ │ │ │ │ │ │ │ │ │ └── values-fi.xml │ │ │ │ │ │ │ │ ├── values-fr/ │ │ │ │ │ │ │ │ │ └── values-fr.xml │ │ │ │ │ │ │ │ ├── values-fr-rCA/ │ │ │ │ │ │ │ │ │ └── values-fr-rCA.xml │ │ │ │ │ │ │ │ ├── values-gl-rES/ │ │ │ │ │ │ │ │ │ └── values-gl-rES.xml │ │ │ │ │ │ │ │ ├── values-gu-rIN/ │ │ │ │ │ │ │ │ │ └── values-gu-rIN.xml │ │ │ │ │ │ │ │ ├── values-h720dp/ │ │ │ │ │ │ │ │ │ └── values-h720dp.xml │ │ │ │ │ │ │ │ ├── values-hdpi/ │ │ │ │ │ │ │ │ │ └── values-hdpi.xml │ │ │ │ │ │ │ │ ├── values-hi/ │ │ │ │ │ │ │ │ │ └── values-hi.xml │ │ │ │ │ │ │ │ ├── values-hr/ │ │ │ │ │ │ │ │ │ └── values-hr.xml │ │ │ │ │ │ │ │ ├── values-hu/ │ │ │ │ │ │ │ │ │ └── values-hu.xml │ │ │ │ │ │ │ │ ├── values-hy-rAM/ │ │ │ │ │ │ │ │ │ └── values-hy-rAM.xml │ │ │ │ │ │ │ │ ├── values-in/ │ │ │ │ │ │ │ │ │ └── values-in.xml │ │ │ │ │ │ │ │ ├── values-is-rIS/ │ │ │ │ │ │ │ │ │ └── values-is-rIS.xml │ │ │ │ │ │ │ │ ├── values-it/ │ │ │ │ │ │ │ │ │ └── values-it.xml │ │ │ │ │ │ │ │ ├── values-iw/ │ │ │ │ │ │ │ │ │ └── values-iw.xml │ │ │ │ │ │ │ │ ├── values-ja/ │ │ │ │ │ │ │ │ │ └── values-ja.xml │ │ │ │ │ │ │ │ ├── values-ka-rGE/ │ │ │ │ │ │ │ │ │ └── values-ka-rGE.xml │ │ │ │ │ │ │ │ ├── values-kk-rKZ/ │ │ │ │ │ │ │ │ │ └── values-kk-rKZ.xml │ │ │ │ │ │ │ │ ├── values-km-rKH/ │ │ │ │ │ │ │ │ │ └── values-km-rKH.xml │ │ │ │ │ │ │ │ ├── values-kn-rIN/ │ │ │ │ │ │ │ │ │ └── values-kn-rIN.xml │ │ │ │ │ │ │ │ ├── values-ko/ │ │ │ │ │ │ │ │ │ └── values-ko.xml │ │ │ │ │ │ │ │ ├── values-ky-rKG/ │ │ │ │ │ │ │ │ │ └── values-ky-rKG.xml │ │ │ │ │ │ │ │ ├── values-land/ │ │ │ │ │ │ │ │ │ └── values-land.xml │ │ │ │ │ │ │ │ ├── values-large/ │ │ │ │ │ │ │ │ │ └── values-large.xml │ │ │ │ │ │ │ │ ├── values-lo-rLA/ │ │ │ │ │ │ │ │ │ └── values-lo-rLA.xml │ │ │ │ │ │ │ │ ├── values-lt/ │ │ │ │ │ │ │ │ │ └── values-lt.xml │ │ │ │ │ │ │ │ ├── values-lv/ │ │ │ │ │ │ │ │ │ └── values-lv.xml │ │ │ │ │ │ │ │ ├── values-mk-rMK/ │ │ │ │ │ │ │ │ │ └── values-mk-rMK.xml │ │ │ │ │ │ │ │ ├── values-ml-rIN/ │ │ │ │ │ │ │ │ │ └── values-ml-rIN.xml │ │ │ │ │ │ │ │ ├── values-mn-rMN/ │ │ │ │ │ │ │ │ │ └── values-mn-rMN.xml │ │ │ │ │ │ │ │ ├── values-mr-rIN/ │ │ │ │ │ │ │ │ │ └── values-mr-rIN.xml │ │ │ │ │ │ │ │ ├── values-ms-rMY/ │ │ │ │ │ │ │ │ │ └── values-ms-rMY.xml │ │ │ │ │ │ │ │ ├── values-my-rMM/ │ │ │ │ │ │ │ │ │ └── values-my-rMM.xml │ │ │ │ │ │ │ │ ├── values-nb/ │ │ │ │ │ │ │ │ │ └── values-nb.xml │ │ │ │ │ │ │ │ ├── values-ne-rNP/ │ │ │ │ │ │ │ │ │ └── values-ne-rNP.xml │ │ │ │ │ │ │ │ ├── values-nl/ │ │ │ │ │ │ │ │ │ └── values-nl.xml │ │ │ │ │ │ │ │ ├── values-pa-rIN/ │ │ │ │ │ │ │ │ │ └── values-pa-rIN.xml │ │ │ │ │ │ │ │ ├── values-pl/ │ │ │ │ │ │ │ │ │ └── values-pl.xml │ │ │ │ │ │ │ │ ├── values-port/ │ │ │ │ │ │ │ │ │ └── values-port.xml │ │ │ │ │ │ │ │ ├── values-pt/ │ │ │ │ │ │ │ │ │ └── values-pt.xml │ │ │ │ │ │ │ │ ├── values-pt-rPT/ │ │ │ │ │ │ │ │ │ └── values-pt-rPT.xml │ │ │ │ │ │ │ │ ├── values-ro/ │ │ │ │ │ │ │ │ │ └── values-ro.xml │ │ │ │ │ │ │ │ ├── values-ru/ │ │ │ │ │ │ │ │ │ └── values-ru.xml │ │ │ │ │ │ │ │ ├── values-si-rLK/ │ │ │ │ │ │ │ │ │ └── values-si-rLK.xml │ │ │ │ │ │ │ │ ├── values-sk/ │ │ │ │ │ │ │ │ │ └── values-sk.xml │ │ │ │ │ │ │ │ ├── values-sl/ │ │ │ │ │ │ │ │ │ └── values-sl.xml │ │ │ │ │ │ │ │ ├── values-sq-rAL/ │ │ │ │ │ │ │ │ │ └── values-sq-rAL.xml │ │ │ │ │ │ │ │ ├── values-sr/ │ │ │ │ │ │ │ │ │ └── values-sr.xml │ │ │ │ │ │ │ │ ├── values-sv/ │ │ │ │ │ │ │ │ │ └── values-sv.xml │ │ │ │ │ │ │ │ ├── values-sw/ │ │ │ │ │ │ │ │ │ └── values-sw.xml │ │ │ │ │ │ │ │ ├── values-sw600dp/ │ │ │ │ │ │ │ │ │ └── values-sw600dp.xml │ │ │ │ │ │ │ │ ├── values-ta-rIN/ │ │ │ │ │ │ │ │ │ └── values-ta-rIN.xml │ │ │ │ │ │ │ │ ├── values-te-rIN/ │ │ │ │ │ │ │ │ │ └── values-te-rIN.xml │ │ │ │ │ │ │ │ ├── values-th/ │ │ │ │ │ │ │ │ │ └── values-th.xml │ │ │ │ │ │ │ │ ├── values-tl/ │ │ │ │ │ │ │ │ │ └── values-tl.xml │ │ │ │ │ │ │ │ ├── values-tr/ │ │ │ │ │ │ │ │ │ └── values-tr.xml │ │ │ │ │ │ │ │ ├── values-uk/ │ │ │ │ │ │ │ │ │ └── values-uk.xml │ │ │ │ │ │ │ │ ├── values-ur-rPK/ │ │ │ │ │ │ │ │ │ └── values-ur-rPK.xml │ │ │ │ │ │ │ │ ├── values-uz-rUZ/ │ │ │ │ │ │ │ │ │ └── values-uz-rUZ.xml │ │ │ │ │ │ │ │ ├── values-v11/ │ │ │ │ │ │ │ │ │ └── values-v11.xml │ │ │ │ │ │ │ │ ├── values-v12/ │ │ │ │ │ │ │ │ │ └── values-v12.xml │ │ │ │ │ │ │ │ ├── values-v14/ │ │ │ │ │ │ │ │ │ └── values-v14.xml │ │ │ │ │ │ │ │ ├── values-v17/ │ │ │ │ │ │ │ │ │ └── values-v17.xml │ │ │ │ │ │ │ │ ├── values-v18/ │ │ │ │ │ │ │ │ │ └── values-v18.xml │ │ │ │ │ │ │ │ ├── values-v21/ │ │ │ │ │ │ │ │ │ └── values-v21.xml │ │ │ │ │ │ │ │ ├── values-v22/ │ │ │ │ │ │ │ │ │ └── values-v22.xml │ │ │ │ │ │ │ │ ├── values-v23/ │ │ │ │ │ │ │ │ │ └── values-v23.xml │ │ │ │ │ │ │ │ ├── values-vi/ │ │ │ │ │ │ │ │ │ └── values-vi.xml │ │ │ │ │ │ │ │ ├── values-w360dp/ │ │ │ │ │ │ │ │ │ └── values-w360dp.xml │ │ │ │ │ │ │ │ ├── values-w480dp/ │ │ │ │ │ │ │ │ │ └── values-w480dp.xml │ │ │ │ │ │ │ │ ├── values-w500dp/ │ │ │ │ │ │ │ │ │ └── values-w500dp.xml │ │ │ │ │ │ │ │ ├── values-w600dp/ │ │ │ │ │ │ │ │ │ └── values-w600dp.xml │ │ │ │ │ │ │ │ ├── values-w720dp/ │ │ │ │ │ │ │ │ │ └── values-w720dp.xml │ │ │ │ │ │ │ │ ├── values-xlarge/ │ │ │ │ │ │ │ │ │ └── values-xlarge.xml │ │ │ │ │ │ │ │ ├── values-xlarge-land/ │ │ │ │ │ │ │ │ │ └── values-xlarge-land.xml │ │ │ │ │ │ │ │ ├── values-zh-rCN/ │ │ │ │ │ │ │ │ │ └── values-zh-rCN.xml │ │ │ │ │ │ │ │ ├── values-zh-rHK/ │ │ │ │ │ │ │ │ │ └── values-zh-rHK.xml │ │ │ │ │ │ │ │ ├── values-zh-rTW/ │ │ │ │ │ │ │ │ │ └── values-zh-rTW.xml │ │ │ │ │ │ │ │ └── values-zu/ │ │ │ │ │ │ │ │ └── values-zu.xml │ │ │ │ │ │ │ ├── recyclerview-v7/ │ │ │ │ │ │ │ │ └── 23.0.1/ │ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── R.txt │ │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── jars/ │ │ │ │ │ │ │ │ │ └── classes.jar │ │ │ │ │ │ │ │ └── res/ │ │ │ │ │ │ │ │ └── values/ │ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ │ └── support-v4/ │ │ │ │ │ │ │ └── 23.0.1/ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ ├── aidl/ │ │ │ │ │ │ │ │ └── android/ │ │ │ │ │ │ │ │ └── support/ │ │ │ │ │ │ │ │ └── v4/ │ │ │ │ │ │ │ │ └── media/ │ │ │ │ │ │ │ │ ├── MediaMetadataCompat.aidl │ │ │ │ │ │ │ │ ├── RatingCompat.aidl │ │ │ │ │ │ │ │ └── session/ │ │ │ │ │ │ │ │ ├── MediaSessionCompat.aidl │ │ │ │ │ │ │ │ ├── ParcelableVolumeInfo.aidl │ │ │ │ │ │ │ │ └── PlaybackStateCompat.aidl │ │ │ │ │ │ │ └── jars/ │ │ │ │ │ │ │ ├── classes.jar │ │ │ │ │ │ │ └── libs/ │ │ │ │ │ │ │ └── internal_impl-23.0.1.jar │ │ │ │ │ │ ├── com.facebook.fresco/ │ │ │ │ │ │ │ ├── drawee/ │ │ │ │ │ │ │ │ └── 0.8.1/ │ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── R.txt │ │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── jars/ │ │ │ │ │ │ │ │ │ └── classes.jar │ │ │ │ │ │ │ │ └── res/ │ │ │ │ │ │ │ │ └── values/ │ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ │ ├── fbcore/ │ │ │ │ │ │ │ │ └── 0.8.1/ │ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ │ └── jars/ │ │ │ │ │ │ │ │ └── classes.jar │ │ │ │ │ │ │ ├── fresco/ │ │ │ │ │ │ │ │ └── 0.8.1/ │ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── R.txt │ │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ │ └── jars/ │ │ │ │ │ │ │ │ └── classes.jar │ │ │ │ │ │ │ ├── imagepipeline/ │ │ │ │ │ │ │ │ └── 0.8.1/ │ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ │ └── jars/ │ │ │ │ │ │ │ │ └── classes.jar │ │ │ │ │ │ │ └── imagepipeline-okhttp/ │ │ │ │ │ │ │ └── 0.8.1/ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ └── jars/ │ │ │ │ │ │ │ └── classes.jar │ │ │ │ │ │ ├── com.facebook.react/ │ │ │ │ │ │ │ └── react-native/ │ │ │ │ │ │ │ └── 0.25.1/ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ ├── R.txt │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ ├── jars/ │ │ │ │ │ │ │ │ ├── classes.jar │ │ │ │ │ │ │ │ └── libs/ │ │ │ │ │ │ │ │ └── infer-annotations-1.5.jar │ │ │ │ │ │ │ └── res/ │ │ │ │ │ │ │ ├── anim/ │ │ │ │ │ │ │ │ ├── catalyst_push_up_in.xml │ │ │ │ │ │ │ │ ├── catalyst_push_up_out.xml │ │ │ │ │ │ │ │ ├── slide_down.xml │ │ │ │ │ │ │ │ └── slide_up.xml │ │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ │ ├── fps_view.xml │ │ │ │ │ │ │ │ ├── redbox_item_frame.xml │ │ │ │ │ │ │ │ ├── redbox_item_title.xml │ │ │ │ │ │ │ │ └── redbox_view.xml │ │ │ │ │ │ │ ├── values/ │ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ │ ├── values-cs/ │ │ │ │ │ │ │ │ └── values-cs.xml │ │ │ │ │ │ │ ├── values-da/ │ │ │ │ │ │ │ │ └── values-da.xml │ │ │ │ │ │ │ ├── values-de/ │ │ │ │ │ │ │ │ └── values-de.xml │ │ │ │ │ │ │ ├── values-el/ │ │ │ │ │ │ │ │ └── values-el.xml │ │ │ │ │ │ │ ├── values-en-rGB/ │ │ │ │ │ │ │ │ └── values-en-rGB.xml │ │ │ │ │ │ │ ├── values-es/ │ │ │ │ │ │ │ │ └── values-es.xml │ │ │ │ │ │ │ ├── values-es-rES/ │ │ │ │ │ │ │ │ └── values-es-rES.xml │ │ │ │ │ │ │ ├── values-fb/ │ │ │ │ │ │ │ │ └── values-fb.xml │ │ │ │ │ │ │ ├── values-fb-rLL/ │ │ │ │ │ │ │ │ └── values-fb-rLL.xml │ │ │ │ │ │ │ ├── values-fi/ │ │ │ │ │ │ │ │ └── values-fi.xml │ │ │ │ │ │ │ ├── values-fr/ │ │ │ │ │ │ │ │ └── values-fr.xml │ │ │ │ │ │ │ ├── values-hu/ │ │ │ │ │ │ │ │ └── values-hu.xml │ │ │ │ │ │ │ ├── values-in/ │ │ │ │ │ │ │ │ └── values-in.xml │ │ │ │ │ │ │ ├── values-it/ │ │ │ │ │ │ │ │ └── values-it.xml │ │ │ │ │ │ │ ├── values-ja/ │ │ │ │ │ │ │ │ └── values-ja.xml │ │ │ │ │ │ │ ├── values-ko/ │ │ │ │ │ │ │ │ └── values-ko.xml │ │ │ │ │ │ │ ├── values-nb/ │ │ │ │ │ │ │ │ └── values-nb.xml │ │ │ │ │ │ │ ├── values-nl/ │ │ │ │ │ │ │ │ └── values-nl.xml │ │ │ │ │ │ │ ├── values-pl/ │ │ │ │ │ │ │ │ └── values-pl.xml │ │ │ │ │ │ │ ├── values-pt/ │ │ │ │ │ │ │ │ └── values-pt.xml │ │ │ │ │ │ │ ├── values-pt-rPT/ │ │ │ │ │ │ │ │ └── values-pt-rPT.xml │ │ │ │ │ │ │ ├── values-ro/ │ │ │ │ │ │ │ │ └── values-ro.xml │ │ │ │ │ │ │ ├── values-ru/ │ │ │ │ │ │ │ │ └── values-ru.xml │ │ │ │ │ │ │ ├── values-sv/ │ │ │ │ │ │ │ │ └── values-sv.xml │ │ │ │ │ │ │ ├── values-th/ │ │ │ │ │ │ │ │ └── values-th.xml │ │ │ │ │ │ │ ├── values-tr/ │ │ │ │ │ │ │ │ └── values-tr.xml │ │ │ │ │ │ │ ├── values-vi/ │ │ │ │ │ │ │ │ └── values-vi.xml │ │ │ │ │ │ │ ├── values-zh-rCN/ │ │ │ │ │ │ │ │ └── values-zh-rCN.xml │ │ │ │ │ │ │ ├── values-zh-rHK/ │ │ │ │ │ │ │ │ └── values-zh-rHK.xml │ │ │ │ │ │ │ ├── values-zh-rTW/ │ │ │ │ │ │ │ │ └── values-zh-rTW.xml │ │ │ │ │ │ │ └── xml/ │ │ │ │ │ │ │ └── preferences.xml │ │ │ │ │ │ └── org.webkit/ │ │ │ │ │ │ └── android-jsc/ │ │ │ │ │ │ └── r174650/ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ ├── R.txt │ │ │ │ │ │ └── jars/ │ │ │ │ │ │ └── classes.jar │ │ │ │ │ ├── incremental/ │ │ │ │ │ │ ├── compileDebugAidl/ │ │ │ │ │ │ │ └── dependency.store │ │ │ │ │ │ ├── compileDebugAndroidTestAidl/ │ │ │ │ │ │ │ └── dependency.store │ │ │ │ │ │ ├── mergeDebugAndroidTestAssets/ │ │ │ │ │ │ │ └── merger.xml │ │ │ │ │ │ ├── mergeDebugAndroidTestResources/ │ │ │ │ │ │ │ └── merger.xml │ │ │ │ │ │ ├── mergeDebugAndroidTestShaders/ │ │ │ │ │ │ │ └── merger.xml │ │ │ │ │ │ ├── mergeDebugAssets/ │ │ │ │ │ │ │ └── merger.xml │ │ │ │ │ │ ├── mergeDebugJniLibFolders/ │ │ │ │ │ │ │ └── merger.xml │ │ │ │ │ │ ├── mergeDebugResources/ │ │ │ │ │ │ │ └── merger.xml │ │ │ │ │ │ └── mergeDebugShaders/ │ │ │ │ │ │ └── merger.xml │ │ │ │ │ ├── incremental-classes/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── instant-run-bootstrap.jar │ │ │ │ │ ├── incremental-runtime-classes/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── instant-run.jar │ │ │ │ │ ├── incremental-safeguard/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── tag.txt │ │ │ │ │ ├── instant-run-support/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ ├── coldswap.marker │ │ │ │ │ │ ├── manifest.crc │ │ │ │ │ │ ├── package.marker │ │ │ │ │ │ └── reload-changes.txt │ │ │ │ │ ├── manifest/ │ │ │ │ │ │ └── androidTest/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ ├── manifests/ │ │ │ │ │ │ └── full/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ ├── pre-dexed/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ ├── bolts-android-1.1.4_fb2ef908664780f7970a0a2ea2d5306c8ad32f0c.jar │ │ │ │ │ │ ├── com.android.support-appcompat-v7-23.0.1_f800e2b713c828b13680dbb671f61be9deab034f.jar │ │ │ │ │ │ ├── com.android.support-recyclerview-v7-23.0.1_60b71e9ddd869714173c3dca11c627769f0a2602.jar │ │ │ │ │ │ ├── com.android.support-support-v4-23.0.1_2a5f3fe7063081651ad10c0ea6bf09ec0e34e36e.jar │ │ │ │ │ │ ├── com.facebook.fresco-drawee-0.8.1_76bd6a0a60777b14928e8f9b8c8dce6b7790b595.jar │ │ │ │ │ │ ├── com.facebook.fresco-fbcore-0.8.1_aa46fcae74de53283e8b84d3926422bf7e0b2225.jar │ │ │ │ │ │ ├── com.facebook.fresco-fresco-0.8.1_e578775fef6281dd4db34f100c1b35ad88023974.jar │ │ │ │ │ │ ├── com.facebook.fresco-imagepipeline-0.8.1_2bb754490923e1a1710bfda2224900cd6cfcb514.jar │ │ │ │ │ │ ├── com.facebook.fresco-imagepipeline-okhttp-0.8.1_e9525dbe2afa0e37017b1de9c93f8e3adf113e65.jar │ │ │ │ │ │ ├── com.facebook.react-react-native-0.25.1_a4c965af696b0d497cad1c617bc3048049e781bd.jar │ │ │ │ │ │ ├── debug_dc8b52ad976490b11357b2b6ad05900b63aae581.jar │ │ │ │ │ │ ├── infer-annotations-1.5_ef6558ec5088d804ce4e1d1436a794281c9f9b97.jar │ │ │ │ │ │ ├── internal_impl-23.0.1_c9b7ed419ee0ee3adca548b5fdd2238adabf646a.jar │ │ │ │ │ │ ├── jackson-core-2.2.3_febb2d9f7b17021a9b534a8518ab0746e7492965.jar │ │ │ │ │ │ ├── jsr305-3.0.0_664629feb56059e87a0ac94028a110a5adf4b82e.jar │ │ │ │ │ │ ├── library-2.4.0_2e895b029afd3db1ee80606d825a44c8da240723.jar │ │ │ │ │ │ ├── okhttp-2.5.0_0de7ae9f4e9e893cb96e9911b0ef3952a548d593.jar │ │ │ │ │ │ ├── okhttp-ws-2.5.0_94c1fb27b737572025dff4485d00d332eedc9d27.jar │ │ │ │ │ │ ├── okio-1.6.0_17e3e4b819501de4be07d0c9a6509136a11cea0d.jar │ │ │ │ │ │ └── support-annotations-23.0.1_242ddec72e7f087322db0f0e58021c8bac52ac52.jar │ │ │ │ │ ├── res/ │ │ │ │ │ │ ├── merged/ │ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ │ ├── anim/ │ │ │ │ │ │ │ │ ├── abc_fade_in.xml │ │ │ │ │ │ │ │ ├── abc_fade_out.xml │ │ │ │ │ │ │ │ ├── abc_grow_fade_in_from_bottom.xml │ │ │ │ │ │ │ │ ├── abc_popup_enter.xml │ │ │ │ │ │ │ │ ├── abc_popup_exit.xml │ │ │ │ │ │ │ │ ├── abc_shrink_fade_out_from_bottom.xml │ │ │ │ │ │ │ │ ├── abc_slide_in_bottom.xml │ │ │ │ │ │ │ │ ├── abc_slide_in_top.xml │ │ │ │ │ │ │ │ ├── abc_slide_out_bottom.xml │ │ │ │ │ │ │ │ ├── abc_slide_out_top.xml │ │ │ │ │ │ │ │ ├── catalyst_push_up_in.xml │ │ │ │ │ │ │ │ ├── catalyst_push_up_out.xml │ │ │ │ │ │ │ │ ├── slide_down.xml │ │ │ │ │ │ │ │ └── slide_up.xml │ │ │ │ │ │ │ ├── color/ │ │ │ │ │ │ │ │ ├── abc_primary_text_disable_only_material_dark.xml │ │ │ │ │ │ │ │ ├── abc_primary_text_disable_only_material_light.xml │ │ │ │ │ │ │ │ ├── abc_primary_text_material_dark.xml │ │ │ │ │ │ │ │ ├── abc_primary_text_material_light.xml │ │ │ │ │ │ │ │ ├── abc_search_url_text.xml │ │ │ │ │ │ │ │ ├── abc_secondary_text_material_dark.xml │ │ │ │ │ │ │ │ ├── abc_secondary_text_material_light.xml │ │ │ │ │ │ │ │ ├── switch_thumb_material_dark.xml │ │ │ │ │ │ │ │ └── switch_thumb_material_light.xml │ │ │ │ │ │ │ ├── color-v11/ │ │ │ │ │ │ │ │ ├── abc_background_cache_hint_selector_material_dark.xml │ │ │ │ │ │ │ │ └── abc_background_cache_hint_selector_material_light.xml │ │ │ │ │ │ │ ├── color-v23/ │ │ │ │ │ │ │ │ └── abc_color_highlight_material.xml │ │ │ │ │ │ │ ├── drawable/ │ │ │ │ │ │ │ │ ├── abc_btn_borderless_material.xml │ │ │ │ │ │ │ │ ├── abc_btn_check_material.xml │ │ │ │ │ │ │ │ ├── abc_btn_colored_material.xml │ │ │ │ │ │ │ │ ├── abc_btn_default_mtrl_shape.xml │ │ │ │ │ │ │ │ ├── abc_btn_radio_material.xml │ │ │ │ │ │ │ │ ├── abc_cab_background_internal_bg.xml │ │ │ │ │ │ │ │ ├── abc_cab_background_top_material.xml │ │ │ │ │ │ │ │ ├── abc_dialog_material_background_dark.xml │ │ │ │ │ │ │ │ ├── abc_dialog_material_background_light.xml │ │ │ │ │ │ │ │ ├── abc_edit_text_material.xml │ │ │ │ │ │ │ │ ├── abc_item_background_holo_dark.xml │ │ │ │ │ │ │ │ ├── abc_item_background_holo_light.xml │ │ │ │ │ │ │ │ ├── abc_list_selector_background_transition_holo_dark.xml │ │ │ │ │ │ │ │ ├── abc_list_selector_background_transition_holo_light.xml │ │ │ │ │ │ │ │ ├── abc_list_selector_holo_dark.xml │ │ │ │ │ │ │ │ ├── abc_list_selector_holo_light.xml │ │ │ │ │ │ │ │ ├── abc_ratingbar_full_material.xml │ │ │ │ │ │ │ │ ├── abc_spinner_textfield_background_material.xml │ │ │ │ │ │ │ │ ├── abc_switch_thumb_material.xml │ │ │ │ │ │ │ │ ├── abc_tab_indicator_material.xml │ │ │ │ │ │ │ │ ├── abc_text_cursor_material.xml │ │ │ │ │ │ │ │ └── abc_textfield_search_material.xml │ │ │ │ │ │ │ ├── drawable-v21/ │ │ │ │ │ │ │ │ ├── abc_action_bar_item_background_material.xml │ │ │ │ │ │ │ │ └── abc_btn_colored_material.xml │ │ │ │ │ │ │ ├── drawable-v23/ │ │ │ │ │ │ │ │ └── abc_control_background_material.xml │ │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ │ ├── abc_action_bar_title_item.xml │ │ │ │ │ │ │ │ ├── abc_action_bar_up_container.xml │ │ │ │ │ │ │ │ ├── abc_action_bar_view_list_nav_layout.xml │ │ │ │ │ │ │ │ ├── abc_action_menu_item_layout.xml │ │ │ │ │ │ │ │ ├── abc_action_menu_layout.xml │ │ │ │ │ │ │ │ ├── abc_action_mode_bar.xml │ │ │ │ │ │ │ │ ├── abc_action_mode_close_item_material.xml │ │ │ │ │ │ │ │ ├── abc_activity_chooser_view.xml │ │ │ │ │ │ │ │ ├── abc_activity_chooser_view_list_item.xml │ │ │ │ │ │ │ │ ├── abc_alert_dialog_material.xml │ │ │ │ │ │ │ │ ├── abc_dialog_title_material.xml │ │ │ │ │ │ │ │ ├── abc_expanded_menu_layout.xml │ │ │ │ │ │ │ │ ├── abc_list_menu_item_checkbox.xml │ │ │ │ │ │ │ │ ├── abc_list_menu_item_icon.xml │ │ │ │ │ │ │ │ ├── abc_list_menu_item_layout.xml │ │ │ │ │ │ │ │ ├── abc_list_menu_item_radio.xml │ │ │ │ │ │ │ │ ├── abc_popup_menu_item_layout.xml │ │ │ │ │ │ │ │ ├── abc_screen_content_include.xml │ │ │ │ │ │ │ │ ├── abc_screen_simple.xml │ │ │ │ │ │ │ │ ├── abc_screen_simple_overlay_action_mode.xml │ │ │ │ │ │ │ │ ├── abc_screen_toolbar.xml │ │ │ │ │ │ │ │ ├── abc_search_dropdown_item_icons_2line.xml │ │ │ │ │ │ │ │ ├── abc_search_view.xml │ │ │ │ │ │ │ │ ├── abc_select_dialog_material.xml │ │ │ │ │ │ │ │ ├── fps_view.xml │ │ │ │ │ │ │ │ ├── notification_media_action.xml │ │ │ │ │ │ │ │ ├── notification_media_cancel_action.xml │ │ │ │ │ │ │ │ ├── notification_template_big_media.xml │ │ │ │ │ │ │ │ ├── notification_template_big_media_narrow.xml │ │ │ │ │ │ │ │ ├── notification_template_lines.xml │ │ │ │ │ │ │ │ ├── notification_template_media.xml │ │ │ │ │ │ │ │ ├── notification_template_part_chronometer.xml │ │ │ │ │ │ │ │ ├── notification_template_part_time.xml │ │ │ │ │ │ │ │ ├── redbox_item_frame.xml │ │ │ │ │ │ │ │ ├── redbox_item_title.xml │ │ │ │ │ │ │ │ ├── redbox_view.xml │ │ │ │ │ │ │ │ ├── select_dialog_item_material.xml │ │ │ │ │ │ │ │ ├── select_dialog_multichoice_material.xml │ │ │ │ │ │ │ │ ├── select_dialog_singlechoice_material.xml │ │ │ │ │ │ │ │ └── support_simple_spinner_dropdown_item.xml │ │ │ │ │ │ │ ├── values/ │ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ │ ├── values-af/ │ │ │ │ │ │ │ │ └── values-af.xml │ │ │ │ │ │ │ ├── values-am/ │ │ │ │ │ │ │ │ └── values-am.xml │ │ │ │ │ │ │ ├── values-ar/ │ │ │ │ │ │ │ │ └── values-ar.xml │ │ │ │ │ │ │ ├── values-az-rAZ/ │ │ │ │ │ │ │ │ └── values-az-rAZ.xml │ │ │ │ │ │ │ ├── values-bg/ │ │ │ │ │ │ │ │ └── values-bg.xml │ │ │ │ │ │ │ ├── values-bn-rBD/ │ │ │ │ │ │ │ │ └── values-bn-rBD.xml │ │ │ │ │ │ │ ├── values-ca/ │ │ │ │ │ │ │ │ └── values-ca.xml │ │ │ │ │ │ │ ├── values-cs/ │ │ │ │ │ │ │ │ └── values-cs.xml │ │ │ │ │ │ │ ├── values-da/ │ │ │ │ │ │ │ │ └── values-da.xml │ │ │ │ │ │ │ ├── values-de/ │ │ │ │ │ │ │ │ └── values-de.xml │ │ │ │ │ │ │ ├── values-el/ │ │ │ │ │ │ │ │ └── values-el.xml │ │ │ │ │ │ │ ├── values-en-rAU/ │ │ │ │ │ │ │ │ └── values-en-rAU.xml │ │ │ │ │ │ │ ├── values-en-rGB/ │ │ │ │ │ │ │ │ └── values-en-rGB.xml │ │ │ │ │ │ │ ├── values-en-rIN/ │ │ │ │ │ │ │ │ └── values-en-rIN.xml │ │ │ │ │ │ │ ├── values-es/ │ │ │ │ │ │ │ │ └── values-es.xml │ │ │ │ │ │ │ ├── values-es-rES/ │ │ │ │ │ │ │ │ └── values-es-rES.xml │ │ │ │ │ │ │ ├── values-es-rUS/ │ │ │ │ │ │ │ │ └── values-es-rUS.xml │ │ │ │ │ │ │ ├── values-et-rEE/ │ │ │ │ │ │ │ │ └── values-et-rEE.xml │ │ │ │ │ │ │ ├── values-eu-rES/ │ │ │ │ │ │ │ │ └── values-eu-rES.xml │ │ │ │ │ │ │ ├── values-fa/ │ │ │ │ │ │ │ │ └── values-fa.xml │ │ │ │ │ │ │ ├── values-fb/ │ │ │ │ │ │ │ │ └── values-fb.xml │ │ │ │ │ │ │ ├── values-fb-rLL/ │ │ │ │ │ │ │ │ └── values-fb-rLL.xml │ │ │ │ │ │ │ ├── values-fi/ │ │ │ │ │ │ │ │ └── values-fi.xml │ │ │ │ │ │ │ ├── values-fr/ │ │ │ │ │ │ │ │ └── values-fr.xml │ │ │ │ │ │ │ ├── values-fr-rCA/ │ │ │ │ │ │ │ │ └── values-fr-rCA.xml │ │ │ │ │ │ │ ├── values-gl-rES/ │ │ │ │ │ │ │ │ └── values-gl-rES.xml │ │ │ │ │ │ │ ├── values-gu-rIN/ │ │ │ │ │ │ │ │ └── values-gu-rIN.xml │ │ │ │ │ │ │ ├── values-h720dp-v13/ │ │ │ │ │ │ │ │ └── values-h720dp-v13.xml │ │ │ │ │ │ │ ├── values-hdpi-v4/ │ │ │ │ │ │ │ │ └── values-hdpi-v4.xml │ │ │ │ │ │ │ ├── values-hi/ │ │ │ │ │ │ │ │ └── values-hi.xml │ │ │ │ │ │ │ ├── values-hr/ │ │ │ │ │ │ │ │ └── values-hr.xml │ │ │ │ │ │ │ ├── values-hu/ │ │ │ │ │ │ │ │ └── values-hu.xml │ │ │ │ │ │ │ ├── values-hy-rAM/ │ │ │ │ │ │ │ │ └── values-hy-rAM.xml │ │ │ │ │ │ │ ├── values-in/ │ │ │ │ │ │ │ │ └── values-in.xml │ │ │ │ │ │ │ ├── values-is-rIS/ │ │ │ │ │ │ │ │ └── values-is-rIS.xml │ │ │ │ │ │ │ ├── values-it/ │ │ │ │ │ │ │ │ └── values-it.xml │ │ │ │ │ │ │ ├── values-iw/ │ │ │ │ │ │ │ │ └── values-iw.xml │ │ │ │ │ │ │ ├── values-ja/ │ │ │ │ │ │ │ │ └── values-ja.xml │ │ │ │ │ │ │ ├── values-ka-rGE/ │ │ │ │ │ │ │ │ └── values-ka-rGE.xml │ │ │ │ │ │ │ ├── values-kk-rKZ/ │ │ │ │ │ │ │ │ └── values-kk-rKZ.xml │ │ │ │ │ │ │ ├── values-km-rKH/ │ │ │ │ │ │ │ │ └── values-km-rKH.xml │ │ │ │ │ │ │ ├── values-kn-rIN/ │ │ │ │ │ │ │ │ └── values-kn-rIN.xml │ │ │ │ │ │ │ ├── values-ko/ │ │ │ │ │ │ │ │ └── values-ko.xml │ │ │ │ │ │ │ ├── values-ky-rKG/ │ │ │ │ │ │ │ │ └── values-ky-rKG.xml │ │ │ │ │ │ │ ├── values-land/ │ │ │ │ │ │ │ │ └── values-land.xml │ │ │ │ │ │ │ ├── values-large-v4/ │ │ │ │ │ │ │ │ └── values-large-v4.xml │ │ │ │ │ │ │ ├── values-lo-rLA/ │ │ │ │ │ │ │ │ └── values-lo-rLA.xml │ │ │ │ │ │ │ ├── values-lt/ │ │ │ │ │ │ │ │ └── values-lt.xml │ │ │ │ │ │ │ ├── values-lv/ │ │ │ │ │ │ │ │ └── values-lv.xml │ │ │ │ │ │ │ ├── values-mk-rMK/ │ │ │ │ │ │ │ │ └── values-mk-rMK.xml │ │ │ │ │ │ │ ├── values-ml-rIN/ │ │ │ │ │ │ │ │ └── values-ml-rIN.xml │ │ │ │ │ │ │ ├── values-mn-rMN/ │ │ │ │ │ │ │ │ └── values-mn-rMN.xml │ │ │ │ │ │ │ ├── values-mr-rIN/ │ │ │ │ │ │ │ │ └── values-mr-rIN.xml │ │ │ │ │ │ │ ├── values-ms-rMY/ │ │ │ │ │ │ │ │ └── values-ms-rMY.xml │ │ │ │ │ │ │ ├── values-my-rMM/ │ │ │ │ │ │ │ │ └── values-my-rMM.xml │ │ │ │ │ │ │ ├── values-nb/ │ │ │ │ │ │ │ │ └── values-nb.xml │ │ │ │ │ │ │ ├── values-ne-rNP/ │ │ │ │ │ │ │ │ └── values-ne-rNP.xml │ │ │ │ │ │ │ ├── values-nl/ │ │ │ │ │ │ │ │ └── values-nl.xml │ │ │ │ │ │ │ ├── values-pa-rIN/ │ │ │ │ │ │ │ │ └── values-pa-rIN.xml │ │ │ │ │ │ │ ├── values-pl/ │ │ │ │ │ │ │ │ └── values-pl.xml │ │ │ │ │ │ │ ├── values-port/ │ │ │ │ │ │ │ │ └── values-port.xml │ │ │ │ │ │ │ ├── values-pt/ │ │ │ │ │ │ │ │ └── values-pt.xml │ │ │ │ │ │ │ ├── values-pt-rPT/ │ │ │ │ │ │ │ │ └── values-pt-rPT.xml │ │ │ │ │ │ │ ├── values-ro/ │ │ │ │ │ │ │ │ └── values-ro.xml │ │ │ │ │ │ │ ├── values-ru/ │ │ │ │ │ │ │ │ └── values-ru.xml │ │ │ │ │ │ │ ├── values-si-rLK/ │ │ │ │ │ │ │ │ └── values-si-rLK.xml │ │ │ │ │ │ │ ├── values-sk/ │ │ │ │ │ │ │ │ └── values-sk.xml │ │ │ │ │ │ │ ├── values-sl/ │ │ │ │ │ │ │ │ └── values-sl.xml │ │ │ │ │ │ │ ├── values-sq-rAL/ │ │ │ │ │ │ │ │ └── values-sq-rAL.xml │ │ │ │ │ │ │ ├── values-sr/ │ │ │ │ │ │ │ │ └── values-sr.xml │ │ │ │ │ │ │ ├── values-sv/ │ │ │ │ │ │ │ │ └── values-sv.xml │ │ │ │ │ │ │ ├── values-sw/ │ │ │ │ │ │ │ │ └── values-sw.xml │ │ │ │ │ │ │ ├── values-sw600dp-v13/ │ │ │ │ │ │ │ │ └── values-sw600dp-v13.xml │ │ │ │ │ │ │ ├── values-ta-rIN/ │ │ │ │ │ │ │ │ └── values-ta-rIN.xml │ │ │ │ │ │ │ ├── values-te-rIN/ │ │ │ │ │ │ │ │ └── values-te-rIN.xml │ │ │ │ │ │ │ ├── values-th/ │ │ │ │ │ │ │ │ └── values-th.xml │ │ │ │ │ │ │ ├── values-tl/ │ │ │ │ │ │ │ │ └── values-tl.xml │ │ │ │ │ │ │ ├── values-tr/ │ │ │ │ │ │ │ │ └── values-tr.xml │ │ │ │ │ │ │ ├── values-uk/ │ │ │ │ │ │ │ │ └── values-uk.xml │ │ │ │ │ │ │ ├── values-ur-rPK/ │ │ │ │ │ │ │ │ └── values-ur-rPK.xml │ │ │ │ │ │ │ ├── values-uz-rUZ/ │ │ │ │ │ │ │ │ └── values-uz-rUZ.xml │ │ │ │ │ │ │ ├── values-v11/ │ │ │ │ │ │ │ │ └── values-v11.xml │ │ │ │ │ │ │ ├── values-v12/ │ │ │ │ │ │ │ │ └── values-v12.xml │ │ │ │ │ │ │ ├── values-v14/ │ │ │ │ │ │ │ │ └── values-v14.xml │ │ │ │ │ │ │ ├── values-v17/ │ │ │ │ │ │ │ │ └── values-v17.xml │ │ │ │ │ │ │ ├── values-v18/ │ │ │ │ │ │ │ │ └── values-v18.xml │ │ │ │ │ │ │ ├── values-v21/ │ │ │ │ │ │ │ │ └── values-v21.xml │ │ │ │ │ │ │ ├── values-v22/ │ │ │ │ │ │ │ │ └── values-v22.xml │ │ │ │ │ │ │ ├── values-v23/ │ │ │ │ │ │ │ │ └── values-v23.xml │ │ │ │ │ │ │ ├── values-vi/ │ │ │ │ │ │ │ │ └── values-vi.xml │ │ │ │ │ │ │ ├── values-w360dp-v13/ │ │ │ │ │ │ │ │ └── values-w360dp-v13.xml │ │ │ │ │ │ │ ├── values-w480dp-v13/ │ │ │ │ │ │ │ │ └── values-w480dp-v13.xml │ │ │ │ │ │ │ ├── values-w500dp-v13/ │ │ │ │ │ │ │ │ └── values-w500dp-v13.xml │ │ │ │ │ │ │ ├── values-w600dp-v13/ │ │ │ │ │ │ │ │ └── values-w600dp-v13.xml │ │ │ │ │ │ │ ├── values-w720dp-v13/ │ │ │ │ │ │ │ │ └── values-w720dp-v13.xml │ │ │ │ │ │ │ ├── values-xlarge-land-v4/ │ │ │ │ │ │ │ │ └── values-xlarge-land-v4.xml │ │ │ │ │ │ │ ├── values-xlarge-v4/ │ │ │ │ │ │ │ │ └── values-xlarge-v4.xml │ │ │ │ │ │ │ ├── values-zh-rCN/ │ │ │ │ │ │ │ │ └── values-zh-rCN.xml │ │ │ │ │ │ │ ├── values-zh-rHK/ │ │ │ │ │ │ │ │ └── values-zh-rHK.xml │ │ │ │ │ │ │ ├── values-zh-rTW/ │ │ │ │ │ │ │ │ └── values-zh-rTW.xml │ │ │ │ │ │ │ ├── values-zu/ │ │ │ │ │ │ │ │ └── values-zu.xml │ │ │ │ │ │ │ └── xml/ │ │ │ │ │ │ │ └── preferences.xml │ │ │ │ │ │ ├── resources-debug-androidTest.ap_ │ │ │ │ │ │ └── resources-debug.ap_ │ │ │ │ │ ├── restart-dex/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── build-info.xml │ │ │ │ │ ├── symbols/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── R.txt │ │ │ │ │ └── transforms/ │ │ │ │ │ ├── dex/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── folders/ │ │ │ │ │ │ └── 1000/ │ │ │ │ │ │ └── 1f/ │ │ │ │ │ │ └── main/ │ │ │ │ │ │ └── classes.dex │ │ │ │ │ └── mergeJavaRes/ │ │ │ │ │ └── debug/ │ │ │ │ │ └── jars/ │ │ │ │ │ └── 2/ │ │ │ │ │ └── 1f/ │ │ │ │ │ └── main.jar │ │ │ │ └── outputs/ │ │ │ │ ├── apk/ │ │ │ │ │ ├── app-debug-unaligned.apk │ │ │ │ │ └── app-debug.apk │ │ │ │ └── logs/ │ │ │ │ └── manifest-merger-debug-report.txt │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── thegaze/ │ │ │ │ └── MainActivity.java │ │ │ └── res/ │ │ │ └── values/ │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── build/ │ │ │ ├── generated/ │ │ │ │ └── mockable-android-23.jar │ │ │ └── intermediates/ │ │ │ └── dex-cache/ │ │ │ └── cache.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── keystores/ │ │ │ ├── BUCK │ │ │ └── debug.keystore.properties │ │ ├── local.properties │ │ ├── settings.gradle │ │ └── thegaze.iml │ ├── index.android.js │ ├── index.ios.js │ ├── ios/ │ │ ├── thegaze/ │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.m │ │ │ ├── Base.lproj/ │ │ │ │ └── LaunchScreen.xib │ │ │ ├── Images.xcassets/ │ │ │ │ └── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── Info.plist │ │ │ └── main.m │ │ ├── thegaze.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace/ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcuserdata/ │ │ │ │ └── Harini.xcuserdatad/ │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ ├── xcshareddata/ │ │ │ │ └── xcschemes/ │ │ │ │ └── thegaze.xcscheme │ │ │ └── xcuserdata/ │ │ │ └── Harini.xcuserdatad/ │ │ │ └── xcschemes/ │ │ │ └── xcschememanagement.plist │ │ └── thegazeTests/ │ │ ├── Info.plist │ │ └── thegazeTests.m │ └── package.json ├── Day 010 - React Native App using Facebook SDK/ │ ├── App/ │ │ ├── Components/ │ │ │ ├── Badge.js │ │ │ ├── Dashboard.js │ │ │ ├── Helpers/ │ │ │ │ ├── Separator.js │ │ │ │ └── WebView.js │ │ │ ├── Login.js │ │ │ ├── Main.js │ │ │ ├── MainCopy.js │ │ │ ├── Notes.js │ │ │ ├── Profile.js │ │ │ └── Repositories.js │ │ └── Utils/ │ │ └── api.js │ ├── README.md │ ├── android/ │ │ ├── .gradle/ │ │ │ ├── 2.10/ │ │ │ │ └── taskArtifacts/ │ │ │ │ └── cache.properties │ │ │ └── 2.4/ │ │ │ └── taskArtifacts/ │ │ │ └── cache.properties │ │ ├── .idea/ │ │ │ ├── .name │ │ │ ├── compiler.xml │ │ │ ├── copyright/ │ │ │ │ └── profiles_settings.xml │ │ │ ├── encodings.xml │ │ │ ├── gradle.xml │ │ │ ├── libraries/ │ │ │ │ ├── android_jsc_r174650.xml │ │ │ │ ├── appcompat_v7_23_0_1.xml │ │ │ │ ├── bolts_android_1_1_4.xml │ │ │ │ ├── drawee_0_8_1.xml │ │ │ │ ├── fbcore_0_8_1.xml │ │ │ │ ├── fresco_0_8_1.xml │ │ │ │ ├── imagepipeline_0_8_1.xml │ │ │ │ ├── imagepipeline_okhttp_0_8_1.xml │ │ │ │ ├── jackson_core_2_2_3.xml │ │ │ │ ├── jsr305_3_0_0.xml │ │ │ │ ├── library_2_4_0.xml │ │ │ │ ├── okhttp_2_5_0.xml │ │ │ │ ├── okhttp_ws_2_5_0.xml │ │ │ │ ├── okio_1_6_0.xml │ │ │ │ ├── react_native_0_25_1.xml │ │ │ │ ├── recyclerview_v7_23_0_1.xml │ │ │ │ ├── support_annotations_23_0_1.xml │ │ │ │ └── support_v4_23_0_1.xml │ │ │ ├── misc.xml │ │ │ ├── modules.xml │ │ │ ├── runConfigurations.xml │ │ │ └── workspace.xml │ │ ├── app/ │ │ │ ├── BUCK │ │ │ ├── app.iml │ │ │ ├── build/ │ │ │ │ ├── generated/ │ │ │ │ │ └── source/ │ │ │ │ │ ├── buildConfig/ │ │ │ │ │ │ ├── androidTest/ │ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ │ └── com/ │ │ │ │ │ │ │ └── thegaze/ │ │ │ │ │ │ │ └── test/ │ │ │ │ │ │ │ └── BuildConfig.java │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── com/ │ │ │ │ │ │ └── thegaze/ │ │ │ │ │ │ └── BuildConfig.java │ │ │ │ │ └── r/ │ │ │ │ │ └── debug/ │ │ │ │ │ ├── android/ │ │ │ │ │ │ └── support/ │ │ │ │ │ │ └── v7/ │ │ │ │ │ │ ├── appcompat/ │ │ │ │ │ │ │ └── R.java │ │ │ │ │ │ └── recyclerview/ │ │ │ │ │ │ └── R.java │ │ │ │ │ ├── com/ │ │ │ │ │ │ ├── facebook/ │ │ │ │ │ │ │ ├── drawee/ │ │ │ │ │ │ │ │ ├── R.java │ │ │ │ │ │ │ │ └── backends/ │ │ │ │ │ │ │ │ └── pipeline/ │ │ │ │ │ │ │ │ └── R.java │ │ │ │ │ │ │ └── react/ │ │ │ │ │ │ │ └── R.java │ │ │ │ │ │ └── thegaze/ │ │ │ │ │ │ └── R.java │ │ │ │ │ └── org/ │ │ │ │ │ └── webkit/ │ │ │ │ │ └── android_jsc/ │ │ │ │ │ └── R.java │ │ │ │ ├── intermediates/ │ │ │ │ │ ├── blame/ │ │ │ │ │ │ └── res/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ ├── multi/ │ │ │ │ │ │ │ ├── values-af.json │ │ │ │ │ │ │ ├── values-am.json │ │ │ │ │ │ │ ├── values-ar.json │ │ │ │ │ │ │ ├── values-az-rAZ.json │ │ │ │ │ │ │ ├── values-bg.json │ │ │ │ │ │ │ ├── values-bn-rBD.json │ │ │ │ │ │ │ ├── values-ca.json │ │ │ │ │ │ │ ├── values-cs.json │ │ │ │ │ │ │ ├── values-da.json │ │ │ │ │ │ │ ├── values-de.json │ │ │ │ │ │ │ ├── values-el.json │ │ │ │ │ │ │ ├── values-en-rAU.json │ │ │ │ │ │ │ ├── values-en-rGB.json │ │ │ │ │ │ │ ├── values-en-rIN.json │ │ │ │ │ │ │ ├── values-es-rES.json │ │ │ │ │ │ │ ├── values-es-rUS.json │ │ │ │ │ │ │ ├── values-es.json │ │ │ │ │ │ │ ├── values-et-rEE.json │ │ │ │ │ │ │ ├── values-eu-rES.json │ │ │ │ │ │ │ ├── values-fa.json │ │ │ │ │ │ │ ├── values-fb-rLL.json │ │ │ │ │ │ │ ├── values-fb.json │ │ │ │ │ │ │ ├── values-fi.json │ │ │ │ │ │ │ ├── values-fr-rCA.json │ │ │ │ │ │ │ ├── values-fr.json │ │ │ │ │ │ │ ├── values-gl-rES.json │ │ │ │ │ │ │ ├── values-gu-rIN.json │ │ │ │ │ │ │ ├── values-h720dp-v13.json │ │ │ │ │ │ │ ├── values-hdpi-v4.json │ │ │ │ │ │ │ ├── values-hi.json │ │ │ │ │ │ │ ├── values-hr.json │ │ │ │ │ │ │ ├── values-hu.json │ │ │ │ │ │ │ ├── values-hy-rAM.json │ │ │ │ │ │ │ ├── values-in.json │ │ │ │ │ │ │ ├── values-is-rIS.json │ │ │ │ │ │ │ ├── values-it.json │ │ │ │ │ │ │ ├── values-iw.json │ │ │ │ │ │ │ ├── values-ja.json │ │ │ │ │ │ │ ├── values-ka-rGE.json │ │ │ │ │ │ │ ├── values-kk-rKZ.json │ │ │ │ │ │ │ ├── values-km-rKH.json │ │ │ │ │ │ │ ├── values-kn-rIN.json │ │ │ │ │ │ │ ├── values-ko.json │ │ │ │ │ │ │ ├── values-ky-rKG.json │ │ │ │ │ │ │ ├── values-land.json │ │ │ │ │ │ │ ├── values-large-v4.json │ │ │ │ │ │ │ ├── values-lo-rLA.json │ │ │ │ │ │ │ ├── values-lt.json │ │ │ │ │ │ │ ├── values-lv.json │ │ │ │ │ │ │ ├── values-mk-rMK.json │ │ │ │ │ │ │ ├── values-ml-rIN.json │ │ │ │ │ │ │ ├── values-mn-rMN.json │ │ │ │ │ │ │ ├── values-mr-rIN.json │ │ │ │ │ │ │ ├── values-ms-rMY.json │ │ │ │ │ │ │ ├── values-my-rMM.json │ │ │ │ │ │ │ ├── values-nb.json │ │ │ │ │ │ │ ├── values-ne-rNP.json │ │ │ │ │ │ │ ├── values-nl.json │ │ │ │ │ │ │ ├── values-pa-rIN.json │ │ │ │ │ │ │ ├── values-pl.json │ │ │ │ │ │ │ ├── values-port.json │ │ │ │ │ │ │ ├── values-pt-rPT.json │ │ │ │ │ │ │ ├── values-pt.json │ │ │ │ │ │ │ ├── values-ro.json │ │ │ │ │ │ │ ├── values-ru.json │ │ │ │ │ │ │ ├── values-si-rLK.json │ │ │ │ │ │ │ ├── values-sk.json │ │ │ │ │ │ │ ├── values-sl.json │ │ │ │ │ │ │ ├── values-sq-rAL.json │ │ │ │ │ │ │ ├── values-sr.json │ │ │ │ │ │ │ ├── values-sv.json │ │ │ │ │ │ │ ├── values-sw.json │ │ │ │ │ │ │ ├── values-sw600dp-v13.json │ │ │ │ │ │ │ ├── values-ta-rIN.json │ │ │ │ │ │ │ ├── values-te-rIN.json │ │ │ │ │ │ │ ├── values-th.json │ │ │ │ │ │ │ ├── values-tl.json │ │ │ │ │ │ │ ├── values-tr.json │ │ │ │ │ │ │ ├── values-uk.json │ │ │ │ │ │ │ ├── values-ur-rPK.json │ │ │ │ │ │ │ ├── values-uz-rUZ.json │ │ │ │ │ │ │ ├── values-v11.json │ │ │ │ │ │ │ ├── values-v12.json │ │ │ │ │ │ │ ├── values-v14.json │ │ │ │ │ │ │ ├── values-v17.json │ │ │ │ │ │ │ ├── values-v18.json │ │ │ │ │ │ │ ├── values-v21.json │ │ │ │ │ │ │ ├── values-v22.json │ │ │ │ │ │ │ ├── values-v23.json │ │ │ │ │ │ │ ├── values-vi.json │ │ │ │ │ │ │ ├── values-w360dp-v13.json │ │ │ │ │ │ │ ├── values-w480dp-v13.json │ │ │ │ │ │ │ ├── values-w500dp-v13.json │ │ │ │ │ │ │ ├── values-w600dp-v13.json │ │ │ │ │ │ │ ├── values-w720dp-v13.json │ │ │ │ │ │ │ ├── values-xlarge-land-v4.json │ │ │ │ │ │ │ ├── values-xlarge-v4.json │ │ │ │ │ │ │ ├── values-zh-rCN.json │ │ │ │ │ │ │ ├── values-zh-rHK.json │ │ │ │ │ │ │ ├── values-zh-rTW.json │ │ │ │ │ │ │ ├── values-zu.json │ │ │ │ │ │ │ └── values.json │ │ │ │ │ │ └── single/ │ │ │ │ │ │ ├── anim.json │ │ │ │ │ │ ├── color-v11.json │ │ │ │ │ │ ├── color-v23.json │ │ │ │ │ │ ├── color.json │ │ │ │ │ │ ├── drawable-hdpi-v4.json │ │ │ │ │ │ ├── drawable-ldrtl-hdpi-v17.json │ │ │ │ │ │ ├── drawable-ldrtl-mdpi-v17.json │ │ │ │ │ │ ├── drawable-ldrtl-xhdpi-v17.json │ │ │ │ │ │ ├── drawable-ldrtl-xxhdpi-v17.json │ │ │ │ │ │ ├── drawable-ldrtl-xxxhdpi-v17.json │ │ │ │ │ │ ├── drawable-mdpi-v4.json │ │ │ │ │ │ ├── drawable-v21.json │ │ │ │ │ │ ├── drawable-v23.json │ │ │ │ │ │ ├── drawable-xhdpi-v4.json │ │ │ │ │ │ ├── drawable-xxhdpi-v4.json │ │ │ │ │ │ ├── drawable-xxxhdpi-v4.json │ │ │ │ │ │ ├── drawable.json │ │ │ │ │ │ ├── layout.json │ │ │ │ │ │ ├── mipmap-hdpi-v4.json │ │ │ │ │ │ ├── mipmap-mdpi-v4.json │ │ │ │ │ │ ├── mipmap-xhdpi-v4.json │ │ │ │ │ │ ├── mipmap-xxhdpi-v4.json │ │ │ │ │ │ └── xml.json │ │ │ │ │ ├── bundles/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── instant-run/ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ ├── exploded-aar/ │ │ │ │ │ │ ├── com.android.support/ │ │ │ │ │ │ │ ├── appcompat-v7/ │ │ │ │ │ │ │ │ └── 23.0.1/ │ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── R.txt │ │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── jars/ │ │ │ │ │ │ │ │ │ └── classes.jar │ │ │ │ │ │ │ │ ├── public.txt │ │ │ │ │ │ │ │ └── res/ │ │ │ │ │ │ │ │ ├── anim/ │ │ │ │ │ │ │ │ │ ├── abc_fade_in.xml │ │ │ │ │ │ │ │ │ ├── abc_fade_out.xml │ │ │ │ │ │ │ │ │ ├── abc_grow_fade_in_from_bottom.xml │ │ │ │ │ │ │ │ │ ├── abc_popup_enter.xml │ │ │ │ │ │ │ │ │ ├── abc_popup_exit.xml │ │ │ │ │ │ │ │ │ ├── abc_shrink_fade_out_from_bottom.xml │ │ │ │ │ │ │ │ │ ├── abc_slide_in_bottom.xml │ │ │ │ │ │ │ │ │ ├── abc_slide_in_top.xml │ │ │ │ │ │ │ │ │ ├── abc_slide_out_bottom.xml │ │ │ │ │ │ │ │ │ └── abc_slide_out_top.xml │ │ │ │ │ │ │ │ ├── color/ │ │ │ │ │ │ │ │ │ ├── abc_background_cache_hint_selector_material_dark.xml │ │ │ │ │ │ │ │ │ ├── abc_background_cache_hint_selector_material_light.xml │ │ │ │ │ │ │ │ │ ├── abc_primary_text_disable_only_material_dark.xml │ │ │ │ │ │ │ │ │ ├── abc_primary_text_disable_only_material_light.xml │ │ │ │ │ │ │ │ │ ├── abc_primary_text_material_dark.xml │ │ │ │ │ │ │ │ │ ├── abc_primary_text_material_light.xml │ │ │ │ │ │ │ │ │ ├── abc_search_url_text.xml │ │ │ │ │ │ │ │ │ ├── abc_secondary_text_material_dark.xml │ │ │ │ │ │ │ │ │ ├── abc_secondary_text_material_light.xml │ │ │ │ │ │ │ │ │ ├── switch_thumb_material_dark.xml │ │ │ │ │ │ │ │ │ └── switch_thumb_material_light.xml │ │ │ │ │ │ │ │ ├── color-v11/ │ │ │ │ │ │ │ │ │ ├── abc_background_cache_hint_selector_material_dark.xml │ │ │ │ │ │ │ │ │ └── abc_background_cache_hint_selector_material_light.xml │ │ │ │ │ │ │ │ ├── color-v23/ │ │ │ │ │ │ │ │ │ └── abc_color_highlight_material.xml │ │ │ │ │ │ │ │ ├── drawable/ │ │ │ │ │ │ │ │ │ ├── abc_btn_borderless_material.xml │ │ │ │ │ │ │ │ │ ├── abc_btn_check_material.xml │ │ │ │ │ │ │ │ │ ├── abc_btn_colored_material.xml │ │ │ │ │ │ │ │ │ ├── abc_btn_default_mtrl_shape.xml │ │ │ │ │ │ │ │ │ ├── abc_btn_radio_material.xml │ │ │ │ │ │ │ │ │ ├── abc_cab_background_internal_bg.xml │ │ │ │ │ │ │ │ │ ├── abc_cab_background_top_material.xml │ │ │ │ │ │ │ │ │ ├── abc_dialog_material_background_dark.xml │ │ │ │ │ │ │ │ │ ├── abc_dialog_material_background_light.xml │ │ │ │ │ │ │ │ │ ├── abc_edit_text_material.xml │ │ │ │ │ │ │ │ │ ├── abc_item_background_holo_dark.xml │ │ │ │ │ │ │ │ │ ├── abc_item_background_holo_light.xml │ │ │ │ │ │ │ │ │ ├── abc_list_selector_background_transition_holo_dark.xml │ │ │ │ │ │ │ │ │ ├── abc_list_selector_background_transition_holo_light.xml │ │ │ │ │ │ │ │ │ ├── abc_list_selector_holo_dark.xml │ │ │ │ │ │ │ │ │ ├── abc_list_selector_holo_light.xml │ │ │ │ │ │ │ │ │ ├── abc_ratingbar_full_material.xml │ │ │ │ │ │ │ │ │ ├── abc_spinner_textfield_background_material.xml │ │ │ │ │ │ │ │ │ ├── abc_switch_thumb_material.xml │ │ │ │ │ │ │ │ │ ├── abc_tab_indicator_material.xml │ │ │ │ │ │ │ │ │ ├── abc_text_cursor_material.xml │ │ │ │ │ │ │ │ │ └── abc_textfield_search_material.xml │ │ │ │ │ │ │ │ ├── drawable-v21/ │ │ │ │ │ │ │ │ │ ├── abc_action_bar_item_background_material.xml │ │ │ │ │ │ │ │ │ └── abc_btn_colored_material.xml │ │ │ │ │ │ │ │ ├── drawable-v23/ │ │ │ │ │ │ │ │ │ └── abc_control_background_material.xml │ │ │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ │ │ ├── abc_action_bar_title_item.xml │ │ │ │ │ │ │ │ │ ├── abc_action_bar_up_container.xml │ │ │ │ │ │ │ │ │ ├── abc_action_bar_view_list_nav_layout.xml │ │ │ │ │ │ │ │ │ ├── abc_action_menu_item_layout.xml │ │ │ │ │ │ │ │ │ ├── abc_action_menu_layout.xml │ │ │ │ │ │ │ │ │ ├── abc_action_mode_bar.xml │ │ │ │ │ │ │ │ │ ├── abc_action_mode_close_item_material.xml │ │ │ │ │ │ │ │ │ ├── abc_activity_chooser_view.xml │ │ │ │ │ │ │ │ │ ├── abc_activity_chooser_view_list_item.xml │ │ │ │ │ │ │ │ │ ├── abc_alert_dialog_material.xml │ │ │ │ │ │ │ │ │ ├── abc_dialog_title_material.xml │ │ │ │ │ │ │ │ │ ├── abc_expanded_menu_layout.xml │ │ │ │ │ │ │ │ │ ├── abc_list_menu_item_checkbox.xml │ │ │ │ │ │ │ │ │ ├── abc_list_menu_item_icon.xml │ │ │ │ │ │ │ │ │ ├── abc_list_menu_item_layout.xml │ │ │ │ │ │ │ │ │ ├── abc_list_menu_item_radio.xml │ │ │ │ │ │ │ │ │ ├── abc_popup_menu_item_layout.xml │ │ │ │ │ │ │ │ │ ├── abc_screen_content_include.xml │ │ │ │ │ │ │ │ │ ├── abc_screen_simple.xml │ │ │ │ │ │ │ │ │ ├── abc_screen_simple_overlay_action_mode.xml │ │ │ │ │ │ │ │ │ ├── abc_screen_toolbar.xml │ │ │ │ │ │ │ │ │ ├── abc_search_dropdown_item_icons_2line.xml │ │ │ │ │ │ │ │ │ ├── abc_search_view.xml │ │ │ │ │ │ │ │ │ ├── abc_select_dialog_material.xml │ │ │ │ │ │ │ │ │ ├── notification_media_action.xml │ │ │ │ │ │ │ │ │ ├── notification_media_cancel_action.xml │ │ │ │ │ │ │ │ │ ├── notification_template_big_media.xml │ │ │ │ │ │ │ │ │ ├── notification_template_big_media_narrow.xml │ │ │ │ │ │ │ │ │ ├── notification_template_lines.xml │ │ │ │ │ │ │ │ │ ├── notification_template_media.xml │ │ │ │ │ │ │ │ │ ├── notification_template_part_chronometer.xml │ │ │ │ │ │ │ │ │ ├── notification_template_part_time.xml │ │ │ │ │ │ │ │ │ ├── select_dialog_item_material.xml │ │ │ │ │ │ │ │ │ ├── select_dialog_multichoice_material.xml │ │ │ │ │ │ │ │ │ ├── select_dialog_singlechoice_material.xml │ │ │ │ │ │ │ │ │ └── support_simple_spinner_dropdown_item.xml │ │ │ │ │ │ │ │ ├── values/ │ │ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ │ │ ├── values-af/ │ │ │ │ │ │ │ │ │ └── values-af.xml │ │ │ │ │ │ │ │ ├── values-am/ │ │ │ │ │ │ │ │ │ └── values-am.xml │ │ │ │ │ │ │ │ ├── values-ar/ │ │ │ │ │ │ │ │ │ └── values-ar.xml │ │ │ │ │ │ │ │ ├── values-az-rAZ/ │ │ │ │ │ │ │ │ │ └── values-az-rAZ.xml │ │ │ │ │ │ │ │ ├── values-bg/ │ │ │ │ │ │ │ │ │ └── values-bg.xml │ │ │ │ │ │ │ │ ├── values-bn-rBD/ │ │ │ │ │ │ │ │ │ └── values-bn-rBD.xml │ │ │ │ │ │ │ │ ├── values-ca/ │ │ │ │ │ │ │ │ │ └── values-ca.xml │ │ │ │ │ │ │ │ ├── values-cs/ │ │ │ │ │ │ │ │ │ └── values-cs.xml │ │ │ │ │ │ │ │ ├── values-da/ │ │ │ │ │ │ │ │ │ └── values-da.xml │ │ │ │ │ │ │ │ ├── values-de/ │ │ │ │ │ │ │ │ │ └── values-de.xml │ │ │ │ │ │ │ │ ├── values-el/ │ │ │ │ │ │ │ │ │ └── values-el.xml │ │ │ │ │ │ │ │ ├── values-en-rAU/ │ │ │ │ │ │ │ │ │ └── values-en-rAU.xml │ │ │ │ │ │ │ │ ├── values-en-rGB/ │ │ │ │ │ │ │ │ │ └── values-en-rGB.xml │ │ │ │ │ │ │ │ ├── values-en-rIN/ │ │ │ │ │ │ │ │ │ └── values-en-rIN.xml │ │ │ │ │ │ │ │ ├── values-es/ │ │ │ │ │ │ │ │ │ └── values-es.xml │ │ │ │ │ │ │ │ ├── values-es-rUS/ │ │ │ │ │ │ │ │ │ └── values-es-rUS.xml │ │ │ │ │ │ │ │ ├── values-et-rEE/ │ │ │ │ │ │ │ │ │ └── values-et-rEE.xml │ │ │ │ │ │ │ │ ├── values-eu-rES/ │ │ │ │ │ │ │ │ │ └── values-eu-rES.xml │ │ │ │ │ │ │ │ ├── values-fa/ │ │ │ │ │ │ │ │ │ └── values-fa.xml │ │ │ │ │ │ │ │ ├── values-fi/ │ │ │ │ │ │ │ │ │ └── values-fi.xml │ │ │ │ │ │ │ │ ├── values-fr/ │ │ │ │ │ │ │ │ │ └── values-fr.xml │ │ │ │ │ │ │ │ ├── values-fr-rCA/ │ │ │ │ │ │ │ │ │ └── values-fr-rCA.xml │ │ │ │ │ │ │ │ ├── values-gl-rES/ │ │ │ │ │ │ │ │ │ └── values-gl-rES.xml │ │ │ │ │ │ │ │ ├── values-gu-rIN/ │ │ │ │ │ │ │ │ │ └── values-gu-rIN.xml │ │ │ │ │ │ │ │ ├── values-h720dp/ │ │ │ │ │ │ │ │ │ └── values-h720dp.xml │ │ │ │ │ │ │ │ ├── values-hdpi/ │ │ │ │ │ │ │ │ │ └── values-hdpi.xml │ │ │ │ │ │ │ │ ├── values-hi/ │ │ │ │ │ │ │ │ │ └── values-hi.xml │ │ │ │ │ │ │ │ ├── values-hr/ │ │ │ │ │ │ │ │ │ └── values-hr.xml │ │ │ │ │ │ │ │ ├── values-hu/ │ │ │ │ │ │ │ │ │ └── values-hu.xml │ │ │ │ │ │ │ │ ├── values-hy-rAM/ │ │ │ │ │ │ │ │ │ └── values-hy-rAM.xml │ │ │ │ │ │ │ │ ├── values-in/ │ │ │ │ │ │ │ │ │ └── values-in.xml │ │ │ │ │ │ │ │ ├── values-is-rIS/ │ │ │ │ │ │ │ │ │ └── values-is-rIS.xml │ │ │ │ │ │ │ │ ├── values-it/ │ │ │ │ │ │ │ │ │ └── values-it.xml │ │ │ │ │ │ │ │ ├── values-iw/ │ │ │ │ │ │ │ │ │ └── values-iw.xml │ │ │ │ │ │ │ │ ├── values-ja/ │ │ │ │ │ │ │ │ │ └── values-ja.xml │ │ │ │ │ │ │ │ ├── values-ka-rGE/ │ │ │ │ │ │ │ │ │ └── values-ka-rGE.xml │ │ │ │ │ │ │ │ ├── values-kk-rKZ/ │ │ │ │ │ │ │ │ │ └── values-kk-rKZ.xml │ │ │ │ │ │ │ │ ├── values-km-rKH/ │ │ │ │ │ │ │ │ │ └── values-km-rKH.xml │ │ │ │ │ │ │ │ ├── values-kn-rIN/ │ │ │ │ │ │ │ │ │ └── values-kn-rIN.xml │ │ │ │ │ │ │ │ ├── values-ko/ │ │ │ │ │ │ │ │ │ └── values-ko.xml │ │ │ │ │ │ │ │ ├── values-ky-rKG/ │ │ │ │ │ │ │ │ │ └── values-ky-rKG.xml │ │ │ │ │ │ │ │ ├── values-land/ │ │ │ │ │ │ │ │ │ └── values-land.xml │ │ │ │ │ │ │ │ ├── values-large/ │ │ │ │ │ │ │ │ │ └── values-large.xml │ │ │ │ │ │ │ │ ├── values-lo-rLA/ │ │ │ │ │ │ │ │ │ └── values-lo-rLA.xml │ │ │ │ │ │ │ │ ├── values-lt/ │ │ │ │ │ │ │ │ │ └── values-lt.xml │ │ │ │ │ │ │ │ ├── values-lv/ │ │ │ │ │ │ │ │ │ └── values-lv.xml │ │ │ │ │ │ │ │ ├── values-mk-rMK/ │ │ │ │ │ │ │ │ │ └── values-mk-rMK.xml │ │ │ │ │ │ │ │ ├── values-ml-rIN/ │ │ │ │ │ │ │ │ │ └── values-ml-rIN.xml │ │ │ │ │ │ │ │ ├── values-mn-rMN/ │ │ │ │ │ │ │ │ │ └── values-mn-rMN.xml │ │ │ │ │ │ │ │ ├── values-mr-rIN/ │ │ │ │ │ │ │ │ │ └── values-mr-rIN.xml │ │ │ │ │ │ │ │ ├── values-ms-rMY/ │ │ │ │ │ │ │ │ │ └── values-ms-rMY.xml │ │ │ │ │ │ │ │ ├── values-my-rMM/ │ │ │ │ │ │ │ │ │ └── values-my-rMM.xml │ │ │ │ │ │ │ │ ├── values-nb/ │ │ │ │ │ │ │ │ │ └── values-nb.xml │ │ │ │ │ │ │ │ ├── values-ne-rNP/ │ │ │ │ │ │ │ │ │ └── values-ne-rNP.xml │ │ │ │ │ │ │ │ ├── values-nl/ │ │ │ │ │ │ │ │ │ └── values-nl.xml │ │ │ │ │ │ │ │ ├── values-pa-rIN/ │ │ │ │ │ │ │ │ │ └── values-pa-rIN.xml │ │ │ │ │ │ │ │ ├── values-pl/ │ │ │ │ │ │ │ │ │ └── values-pl.xml │ │ │ │ │ │ │ │ ├── values-port/ │ │ │ │ │ │ │ │ │ └── values-port.xml │ │ │ │ │ │ │ │ ├── values-pt/ │ │ │ │ │ │ │ │ │ └── values-pt.xml │ │ │ │ │ │ │ │ ├── values-pt-rPT/ │ │ │ │ │ │ │ │ │ └── values-pt-rPT.xml │ │ │ │ │ │ │ │ ├── values-ro/ │ │ │ │ │ │ │ │ │ └── values-ro.xml │ │ │ │ │ │ │ │ ├── values-ru/ │ │ │ │ │ │ │ │ │ └── values-ru.xml │ │ │ │ │ │ │ │ ├── values-si-rLK/ │ │ │ │ │ │ │ │ │ └── values-si-rLK.xml │ │ │ │ │ │ │ │ ├── values-sk/ │ │ │ │ │ │ │ │ │ └── values-sk.xml │ │ │ │ │ │ │ │ ├── values-sl/ │ │ │ │ │ │ │ │ │ └── values-sl.xml │ │ │ │ │ │ │ │ ├── values-sq-rAL/ │ │ │ │ │ │ │ │ │ └── values-sq-rAL.xml │ │ │ │ │ │ │ │ ├── values-sr/ │ │ │ │ │ │ │ │ │ └── values-sr.xml │ │ │ │ │ │ │ │ ├── values-sv/ │ │ │ │ │ │ │ │ │ └── values-sv.xml │ │ │ │ │ │ │ │ ├── values-sw/ │ │ │ │ │ │ │ │ │ └── values-sw.xml │ │ │ │ │ │ │ │ ├── values-sw600dp/ │ │ │ │ │ │ │ │ │ └── values-sw600dp.xml │ │ │ │ │ │ │ │ ├── values-ta-rIN/ │ │ │ │ │ │ │ │ │ └── values-ta-rIN.xml │ │ │ │ │ │ │ │ ├── values-te-rIN/ │ │ │ │ │ │ │ │ │ └── values-te-rIN.xml │ │ │ │ │ │ │ │ ├── values-th/ │ │ │ │ │ │ │ │ │ └── values-th.xml │ │ │ │ │ │ │ │ ├── values-tl/ │ │ │ │ │ │ │ │ │ └── values-tl.xml │ │ │ │ │ │ │ │ ├── values-tr/ │ │ │ │ │ │ │ │ │ └── values-tr.xml │ │ │ │ │ │ │ │ ├── values-uk/ │ │ │ │ │ │ │ │ │ └── values-uk.xml │ │ │ │ │ │ │ │ ├── values-ur-rPK/ │ │ │ │ │ │ │ │ │ └── values-ur-rPK.xml │ │ │ │ │ │ │ │ ├── values-uz-rUZ/ │ │ │ │ │ │ │ │ │ └── values-uz-rUZ.xml │ │ │ │ │ │ │ │ ├── values-v11/ │ │ │ │ │ │ │ │ │ └── values-v11.xml │ │ │ │ │ │ │ │ ├── values-v12/ │ │ │ │ │ │ │ │ │ └── values-v12.xml │ │ │ │ │ │ │ │ ├── values-v14/ │ │ │ │ │ │ │ │ │ └── values-v14.xml │ │ │ │ │ │ │ │ ├── values-v17/ │ │ │ │ │ │ │ │ │ └── values-v17.xml │ │ │ │ │ │ │ │ ├── values-v18/ │ │ │ │ │ │ │ │ │ └── values-v18.xml │ │ │ │ │ │ │ │ ├── values-v21/ │ │ │ │ │ │ │ │ │ └── values-v21.xml │ │ │ │ │ │ │ │ ├── values-v22/ │ │ │ │ │ │ │ │ │ └── values-v22.xml │ │ │ │ │ │ │ │ ├── values-v23/ │ │ │ │ │ │ │ │ │ └── values-v23.xml │ │ │ │ │ │ │ │ ├── values-vi/ │ │ │ │ │ │ │ │ │ └── values-vi.xml │ │ │ │ │ │ │ │ ├── values-w360dp/ │ │ │ │ │ │ │ │ │ └── values-w360dp.xml │ │ │ │ │ │ │ │ ├── values-w480dp/ │ │ │ │ │ │ │ │ │ └── values-w480dp.xml │ │ │ │ │ │ │ │ ├── values-w500dp/ │ │ │ │ │ │ │ │ │ └── values-w500dp.xml │ │ │ │ │ │ │ │ ├── values-w600dp/ │ │ │ │ │ │ │ │ │ └── values-w600dp.xml │ │ │ │ │ │ │ │ ├── values-w720dp/ │ │ │ │ │ │ │ │ │ └── values-w720dp.xml │ │ │ │ │ │ │ │ ├── values-xlarge/ │ │ │ │ │ │ │ │ │ └── values-xlarge.xml │ │ │ │ │ │ │ │ ├── values-xlarge-land/ │ │ │ │ │ │ │ │ │ └── values-xlarge-land.xml │ │ │ │ │ │ │ │ ├── values-zh-rCN/ │ │ │ │ │ │ │ │ │ └── values-zh-rCN.xml │ │ │ │ │ │ │ │ ├── values-zh-rHK/ │ │ │ │ │ │ │ │ │ └── values-zh-rHK.xml │ │ │ │ │ │ │ │ ├── values-zh-rTW/ │ │ │ │ │ │ │ │ │ └── values-zh-rTW.xml │ │ │ │ │ │ │ │ └── values-zu/ │ │ │ │ │ │ │ │ └── values-zu.xml │ │ │ │ │ │ │ ├── recyclerview-v7/ │ │ │ │ │ │ │ │ └── 23.0.1/ │ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── R.txt │ │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── jars/ │ │ │ │ │ │ │ │ │ └── classes.jar │ │ │ │ │ │ │ │ └── res/ │ │ │ │ │ │ │ │ └── values/ │ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ │ └── support-v4/ │ │ │ │ │ │ │ └── 23.0.1/ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ ├── aidl/ │ │ │ │ │ │ │ │ └── android/ │ │ │ │ │ │ │ │ └── support/ │ │ │ │ │ │ │ │ └── v4/ │ │ │ │ │ │ │ │ └── media/ │ │ │ │ │ │ │ │ ├── MediaMetadataCompat.aidl │ │ │ │ │ │ │ │ ├── RatingCompat.aidl │ │ │ │ │ │ │ │ └── session/ │ │ │ │ │ │ │ │ ├── MediaSessionCompat.aidl │ │ │ │ │ │ │ │ ├── ParcelableVolumeInfo.aidl │ │ │ │ │ │ │ │ └── PlaybackStateCompat.aidl │ │ │ │ │ │ │ └── jars/ │ │ │ │ │ │ │ ├── classes.jar │ │ │ │ │ │ │ └── libs/ │ │ │ │ │ │ │ └── internal_impl-23.0.1.jar │ │ │ │ │ │ ├── com.facebook.fresco/ │ │ │ │ │ │ │ ├── drawee/ │ │ │ │ │ │ │ │ └── 0.8.1/ │ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── R.txt │ │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── jars/ │ │ │ │ │ │ │ │ │ └── classes.jar │ │ │ │ │ │ │ │ └── res/ │ │ │ │ │ │ │ │ └── values/ │ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ │ ├── fbcore/ │ │ │ │ │ │ │ │ └── 0.8.1/ │ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ │ └── jars/ │ │ │ │ │ │ │ │ └── classes.jar │ │ │ │ │ │ │ ├── fresco/ │ │ │ │ │ │ │ │ └── 0.8.1/ │ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── R.txt │ │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ │ └── jars/ │ │ │ │ │ │ │ │ └── classes.jar │ │ │ │ │ │ │ ├── imagepipeline/ │ │ │ │ │ │ │ │ └── 0.8.1/ │ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ │ └── jars/ │ │ │ │ │ │ │ │ └── classes.jar │ │ │ │ │ │ │ └── imagepipeline-okhttp/ │ │ │ │ │ │ │ └── 0.8.1/ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ └── jars/ │ │ │ │ │ │ │ └── classes.jar │ │ │ │ │ │ ├── com.facebook.react/ │ │ │ │ │ │ │ └── react-native/ │ │ │ │ │ │ │ └── 0.25.1/ │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ ├── R.txt │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ ├── jars/ │ │ │ │ │ │ │ │ ├── classes.jar │ │ │ │ │ │ │ │ └── libs/ │ │ │ │ │ │ │ │ └── infer-annotations-1.5.jar │ │ │ │ │ │ │ └── res/ │ │ │ │ │ │ │ ├── anim/ │ │ │ │ │ │ │ │ ├── catalyst_push_up_in.xml │ │ │ │ │ │ │ │ ├── catalyst_push_up_out.xml │ │ │ │ │ │ │ │ ├── slide_down.xml │ │ │ │ │ │ │ │ └── slide_up.xml │ │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ │ ├── fps_view.xml │ │ │ │ │ │ │ │ ├── redbox_item_frame.xml │ │ │ │ │ │ │ │ ├── redbox_item_title.xml │ │ │ │ │ │ │ │ └── redbox_view.xml │ │ │ │ │ │ │ ├── values/ │ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ │ ├── values-cs/ │ │ │ │ │ │ │ │ └── values-cs.xml │ │ │ │ │ │ │ ├── values-da/ │ │ │ │ │ │ │ │ └── values-da.xml │ │ │ │ │ │ │ ├── values-de/ │ │ │ │ │ │ │ │ └── values-de.xml │ │ │ │ │ │ │ ├── values-el/ │ │ │ │ │ │ │ │ └── values-el.xml │ │ │ │ │ │ │ ├── values-en-rGB/ │ │ │ │ │ │ │ │ └── values-en-rGB.xml │ │ │ │ │ │ │ ├── values-es/ │ │ │ │ │ │ │ │ └── values-es.xml │ │ │ │ │ │ │ ├── values-es-rES/ │ │ │ │ │ │ │ │ └── values-es-rES.xml │ │ │ │ │ │ │ ├── values-fb/ │ │ │ │ │ │ │ │ └── values-fb.xml │ │ │ │ │ │ │ ├── values-fb-rLL/ │ │ │ │ │ │ │ │ └── values-fb-rLL.xml │ │ │ │ │ │ │ ├── values-fi/ │ │ │ │ │ │ │ │ └── values-fi.xml │ │ │ │ │ │ │ ├── values-fr/ │ │ │ │ │ │ │ │ └── values-fr.xml │ │ │ │ │ │ │ ├── values-hu/ │ │ │ │ │ │ │ │ └── values-hu.xml │ │ │ │ │ │ │ ├── values-in/ │ │ │ │ │ │ │ │ └── values-in.xml │ │ │ │ │ │ │ ├── values-it/ │ │ │ │ │ │ │ │ └── values-it.xml │ │ │ │ │ │ │ ├── values-ja/ │ │ │ │ │ │ │ │ └── values-ja.xml │ │ │ │ │ │ │ ├── values-ko/ │ │ │ │ │ │ │ │ └── values-ko.xml │ │ │ │ │ │ │ ├── values-nb/ │ │ │ │ │ │ │ │ └── values-nb.xml │ │ │ │ │ │ │ ├── values-nl/ │ │ │ │ │ │ │ │ └── values-nl.xml │ │ │ │ │ │ │ ├── values-pl/ │ │ │ │ │ │ │ │ └── values-pl.xml │ │ │ │ │ │ │ ├── values-pt/ │ │ │ │ │ │ │ │ └── values-pt.xml │ │ │ │ │ │ │ ├── values-pt-rPT/ │ │ │ │ │ │ │ │ └── values-pt-rPT.xml │ │ │ │ │ │ │ ├── values-ro/ │ │ │ │ │ │ │ │ └── values-ro.xml │ │ │ │ │ │ │ ├── values-ru/ │ │ │ │ │ │ │ │ └── values-ru.xml │ │ │ │ │ │ │ ├── values-sv/ │ │ │ │ │ │ │ │ └── values-sv.xml │ │ │ │ │ │ │ ├── values-th/ │ │ │ │ │ │ │ │ └── values-th.xml │ │ │ │ │ │ │ ├── values-tr/ │ │ │ │ │ │ │ │ └── values-tr.xml │ │ │ │ │ │ │ ├── values-vi/ │ │ │ │ │ │ │ │ └── values-vi.xml │ │ │ │ │ │ │ ├── values-zh-rCN/ │ │ │ │ │ │ │ │ └── values-zh-rCN.xml │ │ │ │ │ │ │ ├── values-zh-rHK/ │ │ │ │ │ │ │ │ └── values-zh-rHK.xml │ │ │ │ │ │ │ ├── values-zh-rTW/ │ │ │ │ │ │ │ │ └── values-zh-rTW.xml │ │ │ │ │ │ │ └── xml/ │ │ │ │ │ │ │ └── preferences.xml │ │ │ │ │ │ └── org.webkit/ │ │ │ │ │ │ └── android-jsc/ │ │ │ │ │ │ └── r174650/ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ ├── R.txt │ │ │ │ │ │ └── jars/ │ │ │ │ │ │ └── classes.jar │ │ │ │ │ ├── incremental/ │ │ │ │ │ │ ├── compileDebugAidl/ │ │ │ │ │ │ │ └── dependency.store │ │ │ │ │ │ ├── compileDebugAndroidTestAidl/ │ │ │ │ │ │ │ └── dependency.store │ │ │ │ │ │ ├── mergeDebugAndroidTestAssets/ │ │ │ │ │ │ │ └── merger.xml │ │ │ │ │ │ ├── mergeDebugAndroidTestResources/ │ │ │ │ │ │ │ └── merger.xml │ │ │ │ │ │ ├── mergeDebugAndroidTestShaders/ │ │ │ │ │ │ │ └── merger.xml │ │ │ │ │ │ ├── mergeDebugAssets/ │ │ │ │ │ │ │ └── merger.xml │ │ │ │ │ │ ├── mergeDebugJniLibFolders/ │ │ │ │ │ │ │ └── merger.xml │ │ │ │ │ │ ├── mergeDebugResources/ │ │ │ │ │ │ │ └── merger.xml │ │ │ │ │ │ └── mergeDebugShaders/ │ │ │ │ │ │ └── merger.xml │ │ │ │ │ ├── incremental-classes/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── instant-run-bootstrap.jar │ │ │ │ │ ├── incremental-runtime-classes/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── instant-run.jar │ │ │ │ │ ├── incremental-safeguard/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── tag.txt │ │ │ │ │ ├── instant-run-support/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ ├── coldswap.marker │ │ │ │ │ │ ├── manifest.crc │ │ │ │ │ │ ├── package.marker │ │ │ │ │ │ └── reload-changes.txt │ │ │ │ │ ├── manifest/ │ │ │ │ │ │ └── androidTest/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ ├── manifests/ │ │ │ │ │ │ └── full/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ ├── pre-dexed/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ ├── bolts-android-1.1.4_fb2ef908664780f7970a0a2ea2d5306c8ad32f0c.jar │ │ │ │ │ │ ├── com.android.support-appcompat-v7-23.0.1_f800e2b713c828b13680dbb671f61be9deab034f.jar │ │ │ │ │ │ ├── com.android.support-recyclerview-v7-23.0.1_60b71e9ddd869714173c3dca11c627769f0a2602.jar │ │ │ │ │ │ ├── com.android.support-support-v4-23.0.1_2a5f3fe7063081651ad10c0ea6bf09ec0e34e36e.jar │ │ │ │ │ │ ├── com.facebook.fresco-drawee-0.8.1_76bd6a0a60777b14928e8f9b8c8dce6b7790b595.jar │ │ │ │ │ │ ├── com.facebook.fresco-fbcore-0.8.1_aa46fcae74de53283e8b84d3926422bf7e0b2225.jar │ │ │ │ │ │ ├── com.facebook.fresco-fresco-0.8.1_e578775fef6281dd4db34f100c1b35ad88023974.jar │ │ │ │ │ │ ├── com.facebook.fresco-imagepipeline-0.8.1_2bb754490923e1a1710bfda2224900cd6cfcb514.jar │ │ │ │ │ │ ├── com.facebook.fresco-imagepipeline-okhttp-0.8.1_e9525dbe2afa0e37017b1de9c93f8e3adf113e65.jar │ │ │ │ │ │ ├── com.facebook.react-react-native-0.25.1_a4c965af696b0d497cad1c617bc3048049e781bd.jar │ │ │ │ │ │ ├── debug_dc8b52ad976490b11357b2b6ad05900b63aae581.jar │ │ │ │ │ │ ├── infer-annotations-1.5_ef6558ec5088d804ce4e1d1436a794281c9f9b97.jar │ │ │ │ │ │ ├── internal_impl-23.0.1_c9b7ed419ee0ee3adca548b5fdd2238adabf646a.jar │ │ │ │ │ │ ├── jackson-core-2.2.3_febb2d9f7b17021a9b534a8518ab0746e7492965.jar │ │ │ │ │ │ ├── jsr305-3.0.0_664629feb56059e87a0ac94028a110a5adf4b82e.jar │ │ │ │ │ │ ├── library-2.4.0_2e895b029afd3db1ee80606d825a44c8da240723.jar │ │ │ │ │ │ ├── okhttp-2.5.0_0de7ae9f4e9e893cb96e9911b0ef3952a548d593.jar │ │ │ │ │ │ ├── okhttp-ws-2.5.0_94c1fb27b737572025dff4485d00d332eedc9d27.jar │ │ │ │ │ │ ├── okio-1.6.0_17e3e4b819501de4be07d0c9a6509136a11cea0d.jar │ │ │ │ │ │ └── support-annotations-23.0.1_242ddec72e7f087322db0f0e58021c8bac52ac52.jar │ │ │ │ │ ├── res/ │ │ │ │ │ │ ├── merged/ │ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ │ ├── anim/ │ │ │ │ │ │ │ │ ├── abc_fade_in.xml │ │ │ │ │ │ │ │ ├── abc_fade_out.xml │ │ │ │ │ │ │ │ ├── abc_grow_fade_in_from_bottom.xml │ │ │ │ │ │ │ │ ├── abc_popup_enter.xml │ │ │ │ │ │ │ │ ├── abc_popup_exit.xml │ │ │ │ │ │ │ │ ├── abc_shrink_fade_out_from_bottom.xml │ │ │ │ │ │ │ │ ├── abc_slide_in_bottom.xml │ │ │ │ │ │ │ │ ├── abc_slide_in_top.xml │ │ │ │ │ │ │ │ ├── abc_slide_out_bottom.xml │ │ │ │ │ │ │ │ ├── abc_slide_out_top.xml │ │ │ │ │ │ │ │ ├── catalyst_push_up_in.xml │ │ │ │ │ │ │ │ ├── catalyst_push_up_out.xml │ │ │ │ │ │ │ │ ├── slide_down.xml │ │ │ │ │ │ │ │ └── slide_up.xml │ │ │ │ │ │ │ ├── color/ │ │ │ │ │ │ │ │ ├── abc_primary_text_disable_only_material_dark.xml │ │ │ │ │ │ │ │ ├── abc_primary_text_disable_only_material_light.xml │ │ │ │ │ │ │ │ ├── abc_primary_text_material_dark.xml │ │ │ │ │ │ │ │ ├── abc_primary_text_material_light.xml │ │ │ │ │ │ │ │ ├── abc_search_url_text.xml │ │ │ │ │ │ │ │ ├── abc_secondary_text_material_dark.xml │ │ │ │ │ │ │ │ ├── abc_secondary_text_material_light.xml │ │ │ │ │ │ │ │ ├── switch_thumb_material_dark.xml │ │ │ │ │ │ │ │ └── switch_thumb_material_light.xml │ │ │ │ │ │ │ ├── color-v11/ │ │ │ │ │ │ │ │ ├── abc_background_cache_hint_selector_material_dark.xml │ │ │ │ │ │ │ │ └── abc_background_cache_hint_selector_material_light.xml │ │ │ │ │ │ │ ├── color-v23/ │ │ │ │ │ │ │ │ └── abc_color_highlight_material.xml │ │ │ │ │ │ │ ├── drawable/ │ │ │ │ │ │ │ │ ├── abc_btn_borderless_material.xml │ │ │ │ │ │ │ │ ├── abc_btn_check_material.xml │ │ │ │ │ │ │ │ ├── abc_btn_colored_material.xml │ │ │ │ │ │ │ │ ├── abc_btn_default_mtrl_shape.xml │ │ │ │ │ │ │ │ ├── abc_btn_radio_material.xml │ │ │ │ │ │ │ │ ├── abc_cab_background_internal_bg.xml │ │ │ │ │ │ │ │ ├── abc_cab_background_top_material.xml │ │ │ │ │ │ │ │ ├── abc_dialog_material_background_dark.xml │ │ │ │ │ │ │ │ ├── abc_dialog_material_background_light.xml │ │ │ │ │ │ │ │ ├── abc_edit_text_material.xml │ │ │ │ │ │ │ │ ├── abc_item_background_holo_dark.xml │ │ │ │ │ │ │ │ ├── abc_item_background_holo_light.xml │ │ │ │ │ │ │ │ ├── abc_list_selector_background_transition_holo_dark.xml │ │ │ │ │ │ │ │ ├── abc_list_selector_background_transition_holo_light.xml │ │ │ │ │ │ │ │ ├── abc_list_selector_holo_dark.xml │ │ │ │ │ │ │ │ ├── abc_list_selector_holo_light.xml │ │ │ │ │ │ │ │ ├── abc_ratingbar_full_material.xml │ │ │ │ │ │ │ │ ├── abc_spinner_textfield_background_material.xml │ │ │ │ │ │ │ │ ├── abc_switch_thumb_material.xml │ │ │ │ │ │ │ │ ├── abc_tab_indicator_material.xml │ │ │ │ │ │ │ │ ├── abc_text_cursor_material.xml │ │ │ │ │ │ │ │ └── abc_textfield_search_material.xml │ │ │ │ │ │ │ ├── drawable-v21/ │ │ │ │ │ │ │ │ ├── abc_action_bar_item_background_material.xml │ │ │ │ │ │ │ │ └── abc_btn_colored_material.xml │ │ │ │ │ │ │ ├── drawable-v23/ │ │ │ │ │ │ │ │ └── abc_control_background_material.xml │ │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ │ ├── abc_action_bar_title_item.xml │ │ │ │ │ │ │ │ ├── abc_action_bar_up_container.xml │ │ │ │ │ │ │ │ ├── abc_action_bar_view_list_nav_layout.xml │ │ │ │ │ │ │ │ ├── abc_action_menu_item_layout.xml │ │ │ │ │ │ │ │ ├── abc_action_menu_layout.xml │ │ │ │ │ │ │ │ ├── abc_action_mode_bar.xml │ │ │ │ │ │ │ │ ├── abc_action_mode_close_item_material.xml │ │ │ │ │ │ │ │ ├── abc_activity_chooser_view.xml │ │ │ │ │ │ │ │ ├── abc_activity_chooser_view_list_item.xml │ │ │ │ │ │ │ │ ├── abc_alert_dialog_material.xml │ │ │ │ │ │ │ │ ├── abc_dialog_title_material.xml │ │ │ │ │ │ │ │ ├── abc_expanded_menu_layout.xml │ │ │ │ │ │ │ │ ├── abc_list_menu_item_checkbox.xml │ │ │ │ │ │ │ │ ├── abc_list_menu_item_icon.xml │ │ │ │ │ │ │ │ ├── abc_list_menu_item_layout.xml │ │ │ │ │ │ │ │ ├── abc_list_menu_item_radio.xml │ │ │ │ │ │ │ │ ├── abc_popup_menu_item_layout.xml │ │ │ │ │ │ │ │ ├── abc_screen_content_include.xml │ │ │ │ │ │ │ │ ├── abc_screen_simple.xml │ │ │ │ │ │ │ │ ├── abc_screen_simple_overlay_action_mode.xml │ │ │ │ │ │ │ │ ├── abc_screen_toolbar.xml │ │ │ │ │ │ │ │ ├── abc_search_dropdown_item_icons_2line.xml │ │ │ │ │ │ │ │ ├── abc_search_view.xml │ │ │ │ │ │ │ │ ├── abc_select_dialog_material.xml │ │ │ │ │ │ │ │ ├── fps_view.xml │ │ │ │ │ │ │ │ ├── notification_media_action.xml │ │ │ │ │ │ │ │ ├── notification_media_cancel_action.xml │ │ │ │ │ │ │ │ ├── notification_template_big_media.xml │ │ │ │ │ │ │ │ ├── notification_template_big_media_narrow.xml │ │ │ │ │ │ │ │ ├── notification_template_lines.xml │ │ │ │ │ │ │ │ ├── notification_template_media.xml │ │ │ │ │ │ │ │ ├── notification_template_part_chronometer.xml │ │ │ │ │ │ │ │ ├── notification_template_part_time.xml │ │ │ │ │ │ │ │ ├── redbox_item_frame.xml │ │ │ │ │ │ │ │ ├── redbox_item_title.xml │ │ │ │ │ │ │ │ ├── redbox_view.xml │ │ │ │ │ │ │ │ ├── select_dialog_item_material.xml │ │ │ │ │ │ │ │ ├── select_dialog_multichoice_material.xml │ │ │ │ │ │ │ │ ├── select_dialog_singlechoice_material.xml │ │ │ │ │ │ │ │ └── support_simple_spinner_dropdown_item.xml │ │ │ │ │ │ │ ├── values/ │ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ │ ├── values-af/ │ │ │ │ │ │ │ │ └── values-af.xml │ │ │ │ │ │ │ ├── values-am/ │ │ │ │ │ │ │ │ └── values-am.xml │ │ │ │ │ │ │ ├── values-ar/ │ │ │ │ │ │ │ │ └── values-ar.xml │ │ │ │ │ │ │ ├── values-az-rAZ/ │ │ │ │ │ │ │ │ └── values-az-rAZ.xml │ │ │ │ │ │ │ ├── values-bg/ │ │ │ │ │ │ │ │ └── values-bg.xml │ │ │ │ │ │ │ ├── values-bn-rBD/ │ │ │ │ │ │ │ │ └── values-bn-rBD.xml │ │ │ │ │ │ │ ├── values-ca/ │ │ │ │ │ │ │ │ └── values-ca.xml │ │ │ │ │ │ │ ├── values-cs/ │ │ │ │ │ │ │ │ └── values-cs.xml │ │ │ │ │ │ │ ├── values-da/ │ │ │ │ │ │ │ │ └── values-da.xml │ │ │ │ │ │ │ ├── values-de/ │ │ │ │ │ │ │ │ └── values-de.xml │ │ │ │ │ │ │ ├── values-el/ │ │ │ │ │ │ │ │ └── values-el.xml │ │ │ │ │ │ │ ├── values-en-rAU/ │ │ │ │ │ │ │ │ └── values-en-rAU.xml │ │ │ │ │ │ │ ├── values-en-rGB/ │ │ │ │ │ │ │ │ └── values-en-rGB.xml │ │ │ │ │ │ │ ├── values-en-rIN/ │ │ │ │ │ │ │ │ └── values-en-rIN.xml │ │ │ │ │ │ │ ├── values-es/ │ │ │ │ │ │ │ │ └── values-es.xml │ │ │ │ │ │ │ ├── values-es-rES/ │ │ │ │ │ │ │ │ └── values-es-rES.xml │ │ │ │ │ │ │ ├── values-es-rUS/ │ │ │ │ │ │ │ │ └── values-es-rUS.xml │ │ │ │ │ │ │ ├── values-et-rEE/ │ │ │ │ │ │ │ │ └── values-et-rEE.xml │ │ │ │ │ │ │ ├── values-eu-rES/ │ │ │ │ │ │ │ │ └── values-eu-rES.xml │ │ │ │ │ │ │ ├── values-fa/ │ │ │ │ │ │ │ │ └── values-fa.xml │ │ │ │ │ │ │ ├── values-fb/ │ │ │ │ │ │ │ │ └── values-fb.xml │ │ │ │ │ │ │ ├── values-fb-rLL/ │ │ │ │ │ │ │ │ └── values-fb-rLL.xml │ │ │ │ │ │ │ ├── values-fi/ │ │ │ │ │ │ │ │ └── values-fi.xml │ │ │ │ │ │ │ ├── values-fr/ │ │ │ │ │ │ │ │ └── values-fr.xml │ │ │ │ │ │ │ ├── values-fr-rCA/ │ │ │ │ │ │ │ │ └── values-fr-rCA.xml │ │ │ │ │ │ │ ├── values-gl-rES/ │ │ │ │ │ │ │ │ └── values-gl-rES.xml │ │ │ │ │ │ │ ├── values-gu-rIN/ │ │ │ │ │ │ │ │ └── values-gu-rIN.xml │ │ │ │ │ │ │ ├── values-h720dp-v13/ │ │ │ │ │ │ │ │ └── values-h720dp-v13.xml │ │ │ │ │ │ │ ├── values-hdpi-v4/ │ │ │ │ │ │ │ │ └── values-hdpi-v4.xml │ │ │ │ │ │ │ ├── values-hi/ │ │ │ │ │ │ │ │ └── values-hi.xml │ │ │ │ │ │ │ ├── values-hr/ │ │ │ │ │ │ │ │ └── values-hr.xml │ │ │ │ │ │ │ ├── values-hu/ │ │ │ │ │ │ │ │ └── values-hu.xml │ │ │ │ │ │ │ ├── values-hy-rAM/ │ │ │ │ │ │ │ │ └── values-hy-rAM.xml │ │ │ │ │ │ │ ├── values-in/ │ │ │ │ │ │ │ │ └── values-in.xml │ │ │ │ │ │ │ ├── values-is-rIS/ │ │ │ │ │ │ │ │ └── values-is-rIS.xml │ │ │ │ │ │ │ ├── values-it/ │ │ │ │ │ │ │ │ └── values-it.xml │ │ │ │ │ │ │ ├── values-iw/ │ │ │ │ │ │ │ │ └── values-iw.xml │ │ │ │ │ │ │ ├── values-ja/ │ │ │ │ │ │ │ │ └── values-ja.xml │ │ │ │ │ │ │ ├── values-ka-rGE/ │ │ │ │ │ │ │ │ └── values-ka-rGE.xml │ │ │ │ │ │ │ ├── values-kk-rKZ/ │ │ │ │ │ │ │ │ └── values-kk-rKZ.xml │ │ │ │ │ │ │ ├── values-km-rKH/ │ │ │ │ │ │ │ │ └── values-km-rKH.xml │ │ │ │ │ │ │ ├── values-kn-rIN/ │ │ │ │ │ │ │ │ └── values-kn-rIN.xml │ │ │ │ │ │ │ ├── values-ko/ │ │ │ │ │ │ │ │ └── values-ko.xml │ │ │ │ │ │ │ ├── values-ky-rKG/ │ │ │ │ │ │ │ │ └── values-ky-rKG.xml │ │ │ │ │ │ │ ├── values-land/ │ │ │ │ │ │ │ │ └── values-land.xml │ │ │ │ │ │ │ ├── values-large-v4/ │ │ │ │ │ │ │ │ └── values-large-v4.xml │ │ │ │ │ │ │ ├── values-lo-rLA/ │ │ │ │ │ │ │ │ └── values-lo-rLA.xml │ │ │ │ │ │ │ ├── values-lt/ │ │ │ │ │ │ │ │ └── values-lt.xml │ │ │ │ │ │ │ ├── values-lv/ │ │ │ │ │ │ │ │ └── values-lv.xml │ │ │ │ │ │ │ ├── values-mk-rMK/ │ │ │ │ │ │ │ │ └── values-mk-rMK.xml │ │ │ │ │ │ │ ├── values-ml-rIN/ │ │ │ │ │ │ │ │ └── values-ml-rIN.xml │ │ │ │ │ │ │ ├── values-mn-rMN/ │ │ │ │ │ │ │ │ └── values-mn-rMN.xml │ │ │ │ │ │ │ ├── values-mr-rIN/ │ │ │ │ │ │ │ │ └── values-mr-rIN.xml │ │ │ │ │ │ │ ├── values-ms-rMY/ │ │ │ │ │ │ │ │ └── values-ms-rMY.xml │ │ │ │ │ │ │ ├── values-my-rMM/ │ │ │ │ │ │ │ │ └── values-my-rMM.xml │ │ │ │ │ │ │ ├── values-nb/ │ │ │ │ │ │ │ │ └── values-nb.xml │ │ │ │ │ │ │ ├── values-ne-rNP/ │ │ │ │ │ │ │ │ └── values-ne-rNP.xml │ │ │ │ │ │ │ ├── values-nl/ │ │ │ │ │ │ │ │ └── values-nl.xml │ │ │ │ │ │ │ ├── values-pa-rIN/ │ │ │ │ │ │ │ │ └── values-pa-rIN.xml │ │ │ │ │ │ │ ├── values-pl/ │ │ │ │ │ │ │ │ └── values-pl.xml │ │ │ │ │ │ │ ├── values-port/ │ │ │ │ │ │ │ │ └── values-port.xml │ │ │ │ │ │ │ ├── values-pt/ │ │ │ │ │ │ │ │ └── values-pt.xml │ │ │ │ │ │ │ ├── values-pt-rPT/ │ │ │ │ │ │ │ │ └── values-pt-rPT.xml │ │ │ │ │ │ │ ├── values-ro/ │ │ │ │ │ │ │ │ └── values-ro.xml │ │ │ │ │ │ │ ├── values-ru/ │ │ │ │ │ │ │ │ └── values-ru.xml │ │ │ │ │ │ │ ├── values-si-rLK/ │ │ │ │ │ │ │ │ └── values-si-rLK.xml │ │ │ │ │ │ │ ├── values-sk/ │ │ │ │ │ │ │ │ └── values-sk.xml │ │ │ │ │ │ │ ├── values-sl/ │ │ │ │ │ │ │ │ └── values-sl.xml │ │ │ │ │ │ │ ├── values-sq-rAL/ │ │ │ │ │ │ │ │ └── values-sq-rAL.xml │ │ │ │ │ │ │ ├── values-sr/ │ │ │ │ │ │ │ │ └── values-sr.xml │ │ │ │ │ │ │ ├── values-sv/ │ │ │ │ │ │ │ │ └── values-sv.xml │ │ │ │ │ │ │ ├── values-sw/ │ │ │ │ │ │ │ │ └── values-sw.xml │ │ │ │ │ │ │ ├── values-sw600dp-v13/ │ │ │ │ │ │ │ │ └── values-sw600dp-v13.xml │ │ │ │ │ │ │ ├── values-ta-rIN/ │ │ │ │ │ │ │ │ └── values-ta-rIN.xml │ │ │ │ │ │ │ ├── values-te-rIN/ │ │ │ │ │ │ │ │ └── values-te-rIN.xml │ │ │ │ │ │ │ ├── values-th/ │ │ │ │ │ │ │ │ └── values-th.xml │ │ │ │ │ │ │ ├── values-tl/ │ │ │ │ │ │ │ │ └── values-tl.xml │ │ │ │ │ │ │ ├── values-tr/ │ │ │ │ │ │ │ │ └── values-tr.xml │ │ │ │ │ │ │ ├── values-uk/ │ │ │ │ │ │ │ │ └── values-uk.xml │ │ │ │ │ │ │ ├── values-ur-rPK/ │ │ │ │ │ │ │ │ └── values-ur-rPK.xml │ │ │ │ │ │ │ ├── values-uz-rUZ/ │ │ │ │ │ │ │ │ └── values-uz-rUZ.xml │ │ │ │ │ │ │ ├── values-v11/ │ │ │ │ │ │ │ │ └── values-v11.xml │ │ │ │ │ │ │ ├── values-v12/ │ │ │ │ │ │ │ │ └── values-v12.xml │ │ │ │ │ │ │ ├── values-v14/ │ │ │ │ │ │ │ │ └── values-v14.xml │ │ │ │ │ │ │ ├── values-v17/ │ │ │ │ │ │ │ │ └── values-v17.xml │ │ │ │ │ │ │ ├── values-v18/ │ │ │ │ │ │ │ │ └── values-v18.xml │ │ │ │ │ │ │ ├── values-v21/ │ │ │ │ │ │ │ │ └── values-v21.xml │ │ │ │ │ │ │ ├── values-v22/ │ │ │ │ │ │ │ │ └── values-v22.xml │ │ │ │ │ │ │ ├── values-v23/ │ │ │ │ │ │ │ │ └── values-v23.xml │ │ │ │ │ │ │ ├── values-vi/ │ │ │ │ │ │ │ │ └── values-vi.xml │ │ │ │ │ │ │ ├── values-w360dp-v13/ │ │ │ │ │ │ │ │ └── values-w360dp-v13.xml │ │ │ │ │ │ │ ├── values-w480dp-v13/ │ │ │ │ │ │ │ │ └── values-w480dp-v13.xml │ │ │ │ │ │ │ ├── values-w500dp-v13/ │ │ │ │ │ │ │ │ └── values-w500dp-v13.xml │ │ │ │ │ │ │ ├── values-w600dp-v13/ │ │ │ │ │ │ │ │ └── values-w600dp-v13.xml │ │ │ │ │ │ │ ├── values-w720dp-v13/ │ │ │ │ │ │ │ │ └── values-w720dp-v13.xml │ │ │ │ │ │ │ ├── values-xlarge-land-v4/ │ │ │ │ │ │ │ │ └── values-xlarge-land-v4.xml │ │ │ │ │ │ │ ├── values-xlarge-v4/ │ │ │ │ │ │ │ │ └── values-xlarge-v4.xml │ │ │ │ │ │ │ ├── values-zh-rCN/ │ │ │ │ │ │ │ │ └── values-zh-rCN.xml │ │ │ │ │ │ │ ├── values-zh-rHK/ │ │ │ │ │ │ │ │ └── values-zh-rHK.xml │ │ │ │ │ │ │ ├── values-zh-rTW/ │ │ │ │ │ │ │ │ └── values-zh-rTW.xml │ │ │ │ │ │ │ ├── values-zu/ │ │ │ │ │ │ │ │ └── values-zu.xml │ │ │ │ │ │ │ └── xml/ │ │ │ │ │ │ │ └── preferences.xml │ │ │ │ │ │ ├── resources-debug-androidTest.ap_ │ │ │ │ │ │ └── resources-debug.ap_ │ │ │ │ │ ├── restart-dex/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── build-info.xml │ │ │ │ │ ├── symbols/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── R.txt │ │ │ │ │ └── transforms/ │ │ │ │ │ ├── dex/ │ │ │ │ │ │ └── debug/ │ │ │ │ │ │ └── folders/ │ │ │ │ │ │ └── 1000/ │ │ │ │ │ │ └── 1f/ │ │ │ │ │ │ └── main/ │ │ │ │ │ │ └── classes.dex │ │ │ │ │ └── mergeJavaRes/ │ │ │ │ │ └── debug/ │ │ │ │ │ └── jars/ │ │ │ │ │ └── 2/ │ │ │ │ │ └── 1f/ │ │ │ │ │ └── main.jar │ │ │ │ └── outputs/ │ │ │ │ ├── apk/ │ │ │ │ │ ├── app-debug-unaligned.apk │ │ │ │ │ └── app-debug.apk │ │ │ │ └── logs/ │ │ │ │ └── manifest-merger-debug-report.txt │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── thegaze/ │ │ │ │ └── MainActivity.java │ │ │ └── res/ │ │ │ └── values/ │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── build/ │ │ │ ├── generated/ │ │ │ │ └── mockable-android-23.jar │ │ │ └── intermediates/ │ │ │ └── dex-cache/ │ │ │ └── cache.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── keystores/ │ │ │ ├── BUCK │ │ │ └── debug.keystore.properties │ │ ├── local.properties │ │ ├── settings.gradle │ │ └── thegaze.iml │ ├── index.android.js │ ├── index.ios.js │ ├── ios/ │ │ ├── Podfile │ │ ├── Pods/ │ │ │ ├── Bolts/ │ │ │ │ ├── Bolts/ │ │ │ │ │ ├── Common/ │ │ │ │ │ │ ├── BFCancellationToken.h │ │ │ │ │ │ ├── BFCancellationToken.m │ │ │ │ │ │ ├── BFCancellationTokenRegistration.h │ │ │ │ │ │ ├── BFCancellationTokenRegistration.m │ │ │ │ │ │ ├── BFCancellationTokenSource.h │ │ │ │ │ │ ├── BFCancellationTokenSource.m │ │ │ │ │ │ ├── BFExecutor.h │ │ │ │ │ │ ├── BFExecutor.m │ │ │ │ │ │ ├── BFTask.h │ │ │ │ │ │ ├── BFTask.m │ │ │ │ │ │ ├── BFTaskCompletionSource.h │ │ │ │ │ │ ├── BFTaskCompletionSource.m │ │ │ │ │ │ ├── Bolts.h │ │ │ │ │ │ └── Bolts.m │ │ │ │ │ └── iOS/ │ │ │ │ │ ├── BFAppLink.h │ │ │ │ │ ├── BFAppLink.m │ │ │ │ │ ├── BFAppLinkNavigation.h │ │ │ │ │ ├── BFAppLinkNavigation.m │ │ │ │ │ ├── BFAppLinkResolving.h │ │ │ │ │ ├── BFAppLinkReturnToRefererController.h │ │ │ │ │ ├── BFAppLinkReturnToRefererController.m │ │ │ │ │ ├── BFAppLinkReturnToRefererView.h │ │ │ │ │ ├── BFAppLinkReturnToRefererView.m │ │ │ │ │ ├── BFAppLinkReturnToRefererView_Internal.h │ │ │ │ │ ├── BFAppLinkTarget.h │ │ │ │ │ ├── BFAppLinkTarget.m │ │ │ │ │ ├── BFAppLink_Internal.h │ │ │ │ │ ├── BFMeasurementEvent.h │ │ │ │ │ ├── BFMeasurementEvent.m │ │ │ │ │ ├── BFMeasurementEvent_Internal.h │ │ │ │ │ ├── BFURL.h │ │ │ │ │ ├── BFURL.m │ │ │ │ │ ├── BFURL_Internal.h │ │ │ │ │ ├── BFWebViewAppLinkResolver.h │ │ │ │ │ └── BFWebViewAppLinkResolver.m │ │ │ │ ├── LICENSE │ │ │ │ └── README.md │ │ │ ├── FBSDKCoreKit/ │ │ │ │ ├── FBSDKCoreKit/ │ │ │ │ │ └── FBSDKCoreKit/ │ │ │ │ │ ├── FBSDKAccessToken.h │ │ │ │ │ ├── FBSDKAccessToken.m │ │ │ │ │ ├── FBSDKAppEvents.h │ │ │ │ │ ├── FBSDKAppEvents.m │ │ │ │ │ ├── FBSDKAppLinkResolver.h │ │ │ │ │ ├── FBSDKAppLinkResolver.m │ │ │ │ │ ├── FBSDKAppLinkUtility.h │ │ │ │ │ ├── FBSDKAppLinkUtility.m │ │ │ │ │ ├── FBSDKApplicationDelegate.h │ │ │ │ │ ├── FBSDKApplicationDelegate.m │ │ │ │ │ ├── FBSDKButton.h │ │ │ │ │ ├── FBSDKButton.m │ │ │ │ │ ├── FBSDKConstants.h │ │ │ │ │ ├── FBSDKConstants.m │ │ │ │ │ ├── FBSDKCopying.h │ │ │ │ │ ├── FBSDKCoreKit.h │ │ │ │ │ ├── FBSDKGraphErrorRecoveryProcessor.h │ │ │ │ │ ├── FBSDKGraphErrorRecoveryProcessor.m │ │ │ │ │ ├── FBSDKGraphRequest.h │ │ │ │ │ ├── FBSDKGraphRequest.m │ │ │ │ │ ├── FBSDKGraphRequestConnection.h │ │ │ │ │ ├── FBSDKGraphRequestConnection.m │ │ │ │ │ ├── FBSDKGraphRequestDataAttachment.h │ │ │ │ │ ├── FBSDKGraphRequestDataAttachment.m │ │ │ │ │ ├── FBSDKMacros.h │ │ │ │ │ ├── FBSDKMutableCopying.h │ │ │ │ │ ├── FBSDKProfile.h │ │ │ │ │ ├── FBSDKProfile.m │ │ │ │ │ ├── FBSDKProfilePictureView.h │ │ │ │ │ ├── FBSDKProfilePictureView.m │ │ │ │ │ ├── FBSDKSettings.h │ │ │ │ │ ├── FBSDKSettings.m │ │ │ │ │ ├── FBSDKTestUsersManager.h │ │ │ │ │ ├── FBSDKTestUsersManager.m │ │ │ │ │ ├── FBSDKUtility.h │ │ │ │ │ ├── FBSDKUtility.m │ │ │ │ │ ├── Internal/ │ │ │ │ │ │ ├── AppEvents/ │ │ │ │ │ │ │ ├── FBSDKAppEvents+Internal.h │ │ │ │ │ │ │ ├── FBSDKAppEventsDeviceInfo.h │ │ │ │ │ │ │ ├── FBSDKAppEventsDeviceInfo.m │ │ │ │ │ │ │ ├── FBSDKAppEventsState.h │ │ │ │ │ │ │ ├── FBSDKAppEventsState.m │ │ │ │ │ │ │ ├── FBSDKAppEventsStateManager.h │ │ │ │ │ │ │ ├── FBSDKAppEventsStateManager.m │ │ │ │ │ │ │ ├── FBSDKAppEventsUtility.h │ │ │ │ │ │ │ ├── FBSDKAppEventsUtility.m │ │ │ │ │ │ │ ├── FBSDKPaymentObserver.h │ │ │ │ │ │ │ ├── FBSDKPaymentObserver.m │ │ │ │ │ │ │ ├── FBSDKTimeSpentData.h │ │ │ │ │ │ │ └── FBSDKTimeSpentData.m │ │ │ │ │ │ ├── AppLink/ │ │ │ │ │ │ │ ├── FBSDKBoltsMeasurementEventListener.h │ │ │ │ │ │ │ ├── FBSDKBoltsMeasurementEventListener.m │ │ │ │ │ │ │ ├── FBSDKOrganicDeeplinkHelper.h │ │ │ │ │ │ │ └── FBSDKOrganicDeeplinkHelper.m │ │ │ │ │ │ ├── Base64/ │ │ │ │ │ │ │ ├── FBSDKBase64.h │ │ │ │ │ │ │ └── FBSDKBase64.m │ │ │ │ │ │ ├── BridgeAPI/ │ │ │ │ │ │ │ ├── FBSDKBridgeAPICrypto.h │ │ │ │ │ │ │ ├── FBSDKBridgeAPICrypto.m │ │ │ │ │ │ │ ├── FBSDKBridgeAPIProtocol.h │ │ │ │ │ │ │ ├── FBSDKBridgeAPIProtocolType.h │ │ │ │ │ │ │ ├── FBSDKBridgeAPIRequest+Private.h │ │ │ │ │ │ │ ├── FBSDKBridgeAPIRequest.h │ │ │ │ │ │ │ ├── FBSDKBridgeAPIRequest.m │ │ │ │ │ │ │ ├── FBSDKBridgeAPIResponse.h │ │ │ │ │ │ │ ├── FBSDKBridgeAPIResponse.m │ │ │ │ │ │ │ ├── FBSDKURLOpening.h │ │ │ │ │ │ │ └── ProtocolVersions/ │ │ │ │ │ │ │ ├── FBSDKBridgeAPIProtocolNativeV1.h │ │ │ │ │ │ │ ├── FBSDKBridgeAPIProtocolNativeV1.m │ │ │ │ │ │ │ ├── FBSDKBridgeAPIProtocolWebV1.h │ │ │ │ │ │ │ ├── FBSDKBridgeAPIProtocolWebV1.m │ │ │ │ │ │ │ ├── FBSDKBridgeAPIProtocolWebV2.h │ │ │ │ │ │ │ └── FBSDKBridgeAPIProtocolWebV2.m │ │ │ │ │ │ ├── Cryptography/ │ │ │ │ │ │ │ ├── FBSDKCrypto.h │ │ │ │ │ │ │ └── FBSDKCrypto.m │ │ │ │ │ │ ├── ErrorRecovery/ │ │ │ │ │ │ │ ├── FBSDKErrorRecoveryAttempter.h │ │ │ │ │ │ │ ├── FBSDKErrorRecoveryAttempter.m │ │ │ │ │ │ │ ├── _FBSDKTemporaryErrorRecoveryAttempter.h │ │ │ │ │ │ │ └── _FBSDKTemporaryErrorRecoveryAttempter.m │ │ │ │ │ │ ├── FBSDKApplicationDelegate+Internal.h │ │ │ │ │ │ ├── FBSDKAudioResourceLoader.h │ │ │ │ │ │ ├── FBSDKAudioResourceLoader.m │ │ │ │ │ │ ├── FBSDKContainerViewController.h │ │ │ │ │ │ ├── FBSDKContainerViewController.m │ │ │ │ │ │ ├── FBSDKCoreKit+Internal.h │ │ │ │ │ │ ├── FBSDKDynamicFrameworkLoader.h │ │ │ │ │ │ ├── FBSDKError.h │ │ │ │ │ │ ├── FBSDKError.m │ │ │ │ │ │ ├── FBSDKInternalUtility.h │ │ │ │ │ │ ├── FBSDKInternalUtility.m │ │ │ │ │ │ ├── FBSDKLogger.h │ │ │ │ │ │ ├── FBSDKLogger.m │ │ │ │ │ │ ├── FBSDKMath.h │ │ │ │ │ │ ├── FBSDKMath.m │ │ │ │ │ │ ├── FBSDKMonotonicTime.h │ │ │ │ │ │ ├── FBSDKMonotonicTime.m │ │ │ │ │ │ ├── FBSDKProfile+Internal.h │ │ │ │ │ │ ├── FBSDKSettings+Internal.h │ │ │ │ │ │ ├── FBSDKSystemAccountStoreAdapter.h │ │ │ │ │ │ ├── FBSDKSystemAccountStoreAdapter.m │ │ │ │ │ │ ├── FBSDKTriStateBOOL.h │ │ │ │ │ │ ├── FBSDKTriStateBOOL.m │ │ │ │ │ │ ├── FBSDKTypeUtility.h │ │ │ │ │ │ ├── FBSDKTypeUtility.m │ │ │ │ │ │ ├── Network/ │ │ │ │ │ │ │ ├── FBSDKGraphRequest+Internal.h │ │ │ │ │ │ │ ├── FBSDKGraphRequestBody.h │ │ │ │ │ │ │ ├── FBSDKGraphRequestBody.m │ │ │ │ │ │ │ ├── FBSDKGraphRequestConnection+Internal.h │ │ │ │ │ │ │ ├── FBSDKGraphRequestMetadata.h │ │ │ │ │ │ │ ├── FBSDKGraphRequestMetadata.m │ │ │ │ │ │ │ ├── FBSDKGraphRequestPiggybackManager.h │ │ │ │ │ │ │ ├── FBSDKGraphRequestPiggybackManager.m │ │ │ │ │ │ │ ├── FBSDKURLConnection.h │ │ │ │ │ │ │ └── FBSDKURLConnection.m │ │ │ │ │ │ ├── ServerConfiguration/ │ │ │ │ │ │ │ ├── FBSDKDialogConfiguration.h │ │ │ │ │ │ │ ├── FBSDKDialogConfiguration.m │ │ │ │ │ │ │ ├── FBSDKErrorConfiguration.h │ │ │ │ │ │ │ ├── FBSDKErrorConfiguration.m │ │ │ │ │ │ │ ├── FBSDKErrorRecoveryConfiguration.h │ │ │ │ │ │ │ ├── FBSDKErrorRecoveryConfiguration.m │ │ │ │ │ │ │ ├── FBSDKServerConfiguration+Internal.h │ │ │ │ │ │ │ ├── FBSDKServerConfiguration.h │ │ │ │ │ │ │ ├── FBSDKServerConfiguration.m │ │ │ │ │ │ │ ├── FBSDKServerConfigurationManager+Internal.h │ │ │ │ │ │ │ ├── FBSDKServerConfigurationManager.h │ │ │ │ │ │ │ └── FBSDKServerConfigurationManager.m │ │ │ │ │ │ ├── TokenCaching/ │ │ │ │ │ │ │ ├── FBSDKAccessTokenCache.h │ │ │ │ │ │ │ ├── FBSDKAccessTokenCache.m │ │ │ │ │ │ │ ├── FBSDKAccessTokenCacheV3.h │ │ │ │ │ │ │ ├── FBSDKAccessTokenCacheV3.m │ │ │ │ │ │ │ ├── FBSDKAccessTokenCacheV3_17.h │ │ │ │ │ │ │ ├── FBSDKAccessTokenCacheV3_17.m │ │ │ │ │ │ │ ├── FBSDKAccessTokenCacheV3_21.h │ │ │ │ │ │ │ ├── FBSDKAccessTokenCacheV3_21.m │ │ │ │ │ │ │ ├── FBSDKAccessTokenCacheV4.h │ │ │ │ │ │ │ ├── FBSDKAccessTokenCacheV4.m │ │ │ │ │ │ │ ├── FBSDKAccessTokenCaching.h │ │ │ │ │ │ │ ├── FBSDKKeychainStore.h │ │ │ │ │ │ │ ├── FBSDKKeychainStore.m │ │ │ │ │ │ │ ├── FBSDKKeychainStoreViaBundleID.h │ │ │ │ │ │ │ └── FBSDKKeychainStoreViaBundleID.m │ │ │ │ │ │ ├── UI/ │ │ │ │ │ │ │ ├── FBSDKButton+Subclass.h │ │ │ │ │ │ │ ├── FBSDKCloseIcon.h │ │ │ │ │ │ │ ├── FBSDKCloseIcon.m │ │ │ │ │ │ │ ├── FBSDKColor.h │ │ │ │ │ │ │ ├── FBSDKColor.m │ │ │ │ │ │ │ ├── FBSDKIcon.h │ │ │ │ │ │ │ ├── FBSDKIcon.m │ │ │ │ │ │ │ ├── FBSDKLogo.h │ │ │ │ │ │ │ ├── FBSDKLogo.m │ │ │ │ │ │ │ ├── FBSDKMaleSilhouetteIcon.h │ │ │ │ │ │ │ ├── FBSDKMaleSilhouetteIcon.m │ │ │ │ │ │ │ ├── FBSDKUIUtility.h │ │ │ │ │ │ │ ├── FBSDKViewImpressionTracker.h │ │ │ │ │ │ │ └── FBSDKViewImpressionTracker.m │ │ │ │ │ │ └── WebDialog/ │ │ │ │ │ │ ├── FBSDKWebDialog.h │ │ │ │ │ │ ├── FBSDKWebDialog.m │ │ │ │ │ │ ├── FBSDKWebDialogView.h │ │ │ │ │ │ └── FBSDKWebDialogView.m │ │ │ │ │ └── Internal_NoARC/ │ │ │ │ │ └── FBSDKDynamicFrameworkLoader.m │ │ │ │ ├── LICENSE │ │ │ │ └── README.mdown │ │ │ ├── FBSDKLoginKit/ │ │ │ │ ├── FBSDKLoginKit/ │ │ │ │ │ └── FBSDKLoginKit/ │ │ │ │ │ ├── FBSDKLoginButton.h │ │ │ │ │ ├── FBSDKLoginButton.m │ │ │ │ │ ├── FBSDKLoginConstants.h │ │ │ │ │ ├── FBSDKLoginConstants.m │ │ │ │ │ ├── FBSDKLoginKit.h │ │ │ │ │ ├── FBSDKLoginManager.h │ │ │ │ │ ├── FBSDKLoginManager.m │ │ │ │ │ ├── FBSDKLoginManagerLoginResult.h │ │ │ │ │ ├── FBSDKLoginManagerLoginResult.m │ │ │ │ │ ├── FBSDKLoginTooltipView.h │ │ │ │ │ ├── FBSDKLoginTooltipView.m │ │ │ │ │ ├── FBSDKTooltipView.h │ │ │ │ │ ├── FBSDKTooltipView.m │ │ │ │ │ └── Internal/ │ │ │ │ │ ├── FBSDKLoginCompletion+Internal.h │ │ │ │ │ ├── FBSDKLoginCompletion.h │ │ │ │ │ ├── FBSDKLoginCompletion.m │ │ │ │ │ ├── FBSDKLoginError.h │ │ │ │ │ ├── FBSDKLoginError.m │ │ │ │ │ ├── FBSDKLoginKit+Internal.h │ │ │ │ │ ├── FBSDKLoginManager+Internal.h │ │ │ │ │ ├── FBSDKLoginManagerLogger.h │ │ │ │ │ ├── FBSDKLoginManagerLogger.m │ │ │ │ │ ├── FBSDKLoginManagerLoginResult+Internal.h │ │ │ │ │ ├── FBSDKLoginUtility.h │ │ │ │ │ ├── FBSDKLoginUtility.m │ │ │ │ │ ├── _FBSDKLoginRecoveryAttempter.h │ │ │ │ │ └── _FBSDKLoginRecoveryAttempter.m │ │ │ │ ├── LICENSE │ │ │ │ └── README.mdown │ │ │ ├── FBSDKShareKit/ │ │ │ │ ├── FBSDKShareKit/ │ │ │ │ │ └── FBSDKShareKit/ │ │ │ │ │ ├── FBSDKAppGroupAddDialog.h │ │ │ │ │ ├── FBSDKAppGroupAddDialog.m │ │ │ │ │ ├── FBSDKAppGroupContent.h │ │ │ │ │ ├── FBSDKAppGroupContent.m │ │ │ │ │ ├── FBSDKAppGroupJoinDialog.h │ │ │ │ │ ├── FBSDKAppGroupJoinDialog.m │ │ │ │ │ ├── FBSDKAppInviteContent.h │ │ │ │ │ ├── FBSDKAppInviteContent.m │ │ │ │ │ ├── FBSDKAppInviteDialog.h │ │ │ │ │ ├── FBSDKAppInviteDialog.m │ │ │ │ │ ├── FBSDKGameRequestContent.h │ │ │ │ │ ├── FBSDKGameRequestContent.m │ │ │ │ │ ├── FBSDKGameRequestDialog.h │ │ │ │ │ ├── FBSDKGameRequestDialog.m │ │ │ │ │ ├── FBSDKHashtag.h │ │ │ │ │ ├── FBSDKHashtag.m │ │ │ │ │ ├── FBSDKLikeButton.h │ │ │ │ │ ├── FBSDKLikeButton.m │ │ │ │ │ ├── FBSDKLikeControl.h │ │ │ │ │ ├── FBSDKLikeControl.m │ │ │ │ │ ├── FBSDKLikeObjectType.h │ │ │ │ │ ├── FBSDKLikeObjectType.m │ │ │ │ │ ├── FBSDKLiking.h │ │ │ │ │ ├── FBSDKMessageDialog.h │ │ │ │ │ ├── FBSDKMessageDialog.m │ │ │ │ │ ├── FBSDKSendButton.h │ │ │ │ │ ├── FBSDKSendButton.m │ │ │ │ │ ├── FBSDKShareAPI.h │ │ │ │ │ ├── FBSDKShareAPI.m │ │ │ │ │ ├── FBSDKShareButton.h │ │ │ │ │ ├── FBSDKShareButton.m │ │ │ │ │ ├── FBSDKShareConstants.h │ │ │ │ │ ├── FBSDKShareConstants.m │ │ │ │ │ ├── FBSDKShareDialog.h │ │ │ │ │ ├── FBSDKShareDialog.m │ │ │ │ │ ├── FBSDKShareDialogMode.h │ │ │ │ │ ├── FBSDKShareDialogMode.m │ │ │ │ │ ├── FBSDKShareKit.h │ │ │ │ │ ├── FBSDKShareLinkContent.h │ │ │ │ │ ├── FBSDKShareLinkContent.m │ │ │ │ │ ├── FBSDKShareMediaContent.h │ │ │ │ │ ├── FBSDKShareMediaContent.m │ │ │ │ │ ├── FBSDKShareOpenGraphAction.h │ │ │ │ │ ├── FBSDKShareOpenGraphAction.m │ │ │ │ │ ├── FBSDKShareOpenGraphContent.h │ │ │ │ │ ├── FBSDKShareOpenGraphContent.m │ │ │ │ │ ├── FBSDKShareOpenGraphObject.h │ │ │ │ │ ├── FBSDKShareOpenGraphObject.m │ │ │ │ │ ├── FBSDKShareOpenGraphValueContainer.h │ │ │ │ │ ├── FBSDKShareOpenGraphValueContainer.m │ │ │ │ │ ├── FBSDKSharePhoto.h │ │ │ │ │ ├── FBSDKSharePhoto.m │ │ │ │ │ ├── FBSDKSharePhotoContent.h │ │ │ │ │ ├── FBSDKSharePhotoContent.m │ │ │ │ │ ├── FBSDKShareVideo.h │ │ │ │ │ ├── FBSDKShareVideo.m │ │ │ │ │ ├── FBSDKShareVideoContent.h │ │ │ │ │ ├── FBSDKShareVideoContent.m │ │ │ │ │ ├── FBSDKSharing.h │ │ │ │ │ ├── FBSDKSharingButton.h │ │ │ │ │ ├── FBSDKSharingContent.h │ │ │ │ │ └── Internal/ │ │ │ │ │ ├── FBSDKCheckmarkIcon.h │ │ │ │ │ ├── FBSDKCheckmarkIcon.m │ │ │ │ │ ├── FBSDKGameRequestFrictionlessRecipientCache.h │ │ │ │ │ ├── FBSDKGameRequestFrictionlessRecipientCache.m │ │ │ │ │ ├── FBSDKLikeActionController.h │ │ │ │ │ ├── FBSDKLikeActionController.m │ │ │ │ │ ├── FBSDKLikeActionControllerCache.h │ │ │ │ │ ├── FBSDKLikeActionControllerCache.m │ │ │ │ │ ├── FBSDKLikeBoxBorderView.h │ │ │ │ │ ├── FBSDKLikeBoxBorderView.m │ │ │ │ │ ├── FBSDKLikeBoxView.h │ │ │ │ │ ├── FBSDKLikeBoxView.m │ │ │ │ │ ├── FBSDKLikeButton+Internal.h │ │ │ │ │ ├── FBSDKLikeButtonPopWAV.h │ │ │ │ │ ├── FBSDKLikeButtonPopWAV.m │ │ │ │ │ ├── FBSDKLikeControl+Internal.h │ │ │ │ │ ├── FBSDKLikeDialog.h │ │ │ │ │ ├── FBSDKLikeDialog.m │ │ │ │ │ ├── FBSDKMessengerIcon.h │ │ │ │ │ ├── FBSDKMessengerIcon.m │ │ │ │ │ ├── FBSDKShareDefines.h │ │ │ │ │ ├── FBSDKShareError.h │ │ │ │ │ ├── FBSDKShareError.m │ │ │ │ │ ├── FBSDKShareKit+Internal.h │ │ │ │ │ ├── FBSDKShareLinkContent+Internal.h │ │ │ │ │ ├── FBSDKShareOpenGraphValueContainer+Internal.h │ │ │ │ │ ├── FBSDKShareUtility.h │ │ │ │ │ ├── FBSDKShareUtility.m │ │ │ │ │ ├── FBSDKVideoUploader.h │ │ │ │ │ └── FBSDKVideoUploader.m │ │ │ │ ├── LICENSE │ │ │ │ └── README.mdown │ │ │ ├── Local Podspecs/ │ │ │ │ ├── React.podspec.json │ │ │ │ ├── react-native-fbsdkcore.podspec.json │ │ │ │ ├── react-native-fbsdklogin.podspec.json │ │ │ │ └── react-native-fbsdkshare.podspec.json │ │ │ ├── Pods.xcodeproj/ │ │ │ │ ├── project.pbxproj │ │ │ │ └── xcuserdata/ │ │ │ │ └── Harini.xcuserdatad/ │ │ │ │ └── xcschemes/ │ │ │ │ ├── Bolts.xcscheme │ │ │ │ ├── FBSDKCoreKit.xcscheme │ │ │ │ ├── FBSDKLoginKit.xcscheme │ │ │ │ ├── FBSDKShareKit.xcscheme │ │ │ │ ├── Pods-thegaze.xcscheme │ │ │ │ ├── Pods-thegazeTests.xcscheme │ │ │ │ ├── React.xcscheme │ │ │ │ ├── react-native-fbsdkcore.xcscheme │ │ │ │ ├── react-native-fbsdklogin.xcscheme │ │ │ │ ├── react-native-fbsdkshare.xcscheme │ │ │ │ └── xcschememanagement.plist │ │ │ └── Target Support Files/ │ │ │ ├── Bolts/ │ │ │ │ ├── Bolts-dummy.m │ │ │ │ ├── Bolts-prefix.pch │ │ │ │ └── Bolts.xcconfig │ │ │ ├── FBSDKCoreKit/ │ │ │ │ ├── FBSDKCoreKit-dummy.m │ │ │ │ ├── FBSDKCoreKit-prefix.pch │ │ │ │ └── FBSDKCoreKit.xcconfig │ │ │ ├── FBSDKLoginKit/ │ │ │ │ ├── FBSDKLoginKit-dummy.m │ │ │ │ ├── FBSDKLoginKit-prefix.pch │ │ │ │ └── FBSDKLoginKit.xcconfig │ │ │ ├── FBSDKShareKit/ │ │ │ │ ├── FBSDKShareKit-dummy.m │ │ │ │ ├── FBSDKShareKit-prefix.pch │ │ │ │ └── FBSDKShareKit.xcconfig │ │ │ ├── Pods-thegaze/ │ │ │ │ ├── Pods-thegaze-acknowledgements.markdown │ │ │ │ ├── Pods-thegaze-acknowledgements.plist │ │ │ │ ├── Pods-thegaze-dummy.m │ │ │ │ ├── Pods-thegaze-frameworks.sh │ │ │ │ ├── Pods-thegaze-resources.sh │ │ │ │ ├── Pods-thegaze.debug.xcconfig │ │ │ │ └── Pods-thegaze.release.xcconfig │ │ │ ├── Pods-thegazeTests/ │ │ │ │ ├── Pods-thegazeTests-acknowledgements.markdown │ │ │ │ ├── Pods-thegazeTests-acknowledgements.plist │ │ │ │ ├── Pods-thegazeTests-dummy.m │ │ │ │ ├── Pods-thegazeTests-frameworks.sh │ │ │ │ ├── Pods-thegazeTests-resources.sh │ │ │ │ ├── Pods-thegazeTests.debug.xcconfig │ │ │ │ └── Pods-thegazeTests.release.xcconfig │ │ │ ├── React/ │ │ │ │ ├── React-dummy.m │ │ │ │ ├── React-prefix.pch │ │ │ │ └── React.xcconfig │ │ │ ├── react-native-fbsdkcore/ │ │ │ │ ├── react-native-fbsdkcore-dummy.m │ │ │ │ ├── react-native-fbsdkcore-prefix.pch │ │ │ │ └── react-native-fbsdkcore.xcconfig │ │ │ ├── react-native-fbsdklogin/ │ │ │ │ ├── react-native-fbsdklogin-dummy.m │ │ │ │ ├── react-native-fbsdklogin-prefix.pch │ │ │ │ └── react-native-fbsdklogin.xcconfig │ │ │ └── react-native-fbsdkshare/ │ │ │ ├── react-native-fbsdkshare-dummy.m │ │ │ ├── react-native-fbsdkshare-prefix.pch │ │ │ └── react-native-fbsdkshare.xcconfig │ │ ├── thegaze/ │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.m │ │ │ ├── Base.lproj/ │ │ │ │ └── LaunchScreen.xib │ │ │ ├── Images.xcassets/ │ │ │ │ └── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── Info.plist │ │ │ └── main.m │ │ ├── thegaze.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace/ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcuserdata/ │ │ │ │ └── Harini.xcuserdatad/ │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ ├── xcshareddata/ │ │ │ │ └── xcschemes/ │ │ │ │ └── thegaze.xcscheme │ │ │ └── xcuserdata/ │ │ │ └── Harini.xcuserdatad/ │ │ │ └── xcschemes/ │ │ │ └── xcschememanagement.plist │ │ ├── thegaze.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata/ │ │ │ └── Harini.xcuserdatad/ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── thegazeTests/ │ │ ├── Info.plist │ │ └── thegazeTests.m │ └── package.json ├── Day 011 - Docker WebApp/ │ ├── Dockerfile │ ├── README.md │ ├── html/ │ │ ├── css/ │ │ │ ├── normalize.css │ │ │ └── skeleton.css │ │ └── index.html │ └── wrapper.sh ├── Day 012 - Random GIFs App/ │ ├── Dockerfile │ ├── Dockerrun.aws.json │ ├── README.md │ ├── app.py │ ├── requirements.txt │ └── templates/ │ └── index.html ├── Day 013 - AI ChatBot/ │ ├── README.md │ ├── index.js │ └── package.json ├── Day 014-015 - FB Messenger ChatBot/ │ ├── README.md │ ├── index.js │ └── package.json ├── Day 019 - REST API/ │ ├── README.md │ └── RESTResourceServer/ │ ├── .classpath │ ├── .project │ ├── .settings/ │ │ ├── .jsdtscope │ │ ├── org.eclipse.jdt.core.prefs │ │ ├── org.eclipse.wst.common.component │ │ ├── org.eclipse.wst.common.project.facet.core.xml │ │ ├── org.eclipse.wst.jsdt.ui.superType.container │ │ └── org.eclipse.wst.jsdt.ui.superType.name │ ├── WebContent/ │ │ ├── META-INF/ │ │ │ └── MANIFEST.MF │ │ └── WEB-INF/ │ │ ├── lib/ │ │ │ ├── aopalliance-repackaged-2.4.0-b34.jar │ │ │ ├── asm-debug-all-5.0.4.jar │ │ │ ├── hk2-api-2.4.0-b34.jar │ │ │ ├── hk2-locator-2.4.0-b34.jar │ │ │ ├── hk2-utils-2.4.0-b34.jar │ │ │ ├── javassist-3.18.1-GA.jar │ │ │ ├── javax.annotation-api-1.2.jar │ │ │ ├── javax.inject-2.4.0-b34.jar │ │ │ ├── javax.servlet-api-3.0.1.jar │ │ │ ├── javax.ws.rs-api-2.0.1.jar │ │ │ ├── jaxb-api-2.2.7.jar │ │ │ ├── jersey-client.jar │ │ │ ├── jersey-common.jar │ │ │ ├── jersey-container-servlet-core.jar │ │ │ ├── jersey-container-servlet.jar │ │ │ ├── jersey-guava-2.22.2.jar │ │ │ ├── jersey-media-jaxb.jar │ │ │ ├── jersey-server.jar │ │ │ ├── org.osgi.core-4.2.0.jar │ │ │ ├── osgi-resource-locator-1.0.1.jar │ │ │ ├── persistence-api-1.0.jar │ │ │ └── validation-api-1.1.0.Final.jar │ │ └── web.xml │ └── src/ │ └── com/ │ └── resourceserver/ │ ├── User.java │ ├── UserDao.java │ └── UserService.java ├── Day 020 - Go Lang App/ │ ├── Go/ │ │ ├── bin/ │ │ │ └── mathapp │ │ ├── pkg/ │ │ │ └── darwin_amd64/ │ │ │ └── mymath.a │ │ └── src/ │ │ ├── mathapp/ │ │ │ └── main.go │ │ └── mymath/ │ │ └── sqrt.go │ └── README.md ├── Day 021 - Twitter Bot/ │ ├── README.md │ ├── package.json │ └── quote.js ├── Day 022 - AI GameBot using Universe/ │ ├── README.md │ ├── gamebot_advanced.py │ └── gamebot_basic.py ├── Day 023 - Image Classifier using deep learning CNN model/ │ ├── DrogonOrViserion.ipynb │ └── README.md ├── Day 16-18 - Chrome Extension App/ │ ├── README.md │ ├── background.html │ ├── background.js │ ├── core.js │ ├── jquery.js │ ├── json2.js │ ├── manifest.json │ ├── popup.html │ ├── popup.js │ └── style.css ├── LICENSE └── README.md ================================================ FILE CONTENTS ================================================ ================================================ FILE: Day 001 - React App/README.md ================================================ 100DaysOfCode Challenge - React App #DAY 1 - 100 Days Of Code Challenge - Installed react, react DOM, babel, webpack with npm. - Learnt how to setup and run my very first React App with a single component of the famous "Hello World". - The app was configured using webpack and transpiled using babel Read more about it on medium here: https://medium.com/@hmovielabs About me and other interesting projects on my website: http://HMovieLabs.com/ ================================================ FILE: Day 001 - React App/app/components/main.js ================================================ var React = require('react'); var ReactDOM = require('react-dom'); var Main = React.createClass({ render: function(){ return (
Hello World
) } }); ReactDOM.render(
, document.getElementById('app')); ================================================ FILE: Day 001 - React App/package.json ================================================ { "name": "reactapp", "version": "1.0.0", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "react": "^15.0.2" }, "devDependencies": { "babel-core": "node_modules/babel-core", "babel-loader": "node_modules/babel-loader", "babel-preset-es2015": "^6.6.0", "babel-preset-es2016": "^6.0.11", "babel-preset-react": "node_modules/babel-preset-react", "webpack": "^1.13.0" }, "description": "" } ================================================ FILE: Day 001 - React App/public/bundle.js ================================================ /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ }; /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ // Flag the module as loaded /******/ module.loaded = true; /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ // Load entry module and return exports /******/ return __webpack_require__(0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var React = __webpack_require__(1); var ReactDOM = __webpack_require__(33); var Main = React.createClass({ displayName: 'Main', render: function render() { return React.createElement( 'div', null, 'Hello World' ); } }); ReactDOM.render(React.createElement(Main, null), document.getElementById('app')); /***/ }, /* 1 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; module.exports = __webpack_require__(2); /***/ }, /* 2 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule React */ 'use strict'; var _assign = __webpack_require__(4); var ReactChildren = __webpack_require__(5); var ReactComponent = __webpack_require__(16); var ReactClass = __webpack_require__(22); var ReactDOMFactories = __webpack_require__(27); var ReactElement = __webpack_require__(8); var ReactElementValidator = __webpack_require__(28); var ReactPropTypes = __webpack_require__(30); var ReactVersion = __webpack_require__(31); var onlyChild = __webpack_require__(32); var warning = __webpack_require__(10); var createElement = ReactElement.createElement; var createFactory = ReactElement.createFactory; var cloneElement = ReactElement.cloneElement; if (process.env.NODE_ENV !== 'production') { createElement = ReactElementValidator.createElement; createFactory = ReactElementValidator.createFactory; cloneElement = ReactElementValidator.cloneElement; } var __spread = _assign; if (process.env.NODE_ENV !== 'production') { var warned = false; __spread = function () { process.env.NODE_ENV !== 'production' ? warning(warned, 'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See https://fb.me/react-spread-deprecation for more details.') : void 0; warned = true; return _assign.apply(null, arguments); }; } var React = { // Modern Children: { map: ReactChildren.map, forEach: ReactChildren.forEach, count: ReactChildren.count, toArray: ReactChildren.toArray, only: onlyChild }, Component: ReactComponent, createElement: createElement, cloneElement: cloneElement, isValidElement: ReactElement.isValidElement, // Classic PropTypes: ReactPropTypes, createClass: ReactClass.createClass, createFactory: createFactory, createMixin: function (mixin) { // Currently a noop. Will be used to validate and trace mixins. return mixin; }, // This looks DOM specific but these are actually isomorphic helpers // since they are just generating DOM strings. DOM: ReactDOMFactories, version: ReactVersion, // Deprecated hook for JSX spread, don't use this for anything. __spread: __spread }; module.exports = React; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 3 */ /***/ function(module, exports) { // shim for using process in browser var process = module.exports = {}; var queue = []; var draining = false; var currentQueue; var queueIndex = -1; function cleanUpNextTick() { if (!draining || !currentQueue) { return; } draining = false; if (currentQueue.length) { queue = currentQueue.concat(queue); } else { queueIndex = -1; } if (queue.length) { drainQueue(); } } function drainQueue() { if (draining) { return; } var timeout = setTimeout(cleanUpNextTick); draining = true; var len = queue.length; while(len) { currentQueue = queue; queue = []; while (++queueIndex < len) { if (currentQueue) { currentQueue[queueIndex].run(); } } queueIndex = -1; len = queue.length; } currentQueue = null; draining = false; clearTimeout(timeout); } process.nextTick = function (fun) { var args = new Array(arguments.length - 1); if (arguments.length > 1) { for (var i = 1; i < arguments.length; i++) { args[i - 1] = arguments[i]; } } queue.push(new Item(fun, args)); if (queue.length === 1 && !draining) { setTimeout(drainQueue, 0); } }; // v8 likes predictible objects function Item(fun, array) { this.fun = fun; this.array = array; } Item.prototype.run = function () { this.fun.apply(null, this.array); }; process.title = 'browser'; process.browser = true; process.env = {}; process.argv = []; process.version = ''; // empty string to avoid regexp issues process.versions = {}; function noop() {} process.on = noop; process.addListener = noop; process.once = noop; process.off = noop; process.removeListener = noop; process.removeAllListeners = noop; process.emit = noop; process.binding = function (name) { throw new Error('process.binding is not supported'); }; process.cwd = function () { return '/' }; process.chdir = function (dir) { throw new Error('process.chdir is not supported'); }; process.umask = function() { return 0; }; /***/ }, /* 4 */ /***/ function(module, exports) { 'use strict'; /* eslint-disable no-unused-vars */ var hasOwnProperty = Object.prototype.hasOwnProperty; var propIsEnumerable = Object.prototype.propertyIsEnumerable; function toObject(val) { if (val === null || val === undefined) { throw new TypeError('Object.assign cannot be called with null or undefined'); } return Object(val); } function shouldUseNative() { try { if (!Object.assign) { return false; } // Detect buggy property enumeration order in older V8 versions. // https://bugs.chromium.org/p/v8/issues/detail?id=4118 var test1 = new String('abc'); // eslint-disable-line test1[5] = 'de'; if (Object.getOwnPropertyNames(test1)[0] === '5') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test2 = {}; for (var i = 0; i < 10; i++) { test2['_' + String.fromCharCode(i)] = i; } var order2 = Object.getOwnPropertyNames(test2).map(function (n) { return test2[n]; }); if (order2.join('') !== '0123456789') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test3 = {}; 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { test3[letter] = letter; }); if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') { return false; } return true; } catch (e) { // We don't expect any of the above to throw, but better to be safe. return false; } } module.exports = shouldUseNative() ? Object.assign : function (target, source) { var from; var to = toObject(target); var symbols; for (var s = 1; s < arguments.length; s++) { from = Object(arguments[s]); for (var key in from) { if (hasOwnProperty.call(from, key)) { to[key] = from[key]; } } if (Object.getOwnPropertySymbols) { symbols = Object.getOwnPropertySymbols(from); for (var i = 0; i < symbols.length; i++) { if (propIsEnumerable.call(from, symbols[i])) { to[symbols[i]] = from[symbols[i]]; } } } } return to; }; /***/ }, /* 5 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactChildren */ 'use strict'; var PooledClass = __webpack_require__(6); var ReactElement = __webpack_require__(8); var emptyFunction = __webpack_require__(11); var traverseAllChildren = __webpack_require__(13); var twoArgumentPooler = PooledClass.twoArgumentPooler; var fourArgumentPooler = PooledClass.fourArgumentPooler; var userProvidedKeyEscapeRegex = /\/+/g; function escapeUserProvidedKey(text) { return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/'); } /** * PooledClass representing the bookkeeping associated with performing a child * traversal. Allows avoiding binding callbacks. * * @constructor ForEachBookKeeping * @param {!function} forEachFunction Function to perform traversal with. * @param {?*} forEachContext Context to perform context with. */ function ForEachBookKeeping(forEachFunction, forEachContext) { this.func = forEachFunction; this.context = forEachContext; this.count = 0; } ForEachBookKeeping.prototype.destructor = function () { this.func = null; this.context = null; this.count = 0; }; PooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler); function forEachSingleChild(bookKeeping, child, name) { var func = bookKeeping.func; var context = bookKeeping.context; func.call(context, child, bookKeeping.count++); } /** * Iterates through children that are typically specified as `props.children`. * * The provided forEachFunc(child, index) will be called for each * leaf child. * * @param {?*} children Children tree container. * @param {function(*, int)} forEachFunc * @param {*} forEachContext Context for forEachContext. */ function forEachChildren(children, forEachFunc, forEachContext) { if (children == null) { return children; } var traverseContext = ForEachBookKeeping.getPooled(forEachFunc, forEachContext); traverseAllChildren(children, forEachSingleChild, traverseContext); ForEachBookKeeping.release(traverseContext); } /** * PooledClass representing the bookkeeping associated with performing a child * mapping. Allows avoiding binding callbacks. * * @constructor MapBookKeeping * @param {!*} mapResult Object containing the ordered map of results. * @param {!function} mapFunction Function to perform mapping with. * @param {?*} mapContext Context to perform mapping with. */ function MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) { this.result = mapResult; this.keyPrefix = keyPrefix; this.func = mapFunction; this.context = mapContext; this.count = 0; } MapBookKeeping.prototype.destructor = function () { this.result = null; this.keyPrefix = null; this.func = null; this.context = null; this.count = 0; }; PooledClass.addPoolingTo(MapBookKeeping, fourArgumentPooler); function mapSingleChildIntoContext(bookKeeping, child, childKey) { var result = bookKeeping.result; var keyPrefix = bookKeeping.keyPrefix; var func = bookKeeping.func; var context = bookKeeping.context; var mappedChild = func.call(context, child, bookKeeping.count++); if (Array.isArray(mappedChild)) { mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, emptyFunction.thatReturnsArgument); } else if (mappedChild != null) { if (ReactElement.isValidElement(mappedChild)) { mappedChild = ReactElement.cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as // traverseAllChildren used to do for objects as children keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey); } result.push(mappedChild); } } function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) { var escapedPrefix = ''; if (prefix != null) { escapedPrefix = escapeUserProvidedKey(prefix) + '/'; } var traverseContext = MapBookKeeping.getPooled(array, escapedPrefix, func, context); traverseAllChildren(children, mapSingleChildIntoContext, traverseContext); MapBookKeeping.release(traverseContext); } /** * Maps children that are typically specified as `props.children`. * * The provided mapFunction(child, index) will be called for each * leaf child. * * @param {?*} children Children tree container. * @param {function(*, int)} func The map function. * @param {*} context Context for mapFunction. * @return {object} Object containing the ordered map of results. */ function mapChildren(children, func, context) { if (children == null) { return children; } var result = []; mapIntoWithKeyPrefixInternal(children, result, null, func, context); return result; } function forEachSingleChildDummy(traverseContext, child, name) { return null; } /** * Count the number of children that are typically specified as * `props.children`. * * @param {?*} children Children tree container. * @return {number} The number of children. */ function countChildren(children, context) { return traverseAllChildren(children, forEachSingleChildDummy, null); } /** * Flatten a children object (typically specified as `props.children`) and * return an array with appropriately re-keyed children. */ function toArray(children) { var result = []; mapIntoWithKeyPrefixInternal(children, result, null, emptyFunction.thatReturnsArgument); return result; } var ReactChildren = { forEach: forEachChildren, map: mapChildren, mapIntoWithKeyPrefixInternal: mapIntoWithKeyPrefixInternal, count: countChildren, toArray: toArray }; module.exports = ReactChildren; /***/ }, /* 6 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule PooledClass */ 'use strict'; var invariant = __webpack_require__(7); /** * Static poolers. Several custom versions for each potential number of * arguments. A completely generic pooler is easy to implement, but would * require accessing the `arguments` object. In each of these, `this` refers to * the Class itself, not an instance. If any others are needed, simply add them * here, or in their own files. */ 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; !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : invariant(false) : void 0; instance.destructor(); if (Klass.instancePool.length < Klass.poolSize) { Klass.instancePool.push(instance); } }; var DEFAULT_POOL_SIZE = 10; var DEFAULT_POOLER = oneArgumentPooler; /** * Augments `CopyConstructor` to be a poolable class, augmenting only the class * itself (statically) not adding any prototypical fields. Any CopyConstructor * you give this may have a `poolSize` property, and will look for a * prototypical `destructor` on instances (optional). * * @param {Function} CopyConstructor Constructor that can be used to reset. * @param {Function} pooler Customizable pooler. */ 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; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 7 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; /** * Use invariant() to assert state which your program assumes to be true. * * Provide sprintf-style format (only %s is supported) and arguments * to provide information about what broke and what you were * expecting. * * The invariant message will be stripped in production, but the invariant * will remain to ensure logic does not differ in production. */ function invariant(condition, format, a, b, c, d, e, f) { if (process.env.NODE_ENV !== 'production') { 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(format.replace(/%s/g, function () { return args[argIndex++]; })); error.name = 'Invariant Violation'; } error.framesToPop = 1; // we don't care about invariant's own frame throw error; } } module.exports = invariant; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 8 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactElement */ 'use strict'; var _assign = __webpack_require__(4); var ReactCurrentOwner = __webpack_require__(9); var warning = __webpack_require__(10); var canDefineProperty = __webpack_require__(12); // The Symbol used to tag the ReactElement type. If there is no native Symbol // nor polyfill, then a plain number is used for performance. 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 specialPropKeyWarningShown, specialPropRefWarningShown; /** * Factory method to create a new React element. This no longer adheres to * the class pattern, so do not use new to call it. Also, no instanceof check * will work. Instead test $$typeof field against Symbol.for('react.element') to check * if something is a React Element. * * @param {*} type * @param {*} key * @param {string|object} ref * @param {*} self A *temporary* helper to detect places where `this` is * different from the `owner` when React.createElement is called, so that we * can warn. We want to get rid of owner and replace string `ref`s with arrow * functions, and as long as `this` and owner are the same, there will be no * change in behavior. * @param {*} source An annotation object (added by a transpiler or otherwise) * indicating filename, line number, and/or other information. * @param {*} owner * @param {*} props * @internal */ var ReactElement = function (type, key, ref, self, source, owner, props) { var element = { // This tag allow us to uniquely identify this as a React Element $$typeof: REACT_ELEMENT_TYPE, // Built-in properties that belong on the element type: type, key: key, ref: ref, props: props, // Record the component responsible for creating this element. _owner: owner }; if (process.env.NODE_ENV !== 'production') { // The validation flag is currently mutative. We put it on // an external backing store so that we can freeze the whole object. // This can be replaced with a WeakMap once they are implemented in // commonly used development environments. element._store = {}; // To make comparing ReactElements easier for testing purposes, we make // the validation flag non-enumerable (where possible, which should // include every environment we run tests in), so the test framework // ignores it. if (canDefineProperty) { Object.defineProperty(element._store, 'validated', { configurable: false, enumerable: false, writable: true, value: false }); // self and source are DEV only properties. Object.defineProperty(element, '_self', { configurable: false, enumerable: false, writable: false, value: self }); // Two elements created in two different places should be considered // equal for testing purposes and therefore we hide it from enumeration. Object.defineProperty(element, '_source', { configurable: false, enumerable: false, writable: false, value: source }); } else { element._store.validated = false; element._self = self; element._source = source; } if (Object.freeze) { Object.freeze(element.props); Object.freeze(element); } } return element; }; ReactElement.createElement = function (type, config, children) { var propName; // Reserved names are extracted var props = {}; var key = null; var ref = null; var self = null; var source = null; if (config != null) { if (process.env.NODE_ENV !== 'production') { ref = !config.hasOwnProperty('ref') || Object.getOwnPropertyDescriptor(config, 'ref').get ? null : config.ref; key = !config.hasOwnProperty('key') || Object.getOwnPropertyDescriptor(config, 'key').get ? null : '' + config.key; } else { 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; // Remaining properties are added to a new props object for (propName in config) { if (config.hasOwnProperty(propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { props[propName] = config[propName]; } } } // Children can be more than one argument, and those are transferred onto // the newly allocated props object. 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; } // Resolve default props if (type && type.defaultProps) { var defaultProps = type.defaultProps; for (propName in defaultProps) { if (props[propName] === undefined) { props[propName] = defaultProps[propName]; } } } if (process.env.NODE_ENV !== 'production') { // Create dummy `key` and `ref` property to `props` to warn users // against its use if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) { if (!props.hasOwnProperty('key')) { Object.defineProperty(props, 'key', { get: function () { if (!specialPropKeyWarningShown) { specialPropKeyWarningShown = true; process.env.NODE_ENV !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', typeof type === 'function' && 'displayName' in type ? type.displayName : 'Element') : void 0; } return undefined; }, configurable: true }); } if (!props.hasOwnProperty('ref')) { Object.defineProperty(props, 'ref', { get: function () { if (!specialPropRefWarningShown) { specialPropRefWarningShown = true; process.env.NODE_ENV !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', typeof type === 'function' && 'displayName' in type ? type.displayName : 'Element') : void 0; } return undefined; }, configurable: true }); } } } return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); }; ReactElement.createFactory = function (type) { var factory = ReactElement.createElement.bind(null, type); // Expose the type on the factory and the prototype so that it can be // easily accessed on elements. E.g. `.type === Foo`. // This should not be named `constructor` since this may not be the function // that created the element, and it may not even be a constructor. // Legacy hook TODO: Warn if this is accessed 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.cloneElement = function (element, config, children) { var propName; // Original props are copied var props = _assign({}, element.props); // Reserved names are extracted var key = element.key; var ref = element.ref; // Self is preserved since the owner is preserved. var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a // transpiler, and the original source is probably a better indicator of the // true owner. var source = element._source; // Owner will be preserved, unless ref is overridden var owner = element._owner; if (config != null) { if (config.ref !== undefined) { // Silently steal the ref from the parent. ref = config.ref; owner = ReactCurrentOwner.current; } if (config.key !== undefined) { key = '' + config.key; } // Remaining properties override existing props var defaultProps; if (element.type && element.type.defaultProps) { defaultProps = element.type.defaultProps; } for (propName in config) { if (config.hasOwnProperty(propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { if (config[propName] === undefined && defaultProps !== undefined) { // Resolve default props props[propName] = defaultProps[propName]; } else { props[propName] = config[propName]; } } } } // Children can be more than one argument, and those are transferred onto // the newly allocated props object. 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); }; /** * @param {?object} object * @return {boolean} True if `object` is a valid component. * @final */ ReactElement.isValidElement = function (object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; }; module.exports = ReactElement; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 9 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactCurrentOwner */ 'use strict'; /** * Keeps track of the current owner. * * The current owner is the component who should own any components that are * currently being constructed. */ var ReactCurrentOwner = { /** * @internal * @type {ReactComponent} */ current: null }; module.exports = ReactCurrentOwner; /***/ }, /* 10 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-2015, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var emptyFunction = __webpack_require__(11); /** * Similar to invariant but only logs a warning if the condition is not met. * This can be used to log issues in development environments in critical * paths. Removing the logging code for production environments will keep the * same logic and follow the same code paths. */ var warning = emptyFunction; if (process.env.NODE_ENV !== 'production') { 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; // Ignore CompositeComponent proptype check. } if (!condition) { var argIndex = 0; var message = 'Warning: ' + format.replace(/%s/g, function () { return args[argIndex++]; }); if (typeof console !== 'undefined') { console.error(message); } try { // --- Welcome to debugging React --- // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch (x) {} } }; } module.exports = warning; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 11 */ /***/ function(module, exports) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ function makeEmptyFunction(arg) { return function () { return arg; }; } /** * This function accepts and discards inputs; it has no side effects. This is * primarily useful idiomatically for overridable function endpoints which * always need to be callable, since JS lacks a null-call idiom ala Cocoa. */ 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; /***/ }, /* 12 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule canDefineProperty */ 'use strict'; var canDefineProperty = false; if (process.env.NODE_ENV !== 'production') { try { Object.defineProperty({}, 'x', { get: function () {} }); canDefineProperty = true; } catch (x) { // IE will fail on defineProperty } } module.exports = canDefineProperty; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 13 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule traverseAllChildren */ 'use strict'; var ReactCurrentOwner = __webpack_require__(9); var ReactElement = __webpack_require__(8); var getIteratorFn = __webpack_require__(14); var invariant = __webpack_require__(7); var KeyEscapeUtils = __webpack_require__(15); var warning = __webpack_require__(10); var SEPARATOR = '.'; var SUBSEPARATOR = ':'; /** * TODO: Test that a single child and an array with one item have the same key * pattern. */ var didWarnAboutMaps = false; /** * Generate a key string that identifies a component within a set. * * @param {*} component A component that could contain a manual key. * @param {number} index Index that is used if a manual key is not provided. * @return {string} */ function getComponentKey(component, index) { // Do some typechecking here since we call this blindly. We want to ensure // that we don't block potential future ES APIs. if (component && typeof component === 'object' && component.key != null) { // Explicit key return KeyEscapeUtils.escape(component.key); } // Implicit key determined by the index in the set return index.toString(36); } /** * @param {?*} children Children tree container. * @param {!string} nameSoFar Name of the key path so far. * @param {!function} callback Callback to invoke with each child found. * @param {?*} traverseContext Used to pass information throughout the traversal * process. * @return {!number} The number of children in this subtree. */ function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) { var type = typeof children; if (type === 'undefined' || type === 'boolean') { // All of the above are perceived as null. children = null; } if (children === null || type === 'string' || type === 'number' || ReactElement.isValidElement(children)) { callback(traverseContext, children, // If it's the only child, treat the name as if it was wrapped in an array // so that it's consistent if the number of children grows. nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar); return 1; } var child; var nextName; var subtreeCount = 0; // Count of children found in the current subtree. var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR; if (Array.isArray(children)) { for (var i = 0; i < children.length; i++) { child = children[i]; nextName = nextNamePrefix + getComponentKey(child, i); subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); } } else { var iteratorFn = getIteratorFn(children); if (iteratorFn) { var iterator = iteratorFn.call(children); var step; if (iteratorFn !== children.entries) { var ii = 0; while (!(step = iterator.next()).done) { child = step.value; nextName = nextNamePrefix + getComponentKey(child, ii++); subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); } } else { if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.') : void 0; didWarnAboutMaps = true; } // Iterator will provide entry [k,v] tuples rather than values. while (!(step = iterator.next()).done) { var entry = step.value; if (entry) { child = entry[1]; nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0); subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); } } } } else if (type === 'object') { var addendum = ''; if (process.env.NODE_ENV !== 'production') { addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.'; if (children._isReactElement) { addendum = ' It looks like you\'re using an element created by a different ' + 'version of React. Make sure to use only one copy of React.'; } if (ReactCurrentOwner.current) { var name = ReactCurrentOwner.current.getName(); if (name) { addendum += ' Check the render method of `' + name + '`.'; } } } var childrenString = String(children); true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : invariant(false) : void 0; } } return subtreeCount; } /** * Traverses children that are typically specified as `props.children`, but * might also be specified through attributes: * * - `traverseAllChildren(this.props.children, ...)` * - `traverseAllChildren(this.props.leftPanelChildren, ...)` * * The `traverseContext` is an optional argument that is passed through the * entire traversal. It can be used to store accumulations or anything else that * the callback might find relevant. * * @param {?*} children Children tree object. * @param {!function} callback To invoke upon traversing each child. * @param {?*} traverseContext Context for traversal. * @return {!number} The number of children in this subtree. */ function traverseAllChildren(children, callback, traverseContext) { if (children == null) { return 0; } return traverseAllChildrenImpl(children, '', callback, traverseContext); } module.exports = traverseAllChildren; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 14 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getIteratorFn */ 'use strict'; /* global Symbol */ var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. /** * Returns the iterator method function contained on the iterable object. * * Be sure to invoke the function with the iterable as context: * * var iteratorFn = getIteratorFn(myIterable); * if (iteratorFn) { * var iterator = iteratorFn.call(myIterable); * ... * } * * @param {?object} maybeIterable * @return {?function} */ function getIteratorFn(maybeIterable) { var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); if (typeof iteratorFn === 'function') { return iteratorFn; } } module.exports = getIteratorFn; /***/ }, /* 15 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule KeyEscapeUtils */ 'use strict'; /** * Escape and wrap key so it is safe to use as a reactid * * @param {*} key to be escaped. * @return {string} the escaped key. */ function escape(key) { var escapeRegex = /[=:]/g; var escaperLookup = { '=': '=0', ':': '=2' }; var escapedString = ('' + key).replace(escapeRegex, function (match) { return escaperLookup[match]; }); return '$' + escapedString; } /** * Unescape and unwrap key for human-readable display * * @param {string} key to unescape. * @return {string} the unescaped key. */ function unescape(key) { var unescapeRegex = /(=0|=2)/g; var unescaperLookup = { '=0': '=', '=2': ':' }; var keySubstring = key[0] === '.' && key[1] === '$' ? key.substring(2) : key.substring(1); return ('' + keySubstring).replace(unescapeRegex, function (match) { return unescaperLookup[match]; }); } var KeyEscapeUtils = { escape: escape, unescape: unescape }; module.exports = KeyEscapeUtils; /***/ }, /* 16 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactComponent */ 'use strict'; var ReactNoopUpdateQueue = __webpack_require__(17); var ReactInstrumentation = __webpack_require__(18); var canDefineProperty = __webpack_require__(12); var emptyObject = __webpack_require__(21); var invariant = __webpack_require__(7); var warning = __webpack_require__(10); /** * Base class helpers for the updating state of a component. */ function ReactComponent(props, context, updater) { this.props = props; this.context = context; this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the // renderer. this.updater = updater || ReactNoopUpdateQueue; } ReactComponent.prototype.isReactComponent = {}; /** * Sets a subset of the state. Always use this to mutate * state. You should treat `this.state` as immutable. * * There is no guarantee that `this.state` will be immediately updated, so * accessing `this.state` after calling this method may return the old value. * * There is no guarantee that calls to `setState` will run synchronously, * as they may eventually be batched together. You can provide an optional * callback that will be executed when the call to setState is actually * completed. * * When a function is provided to setState, it will be called at some point in * the future (not synchronously). It will be called with the up to date * component arguments (state, props, context). These values can be different * from this.* because your function may be called after receiveProps but before * shouldComponentUpdate, and this new state, props, and context will not yet be * assigned to this. * * @param {object|function} partialState Next partial state or function to * produce next partial state to be merged with current state. * @param {?function} callback Called after state is updated. * @final * @protected */ ReactComponent.prototype.setState = function (partialState, callback) { !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.') : invariant(false) : void 0; if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onSetState(); process.env.NODE_ENV !== 'production' ? warning(partialState != null, 'setState(...): You passed an undefined or null state object; ' + 'instead, use forceUpdate().') : void 0; } this.updater.enqueueSetState(this, partialState); if (callback) { this.updater.enqueueCallback(this, callback, 'setState'); } }; /** * Forces an update. This should only be invoked when it is known with * certainty that we are **not** in a DOM transaction. * * You may want to call this when you know that some deeper aspect of the * component's state has changed but `setState` was not called. * * This will not invoke `shouldComponentUpdate`, but it will invoke * `componentWillUpdate` and `componentDidUpdate`. * * @param {?function} callback Called after update is complete. * @final * @protected */ ReactComponent.prototype.forceUpdate = function (callback) { this.updater.enqueueForceUpdate(this); if (callback) { this.updater.enqueueCallback(this, callback, 'forceUpdate'); } }; /** * Deprecated APIs. These APIs used to exist on classic React classes but since * we would like to deprecate them, we're not going to move them over to this * modern base class. Instead, we define a getter that warns if it's accessed. */ if (process.env.NODE_ENV !== 'production') { var deprecatedAPIs = { isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'], replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).'] }; var defineDeprecationWarning = function (methodName, info) { if (canDefineProperty) { Object.defineProperty(ReactComponent.prototype, methodName, { get: function () { process.env.NODE_ENV !== 'production' ? warning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]) : void 0; return undefined; } }); } }; for (var fnName in deprecatedAPIs) { if (deprecatedAPIs.hasOwnProperty(fnName)) { defineDeprecationWarning(fnName, deprecatedAPIs[fnName]); } } } module.exports = ReactComponent; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 17 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactNoopUpdateQueue */ 'use strict'; var warning = __webpack_require__(10); function warnTDZ(publicInstance, callerName) { if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, publicInstance.constructor && publicInstance.constructor.displayName || '') : void 0; } } /** * This is the abstract API for an update queue. */ var ReactNoopUpdateQueue = { /** * Checks whether or not this composite component is mounted. * @param {ReactClass} publicInstance The instance we want to test. * @return {boolean} True if mounted, false otherwise. * @protected * @final */ isMounted: function (publicInstance) { return false; }, /** * Enqueue a callback that will be executed after all the pending updates * have processed. * * @param {ReactClass} publicInstance The instance to use as `this` context. * @param {?function} callback Called after state is updated. * @internal */ enqueueCallback: function (publicInstance, callback) {}, /** * Forces an update. This should only be invoked when it is known with * certainty that we are **not** in a DOM transaction. * * You may want to call this when you know that some deeper aspect of the * component's state has changed but `setState` was not called. * * This will not invoke `shouldComponentUpdate`, but it will invoke * `componentWillUpdate` and `componentDidUpdate`. * * @param {ReactClass} publicInstance The instance that should rerender. * @internal */ enqueueForceUpdate: function (publicInstance) { warnTDZ(publicInstance, 'forceUpdate'); }, /** * Replaces all of the state. Always use this or `setState` to mutate state. * You should treat `this.state` as immutable. * * There is no guarantee that `this.state` will be immediately updated, so * accessing `this.state` after calling this method may return the old value. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {object} completeState Next state. * @internal */ enqueueReplaceState: function (publicInstance, completeState) { warnTDZ(publicInstance, 'replaceState'); }, /** * Sets a subset of the state. This only exists because _pendingState is * internal. This provides a merging strategy that is not available to deep * properties which is confusing. TODO: Expose pendingState or don't use it * during the merge. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {object} partialState Next partial state to be merged with state. * @internal */ enqueueSetState: function (publicInstance, partialState) { warnTDZ(publicInstance, 'setState'); } }; module.exports = ReactNoopUpdateQueue; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 18 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactInstrumentation */ 'use strict'; var ReactDebugTool = __webpack_require__(19); module.exports = { debugTool: ReactDebugTool }; /***/ }, /* 19 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDebugTool */ 'use strict'; var ReactInvalidSetStateWarningDevTool = __webpack_require__(20); var warning = __webpack_require__(10); var eventHandlers = []; var handlerDoesThrowForEvent = {}; function emitEvent(handlerFunctionName, arg1, arg2, arg3, arg4, arg5) { if (process.env.NODE_ENV !== 'production') { eventHandlers.forEach(function (handler) { try { if (handler[handlerFunctionName]) { handler[handlerFunctionName](arg1, arg2, arg3, arg4, arg5); } } catch (e) { process.env.NODE_ENV !== 'production' ? warning(!handlerDoesThrowForEvent[handlerFunctionName], 'exception thrown by devtool while handling %s: %s', handlerFunctionName, e.message) : void 0; handlerDoesThrowForEvent[handlerFunctionName] = true; } }); } } var ReactDebugTool = { addDevtool: function (devtool) { eventHandlers.push(devtool); }, removeDevtool: function (devtool) { for (var i = 0; i < eventHandlers.length; i++) { if (eventHandlers[i] === devtool) { eventHandlers.splice(i, 1); i--; } } }, onBeginProcessingChildContext: function () { emitEvent('onBeginProcessingChildContext'); }, onEndProcessingChildContext: function () { emitEvent('onEndProcessingChildContext'); }, onSetState: function () { emitEvent('onSetState'); }, onMountRootComponent: function (internalInstance) { emitEvent('onMountRootComponent', internalInstance); }, onMountComponent: function (internalInstance) { emitEvent('onMountComponent', internalInstance); }, onUpdateComponent: function (internalInstance) { emitEvent('onUpdateComponent', internalInstance); }, onUnmountComponent: function (internalInstance) { emitEvent('onUnmountComponent', internalInstance); } }; ReactDebugTool.addDevtool(ReactInvalidSetStateWarningDevTool); module.exports = ReactDebugTool; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 20 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactInvalidSetStateWarningDevTool */ 'use strict'; var warning = __webpack_require__(10); if (process.env.NODE_ENV !== 'production') { var processingChildContext = false; var warnInvalidSetState = function () { process.env.NODE_ENV !== 'production' ? warning(!processingChildContext, 'setState(...): Cannot call setState() inside getChildContext()') : void 0; }; } var ReactInvalidSetStateWarningDevTool = { onBeginProcessingChildContext: function () { processingChildContext = true; }, onEndProcessingChildContext: function () { processingChildContext = false; }, onSetState: function () { warnInvalidSetState(); } }; module.exports = ReactInvalidSetStateWarningDevTool; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 21 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var emptyObject = {}; if (process.env.NODE_ENV !== 'production') { Object.freeze(emptyObject); } module.exports = emptyObject; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 22 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactClass */ 'use strict'; var _assign = __webpack_require__(4); var ReactComponent = __webpack_require__(16); var ReactElement = __webpack_require__(8); var ReactPropTypeLocations = __webpack_require__(23); var ReactPropTypeLocationNames = __webpack_require__(25); var ReactNoopUpdateQueue = __webpack_require__(17); var emptyObject = __webpack_require__(21); var invariant = __webpack_require__(7); var keyMirror = __webpack_require__(24); var keyOf = __webpack_require__(26); var warning = __webpack_require__(10); var MIXINS_KEY = keyOf({ mixins: null }); /** * Policies that describe methods in `ReactClassInterface`. */ var SpecPolicy = keyMirror({ /** * These methods may be defined only once by the class specification or mixin. */ DEFINE_ONCE: null, /** * These methods may be defined by both the class specification and mixins. * Subsequent definitions will be chained. These methods must return void. */ DEFINE_MANY: null, /** * These methods are overriding the base class. */ OVERRIDE_BASE: null, /** * These methods are similar to DEFINE_MANY, except we assume they return * objects. We try to merge the keys of the return values of all the mixed in * functions. If there is a key conflict we throw. */ DEFINE_MANY_MERGED: null }); var injectedMixins = []; /** * Composite components are higher-level components that compose other composite * or native components. * * To create a new type of `ReactClass`, pass a specification of * your new class to `React.createClass`. The only requirement of your class * specification is that you implement a `render` method. * * var MyComponent = React.createClass({ * render: function() { * return
Hello World
; * } * }); * * The class specification supports a specific protocol of methods that have * special meaning (e.g. `render`). See `ReactClassInterface` for * more the comprehensive protocol. Any other properties and methods in the * class specification will be available on the prototype. * * @interface ReactClassInterface * @internal */ var ReactClassInterface = { /** * An array of Mixin objects to include when defining your component. * * @type {array} * @optional */ mixins: SpecPolicy.DEFINE_MANY, /** * An object containing properties and methods that should be defined on * the component's constructor instead of its prototype (static methods). * * @type {object} * @optional */ statics: SpecPolicy.DEFINE_MANY, /** * Definition of prop types for this component. * * @type {object} * @optional */ propTypes: SpecPolicy.DEFINE_MANY, /** * Definition of context types for this component. * * @type {object} * @optional */ contextTypes: SpecPolicy.DEFINE_MANY, /** * Definition of context types this component sets for its children. * * @type {object} * @optional */ childContextTypes: SpecPolicy.DEFINE_MANY, // ==== Definition methods ==== /** * Invoked when the component is mounted. Values in the mapping will be set on * `this.props` if that prop is not specified (i.e. using an `in` check). * * This method is invoked before `getInitialState` and therefore cannot rely * on `this.state` or use `this.setState`. * * @return {object} * @optional */ getDefaultProps: SpecPolicy.DEFINE_MANY_MERGED, /** * Invoked once before the component is mounted. The return value will be used * as the initial value of `this.state`. * * getInitialState: function() { * return { * isOn: false, * fooBaz: new BazFoo() * } * } * * @return {object} * @optional */ getInitialState: SpecPolicy.DEFINE_MANY_MERGED, /** * @return {object} * @optional */ getChildContext: SpecPolicy.DEFINE_MANY_MERGED, /** * Uses props from `this.props` and state from `this.state` to render the * structure of the component. * * No guarantees are made about when or how often this method is invoked, so * it must not have side effects. * * render: function() { * var name = this.props.name; * return
Hello, {name}!
; * } * * @return {ReactComponent} * @nosideeffects * @required */ render: SpecPolicy.DEFINE_ONCE, // ==== Delegate methods ==== /** * Invoked when the component is initially created and about to be mounted. * This may have side effects, but any external subscriptions or data created * by this method must be cleaned up in `componentWillUnmount`. * * @optional */ componentWillMount: SpecPolicy.DEFINE_MANY, /** * Invoked when the component has been mounted and has a DOM representation. * However, there is no guarantee that the DOM node is in the document. * * Use this as an opportunity to operate on the DOM when the component has * been mounted (initialized and rendered) for the first time. * * @param {DOMElement} rootNode DOM element representing the component. * @optional */ componentDidMount: SpecPolicy.DEFINE_MANY, /** * Invoked before the component receives new props. * * Use this as an opportunity to react to a prop transition by updating the * state using `this.setState`. Current props are accessed via `this.props`. * * componentWillReceiveProps: function(nextProps, nextContext) { * this.setState({ * likesIncreasing: nextProps.likeCount > this.props.likeCount * }); * } * * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop * transition may cause a state change, but the opposite is not true. If you * need it, you are probably looking for `componentWillUpdate`. * * @param {object} nextProps * @optional */ componentWillReceiveProps: SpecPolicy.DEFINE_MANY, /** * Invoked while deciding if the component should be updated as a result of * receiving new props, state and/or context. * * Use this as an opportunity to `return false` when you're certain that the * transition to the new props/state/context will not require a component * update. * * shouldComponentUpdate: function(nextProps, nextState, nextContext) { * return !equal(nextProps, this.props) || * !equal(nextState, this.state) || * !equal(nextContext, this.context); * } * * @param {object} nextProps * @param {?object} nextState * @param {?object} nextContext * @return {boolean} True if the component should update. * @optional */ shouldComponentUpdate: SpecPolicy.DEFINE_ONCE, /** * Invoked when the component is about to update due to a transition from * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState` * and `nextContext`. * * Use this as an opportunity to perform preparation before an update occurs. * * NOTE: You **cannot** use `this.setState()` in this method. * * @param {object} nextProps * @param {?object} nextState * @param {?object} nextContext * @param {ReactReconcileTransaction} transaction * @optional */ componentWillUpdate: SpecPolicy.DEFINE_MANY, /** * Invoked when the component's DOM representation has been updated. * * Use this as an opportunity to operate on the DOM when the component has * been updated. * * @param {object} prevProps * @param {?object} prevState * @param {?object} prevContext * @param {DOMElement} rootNode DOM element representing the component. * @optional */ componentDidUpdate: SpecPolicy.DEFINE_MANY, /** * Invoked when the component is about to be removed from its parent and have * its DOM representation destroyed. * * Use this as an opportunity to deallocate any external resources. * * NOTE: There is no `componentDidUnmount` since your component will have been * destroyed by that point. * * @optional */ componentWillUnmount: SpecPolicy.DEFINE_MANY, // ==== Advanced methods ==== /** * Updates the component's currently mounted DOM representation. * * By default, this implements React's rendering and reconciliation algorithm. * Sophisticated clients may wish to override this. * * @param {ReactReconcileTransaction} transaction * @internal * @overridable */ updateComponent: SpecPolicy.OVERRIDE_BASE }; /** * Mapping from class specification keys to special processing functions. * * Although these are declared like instance properties in the specification * when defining classes using `React.createClass`, they are actually static * and are accessible on the constructor instead of the prototype. Despite * being static, they must be defined outside of the "statics" key under * which all other static methods are defined. */ var RESERVED_SPEC_KEYS = { displayName: function (Constructor, displayName) { Constructor.displayName = displayName; }, mixins: function (Constructor, mixins) { if (mixins) { for (var i = 0; i < mixins.length; i++) { mixSpecIntoComponent(Constructor, mixins[i]); } } }, childContextTypes: function (Constructor, childContextTypes) { if (process.env.NODE_ENV !== 'production') { validateTypeDef(Constructor, childContextTypes, ReactPropTypeLocations.childContext); } Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, childContextTypes); }, contextTypes: function (Constructor, contextTypes) { if (process.env.NODE_ENV !== 'production') { validateTypeDef(Constructor, contextTypes, ReactPropTypeLocations.context); } Constructor.contextTypes = _assign({}, Constructor.contextTypes, contextTypes); }, /** * Special case getDefaultProps which should move into statics but requires * automatic merging. */ getDefaultProps: function (Constructor, getDefaultProps) { if (Constructor.getDefaultProps) { Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps); } else { Constructor.getDefaultProps = getDefaultProps; } }, propTypes: function (Constructor, propTypes) { if (process.env.NODE_ENV !== 'production') { validateTypeDef(Constructor, propTypes, ReactPropTypeLocations.prop); } Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes); }, statics: function (Constructor, statics) { mixStaticSpecIntoComponent(Constructor, statics); }, autobind: function () {} }; // noop function validateTypeDef(Constructor, typeDef, location) { for (var propName in typeDef) { if (typeDef.hasOwnProperty(propName)) { // use a warning instead of an invariant so components // don't show up in prod but only in __DEV__ process.env.NODE_ENV !== 'production' ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : void 0; } } } function validateMethodOverride(isAlreadyDefined, name) { var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null; // Disallow overriding of base class methods unless explicitly allowed. if (ReactClassMixin.hasOwnProperty(name)) { !(specPolicy === SpecPolicy.OVERRIDE_BASE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to override ' + '`%s` from your class specification. Ensure that your method names ' + 'do not overlap with React methods.', name) : invariant(false) : void 0; } // Disallow defining methods more than once unless explicitly allowed. if (isAlreadyDefined) { !(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to define ' + '`%s` on your component more than once. This conflict may be due ' + 'to a mixin.', name) : invariant(false) : void 0; } } /** * Mixin helper which handles policy validation and reserved * specification keys when building React classes. */ function mixSpecIntoComponent(Constructor, spec) { if (!spec) { return; } !(typeof spec !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to ' + 'use a component class or function as a mixin. Instead, just use a ' + 'regular object.') : invariant(false) : void 0; !!ReactElement.isValidElement(spec) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to ' + 'use a component as a mixin. Instead, just use a regular object.') : invariant(false) : void 0; var proto = Constructor.prototype; var autoBindPairs = proto.__reactAutoBindPairs; // By handling mixins before any other properties, we ensure the same // chaining order is applied to methods with DEFINE_MANY policy, whether // mixins are listed before or after these methods in the spec. if (spec.hasOwnProperty(MIXINS_KEY)) { RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins); } for (var name in spec) { if (!spec.hasOwnProperty(name)) { continue; } if (name === MIXINS_KEY) { // We have already handled mixins in a special case above. continue; } var property = spec[name]; var isAlreadyDefined = proto.hasOwnProperty(name); validateMethodOverride(isAlreadyDefined, name); if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) { RESERVED_SPEC_KEYS[name](Constructor, property); } else { // Setup methods on prototype: // The following member methods should not be automatically bound: // 1. Expected ReactClass methods (in the "interface"). // 2. Overridden methods (that were mixed in). var isReactClassMethod = ReactClassInterface.hasOwnProperty(name); var isFunction = typeof property === 'function'; var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false; if (shouldAutoBind) { autoBindPairs.push(name, property); proto[name] = property; } else { if (isAlreadyDefined) { var specPolicy = ReactClassInterface[name]; // These cases should already be caught by validateMethodOverride. !(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name) : invariant(false) : void 0; // For methods which are defined more than once, call the existing // methods before calling the new property, merging if appropriate. if (specPolicy === SpecPolicy.DEFINE_MANY_MERGED) { proto[name] = createMergedResultFunction(proto[name], property); } else if (specPolicy === SpecPolicy.DEFINE_MANY) { proto[name] = createChainedFunction(proto[name], property); } } else { proto[name] = property; if (process.env.NODE_ENV !== 'production') { // Add verbose displayName to the function, which helps when looking // at profiling tools. if (typeof property === 'function' && spec.displayName) { proto[name].displayName = spec.displayName + '_' + name; } } } } } } } function mixStaticSpecIntoComponent(Constructor, statics) { if (!statics) { return; } for (var name in statics) { var property = statics[name]; if (!statics.hasOwnProperty(name)) { continue; } var isReserved = name in RESERVED_SPEC_KEYS; !!isReserved ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define a reserved ' + 'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' + 'as an instance property instead; it will still be accessible on the ' + 'constructor.', name) : invariant(false) : void 0; var isInherited = name in Constructor; !!isInherited ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define ' + '`%s` on your component more than once. This conflict may be ' + 'due to a mixin.', name) : invariant(false) : void 0; Constructor[name] = property; } } /** * Merge two objects, but throw if both contain the same key. * * @param {object} one The first object, which is mutated. * @param {object} two The second object * @return {object} one after it has been mutated to contain everything in two. */ function mergeIntoWithNoDuplicateKeys(one, two) { !(one && two && typeof one === 'object' && typeof two === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : invariant(false) : void 0; for (var key in two) { if (two.hasOwnProperty(key)) { !(one[key] === undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): ' + 'Tried to merge two objects with the same key: `%s`. This conflict ' + 'may be due to a mixin; in particular, this may be caused by two ' + 'getInitialState() or getDefaultProps() methods returning objects ' + 'with clashing keys.', key) : invariant(false) : void 0; one[key] = two[key]; } } return one; } /** * Creates a function that invokes two functions and merges their return values. * * @param {function} one Function to invoke first. * @param {function} two Function to invoke second. * @return {function} Function that invokes the two argument functions. * @private */ function createMergedResultFunction(one, two) { return function mergedResult() { var a = one.apply(this, arguments); var b = two.apply(this, arguments); if (a == null) { return b; } else if (b == null) { return a; } var c = {}; mergeIntoWithNoDuplicateKeys(c, a); mergeIntoWithNoDuplicateKeys(c, b); return c; }; } /** * Creates a function that invokes two functions and ignores their return vales. * * @param {function} one Function to invoke first. * @param {function} two Function to invoke second. * @return {function} Function that invokes the two argument functions. * @private */ function createChainedFunction(one, two) { return function chainedFunction() { one.apply(this, arguments); two.apply(this, arguments); }; } /** * Binds a method to the component. * * @param {object} component Component whose method is going to be bound. * @param {function} method Method to be bound. * @return {function} The bound method. */ function bindAutoBindMethod(component, method) { var boundMethod = method.bind(component); if (process.env.NODE_ENV !== 'production') { boundMethod.__reactBoundContext = component; boundMethod.__reactBoundMethod = method; boundMethod.__reactBoundArguments = null; var componentName = component.constructor.displayName; var _bind = boundMethod.bind; boundMethod.bind = function (newThis) { for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } // User is trying to bind() an autobound method; we effectively will // ignore the value of "this" that the user is trying to use, so // let's warn. if (newThis !== component && newThis !== null) { process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : void 0; } else if (!args.length) { process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : void 0; return boundMethod; } var reboundMethod = _bind.apply(boundMethod, arguments); reboundMethod.__reactBoundContext = component; reboundMethod.__reactBoundMethod = method; reboundMethod.__reactBoundArguments = args; return reboundMethod; }; } return boundMethod; } /** * Binds all auto-bound methods in a component. * * @param {object} component Component whose method is going to be bound. */ function bindAutoBindMethods(component) { var pairs = component.__reactAutoBindPairs; for (var i = 0; i < pairs.length; i += 2) { var autoBindKey = pairs[i]; var method = pairs[i + 1]; component[autoBindKey] = bindAutoBindMethod(component, method); } } /** * Add more to the ReactClass base class. These are all legacy features and * therefore not already part of the modern ReactComponent. */ var ReactClassMixin = { /** * TODO: This will be deprecated because state should always keep a consistent * type signature and the only use case for this, is to avoid that. */ replaceState: function (newState, callback) { this.updater.enqueueReplaceState(this, newState); if (callback) { this.updater.enqueueCallback(this, callback, 'replaceState'); } }, /** * Checks whether or not this composite component is mounted. * @return {boolean} True if mounted, false otherwise. * @protected * @final */ isMounted: function () { return this.updater.isMounted(this); } }; var ReactClassComponent = function () {}; _assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin); /** * Module for creating composite components. * * @class ReactClass */ var ReactClass = { /** * Creates a composite component class given a class specification. * * @param {object} spec Class specification (which must define `render`). * @return {function} Component constructor function. * @public */ createClass: function (spec) { var Constructor = function (props, context, updater) { // This constructor gets overridden by mocks. The argument is used // by mocks to assert on what gets mounted. if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : void 0; } // Wire up auto-binding if (this.__reactAutoBindPairs.length) { bindAutoBindMethods(this); } this.props = props; this.context = context; this.refs = emptyObject; this.updater = updater || ReactNoopUpdateQueue; this.state = null; // ReactClasses doesn't have constructors. Instead, they use the // getInitialState and componentWillMount methods for initialization. var initialState = this.getInitialState ? this.getInitialState() : null; if (process.env.NODE_ENV !== 'production') { // We allow auto-mocks to proceed as if they're returning null. if (initialState === undefined && this.getInitialState._isMockFunction) { // This is probably bad practice. Consider warning here and // deprecating this convenience. initialState = null; } } !(typeof initialState === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : invariant(false) : void 0; this.state = initialState; }; Constructor.prototype = new ReactClassComponent(); Constructor.prototype.constructor = Constructor; Constructor.prototype.__reactAutoBindPairs = []; injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor)); mixSpecIntoComponent(Constructor, spec); // Initialize the defaultProps property after all mixins have been merged. if (Constructor.getDefaultProps) { Constructor.defaultProps = Constructor.getDefaultProps(); } if (process.env.NODE_ENV !== 'production') { // This is a tag to indicate that the use of these method names is ok, // since it's used with createClass. If it's not, then it's likely a // mistake so we'll warn you to use the static property, property // initializer or constructor respectively. if (Constructor.getDefaultProps) { Constructor.getDefaultProps.isReactClassApproved = {}; } if (Constructor.prototype.getInitialState) { Constructor.prototype.getInitialState.isReactClassApproved = {}; } } !Constructor.prototype.render ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createClass(...): Class specification must implement a `render` method.') : invariant(false) : void 0; if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component') : void 0; process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component') : void 0; } // Reduce time spent doing lookups by setting these on the prototype. for (var methodName in ReactClassInterface) { if (!Constructor.prototype[methodName]) { Constructor.prototype[methodName] = null; } } return Constructor; }, injection: { injectMixin: function (mixin) { injectedMixins.push(mixin); } } }; module.exports = ReactClass; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 23 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPropTypeLocations */ 'use strict'; var keyMirror = __webpack_require__(24); var ReactPropTypeLocations = keyMirror({ prop: null, context: null, childContext: null }); module.exports = ReactPropTypeLocations; /***/ }, /* 24 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @typechecks static-only */ 'use strict'; var invariant = __webpack_require__(7); /** * Constructs an enumeration with keys equal to their value. * * For example: * * var COLORS = keyMirror({blue: null, red: null}); * var myColor = COLORS.blue; * var isColorValid = !!COLORS[myColor]; * * The last line could not be performed if the values of the generated enum were * not equal to their keys. * * Input: {key1: val1, key2: val2} * Output: {key1: key1, key2: key2} * * @param {object} obj * @return {object} */ var keyMirror = function (obj) { var ret = {}; var key; !(obj instanceof Object && !Array.isArray(obj)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'keyMirror(...): Argument must be an object.') : invariant(false) : void 0; for (key in obj) { if (!obj.hasOwnProperty(key)) { continue; } ret[key] = key; } return ret; }; module.exports = keyMirror; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 25 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPropTypeLocationNames */ 'use strict'; var ReactPropTypeLocationNames = {}; if (process.env.NODE_ENV !== 'production') { ReactPropTypeLocationNames = { prop: 'prop', context: 'context', childContext: 'child context' }; } module.exports = ReactPropTypeLocationNames; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 26 */ /***/ function(module, exports) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ /** * Allows extraction of a minified key. Let's the build system minify keys * without losing the ability to dynamically use key strings as values * themselves. Pass in an object with a single key/val pair and it will return * you the string key of that single record. Suppose you want to grab the * value for a key 'className' inside of an object. Key/val minification may * have aliased that key to be 'xa12'. keyOf({className: null}) will return * 'xa12' in that case. Resolve keys you want to use once at startup time, then * reuse those resolutions. */ var keyOf = function (oneKeyObj) { var key; for (key in oneKeyObj) { if (!oneKeyObj.hasOwnProperty(key)) { continue; } return key; } return null; }; module.exports = keyOf; /***/ }, /* 27 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOMFactories */ 'use strict'; var ReactElement = __webpack_require__(8); var ReactElementValidator = __webpack_require__(28); var mapObject = __webpack_require__(29); /** * Create a factory that creates HTML tag elements. * * @param {string} tag Tag name (e.g. `div`). * @private */ function createDOMFactory(tag) { if (process.env.NODE_ENV !== 'production') { return ReactElementValidator.createFactory(tag); } return ReactElement.createFactory(tag); } /** * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes. * This is also accessible via `React.DOM`. * * @public */ var ReactDOMFactories = mapObject({ a: 'a', abbr: 'abbr', address: 'address', area: 'area', article: 'article', aside: 'aside', audio: 'audio', b: 'b', base: 'base', bdi: 'bdi', bdo: 'bdo', big: 'big', blockquote: 'blockquote', body: 'body', br: 'br', button: 'button', canvas: 'canvas', caption: 'caption', cite: 'cite', code: 'code', col: 'col', colgroup: 'colgroup', data: 'data', datalist: 'datalist', dd: 'dd', del: 'del', details: 'details', dfn: 'dfn', dialog: 'dialog', div: 'div', dl: 'dl', dt: 'dt', em: 'em', embed: 'embed', fieldset: 'fieldset', figcaption: 'figcaption', figure: 'figure', footer: 'footer', form: 'form', h1: 'h1', h2: 'h2', h3: 'h3', h4: 'h4', h5: 'h5', h6: 'h6', head: 'head', header: 'header', hgroup: 'hgroup', hr: 'hr', html: 'html', i: 'i', iframe: 'iframe', img: 'img', input: 'input', ins: 'ins', kbd: 'kbd', keygen: 'keygen', label: 'label', legend: 'legend', li: 'li', link: 'link', main: 'main', map: 'map', mark: 'mark', menu: 'menu', menuitem: 'menuitem', meta: 'meta', meter: 'meter', nav: 'nav', noscript: 'noscript', object: 'object', ol: 'ol', optgroup: 'optgroup', option: 'option', output: 'output', p: 'p', param: 'param', picture: 'picture', pre: 'pre', progress: 'progress', q: 'q', rp: 'rp', rt: 'rt', ruby: 'ruby', s: 's', samp: 'samp', script: 'script', section: 'section', select: 'select', small: 'small', source: 'source', span: 'span', strong: 'strong', style: 'style', sub: 'sub', summary: 'summary', sup: 'sup', table: 'table', tbody: 'tbody', td: 'td', textarea: 'textarea', tfoot: 'tfoot', th: 'th', thead: 'thead', time: 'time', title: 'title', tr: 'tr', track: 'track', u: 'u', ul: 'ul', 'var': 'var', video: 'video', wbr: 'wbr', // SVG circle: 'circle', clipPath: 'clipPath', defs: 'defs', ellipse: 'ellipse', g: 'g', image: 'image', line: 'line', linearGradient: 'linearGradient', mask: 'mask', path: 'path', pattern: 'pattern', polygon: 'polygon', polyline: 'polyline', radialGradient: 'radialGradient', rect: 'rect', stop: 'stop', svg: 'svg', text: 'text', tspan: 'tspan' }, createDOMFactory); module.exports = ReactDOMFactories; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 28 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactElementValidator */ /** * ReactElementValidator provides a wrapper around a element factory * which validates the props passed to the element. This is intended to be * used only in DEV and could be replaced by a static type checker for languages * that support it. */ 'use strict'; var ReactElement = __webpack_require__(8); var ReactPropTypeLocations = __webpack_require__(23); var ReactPropTypeLocationNames = __webpack_require__(25); var ReactCurrentOwner = __webpack_require__(9); var canDefineProperty = __webpack_require__(12); var getIteratorFn = __webpack_require__(14); var invariant = __webpack_require__(7); var warning = __webpack_require__(10); function getDeclarationErrorAddendum() { if (ReactCurrentOwner.current) { var name = ReactCurrentOwner.current.getName(); if (name) { return ' Check the render method of `' + name + '`.'; } } return ''; } /** * Warn if there's no key explicitly set on dynamic arrays of children or * object keys are not valid. This allows us to keep track of children between * updates. */ var ownerHasKeyUseWarning = {}; var loggedTypeFailures = {}; /** * Warn if the element doesn't have an explicit key assigned to it. * This element is in an array. The array could grow and shrink or be * reordered. All children that haven't already been validated are required to * have a "key" property assigned to it. * * @internal * @param {ReactElement} element Element that requires a key. * @param {*} parentType element's parent's type. */ function validateExplicitKey(element, parentType) { if (!element._store || element._store.validated || element.key != null) { return; } element._store.validated = true; var addenda = getAddendaForKeyUse('uniqueKey', element, parentType); if (addenda === null) { // we already showed the warning return; } process.env.NODE_ENV !== 'production' ? warning(false, 'Each child in an array or iterator should have a unique "key" prop.' + '%s%s%s', addenda.parentOrOwner || '', addenda.childOwner || '', addenda.url || '') : void 0; } /** * Shared warning and monitoring code for the key warnings. * * @internal * @param {string} messageType A key used for de-duping warnings. * @param {ReactElement} element Component that requires a key. * @param {*} parentType element's parent's type. * @returns {?object} A set of addenda to use in the warning message, or null * if the warning has already been shown before (and shouldn't be shown again). */ function getAddendaForKeyUse(messageType, element, parentType) { var addendum = getDeclarationErrorAddendum(); if (!addendum) { var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name; if (parentName) { addendum = ' Check the top-level render call using <' + parentName + '>.'; } } var memoizer = ownerHasKeyUseWarning[messageType] || (ownerHasKeyUseWarning[messageType] = {}); if (memoizer[addendum]) { return null; } memoizer[addendum] = true; var addenda = { parentOrOwner: addendum, url: ' See https://fb.me/react-warning-keys for more information.', childOwner: null }; // Usually the current owner is the offender, but if it accepts children as a // property, it may be the creator of the child that's responsible for // assigning it a key. if (element && element._owner && element._owner !== ReactCurrentOwner.current) { // Give the component that originally created this child. addenda.childOwner = ' It was passed a child from ' + element._owner.getName() + '.'; } return addenda; } /** * Ensure that every element either is passed in a static location, in an * array with an explicit keys property defined, or in an object literal * with valid key property. * * @internal * @param {ReactNode} node Statically passed child of any type. * @param {*} parentType node's parent's type. */ function validateChildKeys(node, parentType) { if (typeof node !== 'object') { return; } if (Array.isArray(node)) { for (var i = 0; i < node.length; i++) { var child = node[i]; if (ReactElement.isValidElement(child)) { validateExplicitKey(child, parentType); } } } else if (ReactElement.isValidElement(node)) { // This element was passed in a valid location. if (node._store) { node._store.validated = true; } } else if (node) { var iteratorFn = getIteratorFn(node); // Entry iterators provide implicit keys. if (iteratorFn) { if (iteratorFn !== node.entries) { var iterator = iteratorFn.call(node); var step; while (!(step = iterator.next()).done) { if (ReactElement.isValidElement(step.value)) { validateExplicitKey(step.value, parentType); } } } } } } /** * Assert that the props are valid * * @param {string} componentName Name of the component for error messages. * @param {object} propTypes Map of prop name to a ReactPropType * @param {object} props * @param {string} location e.g. "prop", "context", "child context" * @private */ function checkPropTypes(componentName, propTypes, props, location) { for (var propName in propTypes) { if (propTypes.hasOwnProperty(propName)) { var error; // Prop type validation may throw. In case they do, we don't want to // fail the render phase where it didn't fail before. So we log it. // After these have been cleaned up, we'll let them throw. try { // This is intentionally an invariant that gets caught. It's the same // behavior as without this statement except with a better message. !(typeof propTypes[propName] === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], propName) : invariant(false) : void 0; error = propTypes[propName](props, propName, componentName, location); } catch (ex) { error = ex; } process.env.NODE_ENV !== 'production' ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', ReactPropTypeLocationNames[location], propName, typeof error) : void 0; if (error instanceof Error && !(error.message in loggedTypeFailures)) { // Only monitor this failure once because there tends to be a lot of the // same error. loggedTypeFailures[error.message] = true; var addendum = getDeclarationErrorAddendum(); process.env.NODE_ENV !== 'production' ? warning(false, 'Failed propType: %s%s', error.message, addendum) : void 0; } } } } /** * Given an element, validate that its props follow the propTypes definition, * provided by the type. * * @param {ReactElement} element */ function validatePropTypes(element) { var componentClass = element.type; if (typeof componentClass !== 'function') { return; } var name = componentClass.displayName || componentClass.name; if (componentClass.propTypes) { checkPropTypes(name, componentClass.propTypes, element.props, ReactPropTypeLocations.prop); } if (typeof componentClass.getDefaultProps === 'function') { process.env.NODE_ENV !== 'production' ? warning(componentClass.getDefaultProps.isReactClassApproved, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : void 0; } } var ReactElementValidator = { createElement: function (type, props, children) { var validType = typeof type === 'string' || typeof type === 'function'; // We warn in this case but don't throw. We expect the element creation to // succeed and there will likely be errors in render. process.env.NODE_ENV !== 'production' ? warning(validType, 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : void 0; var element = ReactElement.createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used. // TODO: Drop this when these are no longer allowed as the type argument. if (element == null) { return element; } // Skip key warning if the type isn't valid since our key validation logic // doesn't expect a non-string/function type and can throw confusing errors. // We don't want exception behavior to differ between dev and prod. // (Rendering will throw with a helpful message and as soon as the type is // fixed, the key warnings will appear.) if (validType) { for (var i = 2; i < arguments.length; i++) { validateChildKeys(arguments[i], type); } } validatePropTypes(element); return element; }, createFactory: function (type) { var validatedFactory = ReactElementValidator.createElement.bind(null, type); // Legacy hook TODO: Warn if this is accessed validatedFactory.type = type; if (process.env.NODE_ENV !== 'production') { if (canDefineProperty) { Object.defineProperty(validatedFactory, 'type', { enumerable: false, get: function () { process.env.NODE_ENV !== 'production' ? warning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.') : void 0; Object.defineProperty(this, 'type', { value: type }); return type; } }); } } return validatedFactory; }, cloneElement: function (element, props, children) { var newElement = ReactElement.cloneElement.apply(this, arguments); for (var i = 2; i < arguments.length; i++) { validateChildKeys(arguments[i], newElement.type); } validatePropTypes(newElement); return newElement; } }; module.exports = ReactElementValidator; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 29 */ /***/ function(module, exports) { /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var hasOwnProperty = Object.prototype.hasOwnProperty; /** * Executes the provided `callback` once for each enumerable own property in the * object and constructs a new object from the results. The `callback` is * invoked with three arguments: * * - the property value * - the property name * - the object being traversed * * Properties that are added after the call to `mapObject` will not be visited * by `callback`. If the values of existing properties are changed, the value * passed to `callback` will be the value at the time `mapObject` visits them. * Properties that are deleted before being visited are not visited. * * @grep function objectMap() * @grep function objMap() * * @param {?object} object * @param {function} callback * @param {*} context * @return {?object} */ function mapObject(object, callback, context) { if (!object) { return null; } var result = {}; for (var name in object) { if (hasOwnProperty.call(object, name)) { result[name] = callback.call(context, object[name], name, object); } } return result; } module.exports = mapObject; /***/ }, /* 30 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPropTypes */ 'use strict'; var ReactElement = __webpack_require__(8); var ReactPropTypeLocationNames = __webpack_require__(25); var emptyFunction = __webpack_require__(11); var getIteratorFn = __webpack_require__(14); /** * Collection of methods that allow declaration and validation of props that are * supplied to React components. Example usage: * * var Props = require('ReactPropTypes'); * var MyArticle = React.createClass({ * propTypes: { * // An optional string prop named "description". * description: Props.string, * * // A required enum prop named "category". * category: Props.oneOf(['News','Photos']).isRequired, * * // A prop named "dialog" that requires an instance of Dialog. * dialog: Props.instanceOf(Dialog).isRequired * }, * render: function() { ... } * }); * * A more formal specification of how these methods are used: * * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) * decl := ReactPropTypes.{type}(.isRequired)? * * Each and every declaration produces a function with the same signature. This * allows the creation of custom validation functions. For example: * * var MyLink = React.createClass({ * propTypes: { * // An optional string or URI prop named "href". * href: function(props, propName, componentName) { * var propValue = props[propName]; * if (propValue != null && typeof propValue !== 'string' && * !(propValue instanceof URI)) { * return new Error( * 'Expected a string or an URI for ' + propName + ' in ' + * componentName * ); * } * } * }, * render: function() {...} * }); * * @internal */ var ANONYMOUS = '<>'; var ReactPropTypes = { array: createPrimitiveTypeChecker('array'), bool: createPrimitiveTypeChecker('boolean'), func: createPrimitiveTypeChecker('function'), number: createPrimitiveTypeChecker('number'), object: createPrimitiveTypeChecker('object'), string: createPrimitiveTypeChecker('string'), any: createAnyTypeChecker(), arrayOf: createArrayOfTypeChecker, element: createElementTypeChecker(), instanceOf: createInstanceTypeChecker, node: createNodeChecker(), objectOf: createObjectOfTypeChecker, oneOf: createEnumTypeChecker, oneOfType: createUnionTypeChecker, shape: createShapeTypeChecker }; /** * inlined Object.is polyfill to avoid requiring consumers ship their own * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is */ /*eslint-disable no-self-compare*/ function is(x, y) { // SameValue algorithm if (x === y) { // Steps 1-5, 7-10 // Steps 6.b-6.e: +0 != -0 return x !== 0 || 1 / x === 1 / y; } else { // Step 6.a: NaN == NaN return x !== x && y !== y; } } /*eslint-enable no-self-compare*/ function createChainableTypeChecker(validate) { function checkType(isRequired, props, propName, componentName, location, propFullName) { componentName = componentName || ANONYMOUS; propFullName = propFullName || propName; if (props[propName] == null) { var locationName = ReactPropTypeLocationNames[location]; if (isRequired) { return new Error('Required ' + locationName + ' `' + propFullName + '` was not specified in ' + ('`' + componentName + '`.')); } return null; } else { return validate(props, propName, componentName, location, propFullName); } } var chainedCheckType = checkType.bind(null, false); chainedCheckType.isRequired = checkType.bind(null, true); return chainedCheckType; } function createPrimitiveTypeChecker(expectedType) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== expectedType) { var locationName = ReactPropTypeLocationNames[location]; // `propValue` being instance of, say, date/regexp, pass the 'object' // check, but we can offer a more precise error message here rather than // 'of type `object`'. var preciseType = getPreciseType(propValue); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); } return null; } return createChainableTypeChecker(validate); } function createAnyTypeChecker() { return createChainableTypeChecker(emptyFunction.thatReturns(null)); } function createArrayOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new Error('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); } var propValue = props[propName]; if (!Array.isArray(propValue)) { var locationName = ReactPropTypeLocationNames[location]; var propType = getPropType(propValue); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); } for (var i = 0; i < propValue.length; i++) { var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']'); if (error instanceof Error) { return error; } } return null; } return createChainableTypeChecker(validate); } function createElementTypeChecker() { function validate(props, propName, componentName, location, propFullName) { if (!ReactElement.isValidElement(props[propName])) { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a single ReactElement.')); } return null; } return createChainableTypeChecker(validate); } function createInstanceTypeChecker(expectedClass) { function validate(props, propName, componentName, location, propFullName) { if (!(props[propName] instanceof expectedClass)) { var locationName = ReactPropTypeLocationNames[location]; var expectedClassName = expectedClass.name || ANONYMOUS; var actualClassName = getClassName(props[propName]); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); } return null; } return createChainableTypeChecker(validate); } function createEnumTypeChecker(expectedValues) { if (!Array.isArray(expectedValues)) { return createChainableTypeChecker(function () { return new Error('Invalid argument supplied to oneOf, expected an instance of array.'); }); } function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; for (var i = 0; i < expectedValues.length; i++) { if (is(propValue, expectedValues[i])) { return null; } } var locationName = ReactPropTypeLocationNames[location]; var valuesString = JSON.stringify(expectedValues); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); } return createChainableTypeChecker(validate); } function createObjectOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new Error('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); } var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); } for (var key in propValue) { if (propValue.hasOwnProperty(key)) { var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key); if (error instanceof Error) { return error; } } } return null; } return createChainableTypeChecker(validate); } function createUnionTypeChecker(arrayOfTypeCheckers) { if (!Array.isArray(arrayOfTypeCheckers)) { return createChainableTypeChecker(function () { return new Error('Invalid argument supplied to oneOfType, expected an instance of array.'); }); } function validate(props, propName, componentName, location, propFullName) { for (var i = 0; i < arrayOfTypeCheckers.length; i++) { var checker = arrayOfTypeCheckers[i]; if (checker(props, propName, componentName, location, propFullName) == null) { return null; } } var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); } return createChainableTypeChecker(validate); } function createNodeChecker() { function validate(props, propName, componentName, location, propFullName) { if (!isNode(props[propName])) { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); } return null; } return createChainableTypeChecker(validate); } function createShapeTypeChecker(shapeTypes) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); } for (var key in shapeTypes) { var checker = shapeTypes[key]; if (!checker) { continue; } var error = checker(propValue, key, componentName, location, propFullName + '.' + key); if (error) { return error; } } return null; } return createChainableTypeChecker(validate); } function isNode(propValue) { switch (typeof propValue) { case 'number': case 'string': case 'undefined': return true; case 'boolean': return !propValue; case 'object': if (Array.isArray(propValue)) { return propValue.every(isNode); } if (propValue === null || ReactElement.isValidElement(propValue)) { return true; } var iteratorFn = getIteratorFn(propValue); if (iteratorFn) { var iterator = iteratorFn.call(propValue); var step; if (iteratorFn !== propValue.entries) { while (!(step = iterator.next()).done) { if (!isNode(step.value)) { return false; } } } else { // Iterator will provide entry [k,v] tuples rather than values. while (!(step = iterator.next()).done) { var entry = step.value; if (entry) { if (!isNode(entry[1])) { return false; } } } } } else { return false; } return true; default: return false; } } // Equivalent of `typeof` but with special handling for array and regexp. function getPropType(propValue) { var propType = typeof propValue; if (Array.isArray(propValue)) { return 'array'; } if (propValue instanceof RegExp) { // Old webkits (at least until Android 4.0) return 'function' rather than // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ // passes PropTypes.object. return 'object'; } return propType; } // This handles more types than `getPropType`. Only used for error messages. // See `createPrimitiveTypeChecker`. function getPreciseType(propValue) { var propType = getPropType(propValue); if (propType === 'object') { if (propValue instanceof Date) { return 'date'; } else if (propValue instanceof RegExp) { return 'regexp'; } } return propType; } // Returns class name of the object, if any. function getClassName(propValue) { if (!propValue.constructor || !propValue.constructor.name) { return ANONYMOUS; } return propValue.constructor.name; } module.exports = ReactPropTypes; /***/ }, /* 31 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactVersion */ 'use strict'; module.exports = '15.0.2'; /***/ }, /* 32 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule onlyChild */ 'use strict'; var ReactElement = __webpack_require__(8); var invariant = __webpack_require__(7); /** * Returns the first child in a collection of children and verifies that there * is only one child in the collection. The current implementation of this * function assumes that a single child gets passed without a wrapper, but the * purpose of this helper function is to abstract away the particular structure * of children. * * @param {?object} children Child collection structure. * @return {ReactElement} The first and only `ReactElement` contained in the * structure. */ function onlyChild(children) { !ReactElement.isValidElement(children) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'onlyChild must be passed a children with exactly one child.') : invariant(false) : void 0; return children; } module.exports = onlyChild; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 33 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; module.exports = __webpack_require__(34); /***/ }, /* 34 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOM */ /* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/ 'use strict'; var ReactDOMComponentTree = __webpack_require__(35); var ReactDefaultInjection = __webpack_require__(38); var ReactMount = __webpack_require__(158); var ReactPerf = __webpack_require__(58); var ReactReconciler = __webpack_require__(59); var ReactUpdates = __webpack_require__(55); var ReactVersion = __webpack_require__(31); var findDOMNode = __webpack_require__(165); var getNativeComponentFromComposite = __webpack_require__(166); var renderSubtreeIntoContainer = __webpack_require__(167); var warning = __webpack_require__(10); ReactDefaultInjection.inject(); var render = ReactPerf.measure('React', 'render', ReactMount.render); var React = { findDOMNode: findDOMNode, render: render, unmountComponentAtNode: ReactMount.unmountComponentAtNode, version: ReactVersion, /* eslint-disable camelcase */ unstable_batchedUpdates: ReactUpdates.batchedUpdates, unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer }; // Inject the runtime into a devtools global hook regardless of browser. // Allows for debugging when the hook is injected on the page. /* eslint-enable camelcase */ if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') { __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ ComponentTree: { getClosestInstanceFromNode: ReactDOMComponentTree.getClosestInstanceFromNode, getNodeFromInstance: function (inst) { // inst is an internal instance (but could be a composite) if (inst._renderedComponent) { inst = getNativeComponentFromComposite(inst); } if (inst) { return ReactDOMComponentTree.getNodeFromInstance(inst); } else { return null; } } }, Mount: ReactMount, Reconciler: ReactReconciler }); } if (process.env.NODE_ENV !== 'production') { var ExecutionEnvironment = __webpack_require__(48); if (ExecutionEnvironment.canUseDOM && window.top === window.self) { // First check if devtools is not installed if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') { // If we're in Chrome or Firefox, provide a download link if not installed. if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) { // Firefox does not have the issue with devtools loaded over file:// var showFileUrlMessage = window.location.protocol.indexOf('http') === -1 && navigator.userAgent.indexOf('Firefox') === -1; console.debug('Download the React DevTools ' + (showFileUrlMessage ? 'and use an HTTP server (instead of a file: URL) ' : '') + 'for a better development experience: ' + 'https://fb.me/react-devtools'); } } var testFunc = function testFn() {}; process.env.NODE_ENV !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, 'It looks like you\'re using a minified copy of the development build ' + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0; // If we're in IE8, check to see if we are in compatibility mode and provide // information on preventing compatibility mode var ieCompatibilityMode = document.documentMode && document.documentMode < 8; process.env.NODE_ENV !== 'production' ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '') : void 0; var expectedFeatures = [ // shims Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.split, String.prototype.trim]; for (var i = 0; i < expectedFeatures.length; i++) { if (!expectedFeatures[i]) { process.env.NODE_ENV !== 'production' ? warning(false, 'One or more ES5 shims expected by React are not available: ' + 'https://fb.me/react-warning-polyfills') : void 0; break; } } } } module.exports = React; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 35 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOMComponentTree */ 'use strict'; var DOMProperty = __webpack_require__(36); var ReactDOMComponentFlags = __webpack_require__(37); var invariant = __webpack_require__(7); var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME; var Flags = ReactDOMComponentFlags; var internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2); /** * Drill down (through composites and empty components) until we get a native or * native text component. * * This is pretty polymorphic but unavoidable with the current structure we have * for `_renderedChildren`. */ function getRenderedNativeOrTextFromComponent(component) { var rendered; while (rendered = component._renderedComponent) { component = rendered; } return component; } /** * Populate `_nativeNode` on the rendered native/text component with the given * DOM node. The passed `inst` can be a composite. */ function precacheNode(inst, node) { var nativeInst = getRenderedNativeOrTextFromComponent(inst); nativeInst._nativeNode = node; node[internalInstanceKey] = nativeInst; } function uncacheNode(inst) { var node = inst._nativeNode; if (node) { delete node[internalInstanceKey]; inst._nativeNode = null; } } /** * Populate `_nativeNode` on each child of `inst`, assuming that the children * match up with the DOM (element) children of `node`. * * We cache entire levels at once to avoid an n^2 problem where we access the * children of a node sequentially and have to walk from the start to our target * node every time. * * Since we update `_renderedChildren` and the actual DOM at (slightly) * different times, we could race here and see a newer `_renderedChildren` than * the DOM nodes we see. To avoid this, ReactMultiChild calls * `prepareToManageChildren` before we change `_renderedChildren`, at which * time the container's child nodes are always cached (until it unmounts). */ function precacheChildNodes(inst, node) { if (inst._flags & Flags.hasCachedChildNodes) { return; } var children = inst._renderedChildren; var childNode = node.firstChild; outer: for (var name in children) { if (!children.hasOwnProperty(name)) { continue; } var childInst = children[name]; var childID = getRenderedNativeOrTextFromComponent(childInst)._domID; if (childID == null) { // We're currently unmounting this child in ReactMultiChild; skip it. continue; } // We assume the child nodes are in the same order as the child instances. for (; childNode !== null; childNode = childNode.nextSibling) { if (childNode.nodeType === 1 && childNode.getAttribute(ATTR_NAME) === String(childID) || childNode.nodeType === 8 && childNode.nodeValue === ' react-text: ' + childID + ' ' || childNode.nodeType === 8 && childNode.nodeValue === ' react-empty: ' + childID + ' ') { precacheNode(childInst, childNode); continue outer; } } // We reached the end of the DOM children without finding an ID match. true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unable to find element with ID %s.', childID) : invariant(false) : void 0; } inst._flags |= Flags.hasCachedChildNodes; } /** * Given a DOM node, return the closest ReactDOMComponent or * ReactDOMTextComponent instance ancestor. */ function getClosestInstanceFromNode(node) { if (node[internalInstanceKey]) { return node[internalInstanceKey]; } // Walk up the tree until we find an ancestor whose instance we have cached. var parents = []; while (!node[internalInstanceKey]) { parents.push(node); if (node.parentNode) { node = node.parentNode; } else { // Top of the tree. This node must not be part of a React tree (or is // unmounted, potentially). return null; } } var closest; var inst; for (; node && (inst = node[internalInstanceKey]); node = parents.pop()) { closest = inst; if (parents.length) { precacheChildNodes(inst, node); } } return closest; } /** * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent * instance, or null if the node was not rendered by this React. */ function getInstanceFromNode(node) { var inst = getClosestInstanceFromNode(node); if (inst != null && inst._nativeNode === node) { return inst; } else { return null; } } /** * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding * DOM node. */ function getNodeFromInstance(inst) { // Without this first invariant, passing a non-DOM-component triggers the next // invariant for a missing parent, which is super confusing. !(inst._nativeNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : invariant(false) : void 0; if (inst._nativeNode) { return inst._nativeNode; } // Walk up the tree until we find an ancestor whose DOM node we have cached. var parents = []; while (!inst._nativeNode) { parents.push(inst); !inst._nativeParent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React DOM tree root should always have a node reference.') : invariant(false) : void 0; inst = inst._nativeParent; } // Now parents contains each ancestor that does *not* have a cached native // node, and `inst` is the deepest ancestor that does. for (; parents.length; inst = parents.pop()) { precacheChildNodes(inst, inst._nativeNode); } return inst._nativeNode; } var ReactDOMComponentTree = { getClosestInstanceFromNode: getClosestInstanceFromNode, getInstanceFromNode: getInstanceFromNode, getNodeFromInstance: getNodeFromInstance, precacheChildNodes: precacheChildNodes, precacheNode: precacheNode, uncacheNode: uncacheNode }; module.exports = ReactDOMComponentTree; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 36 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DOMProperty */ 'use strict'; var invariant = __webpack_require__(7); function checkMask(value, bitmask) { return (value & bitmask) === bitmask; } var DOMPropertyInjection = { /** * Mapping from normalized, camelcased property names to a configuration that * specifies how the associated DOM property should be accessed or rendered. */ MUST_USE_PROPERTY: 0x1, HAS_SIDE_EFFECTS: 0x2, HAS_BOOLEAN_VALUE: 0x4, HAS_NUMERIC_VALUE: 0x8, HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8, HAS_OVERLOADED_BOOLEAN_VALUE: 0x20, /** * Inject some specialized knowledge about the DOM. This takes a config object * with the following properties: * * isCustomAttribute: function that given an attribute name will return true * if it can be inserted into the DOM verbatim. Useful for data-* or aria-* * attributes where it's impossible to enumerate all of the possible * attribute names, * * Properties: object mapping DOM property name to one of the * DOMPropertyInjection constants or null. If your attribute isn't in here, * it won't get written to the DOM. * * DOMAttributeNames: object mapping React attribute name to the DOM * attribute name. Attribute names not specified use the **lowercase** * normalized name. * * DOMAttributeNamespaces: object mapping React attribute name to the DOM * attribute namespace URL. (Attribute names not specified use no namespace.) * * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties. * Property names not specified use the normalized name. * * DOMMutationMethods: Properties that require special mutation methods. If * `value` is undefined, the mutation method should unset the property. * * @param {object} domPropertyConfig the config as described above. */ injectDOMPropertyConfig: function (domPropertyConfig) { var Injection = DOMPropertyInjection; var Properties = domPropertyConfig.Properties || {}; var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {}; var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {}; var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {}; var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {}; if (domPropertyConfig.isCustomAttribute) { DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute); } for (var propName in Properties) { !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'injectDOMPropertyConfig(...): You\'re trying to inject DOM property ' + '\'%s\' which has already been injected. You may be accidentally ' + 'injecting the same DOM property config twice, or you may be ' + 'injecting two configs that have conflicting property names.', propName) : invariant(false) : void 0; var lowerCased = propName.toLowerCase(); var propConfig = Properties[propName]; var propertyInfo = { attributeName: lowerCased, attributeNamespace: null, propertyName: propName, mutationMethod: null, mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY), hasSideEffects: checkMask(propConfig, Injection.HAS_SIDE_EFFECTS), hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE), hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE), hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE), hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE) }; !(propertyInfo.mustUseProperty || !propertyInfo.hasSideEffects) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Properties that have side effects must use property: %s', propName) : invariant(false) : void 0; !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or ' + 'numeric value, but not a combination: %s', propName) : invariant(false) : void 0; if (process.env.NODE_ENV !== 'production') { DOMProperty.getPossibleStandardName[lowerCased] = propName; } if (DOMAttributeNames.hasOwnProperty(propName)) { var attributeName = DOMAttributeNames[propName]; propertyInfo.attributeName = attributeName; if (process.env.NODE_ENV !== 'production') { DOMProperty.getPossibleStandardName[attributeName] = propName; } } if (DOMAttributeNamespaces.hasOwnProperty(propName)) { propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName]; } if (DOMPropertyNames.hasOwnProperty(propName)) { propertyInfo.propertyName = DOMPropertyNames[propName]; } if (DOMMutationMethods.hasOwnProperty(propName)) { propertyInfo.mutationMethod = DOMMutationMethods[propName]; } DOMProperty.properties[propName] = propertyInfo; } } }; /* eslint-disable max-len */ var ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD'; /* eslint-enable max-len */ /** * DOMProperty exports lookup objects that can be used like functions: * * > DOMProperty.isValid['id'] * true * > DOMProperty.isValid['foobar'] * undefined * * Although this may be confusing, it performs better in general. * * @see http://jsperf.com/key-exists * @see http://jsperf.com/key-missing */ var DOMProperty = { ID_ATTRIBUTE_NAME: 'data-reactid', ROOT_ATTRIBUTE_NAME: 'data-reactroot', ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR, ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\uB7\\u0300-\\u036F\\u203F-\\u2040', /** * Map from property "standard name" to an object with info about how to set * the property in the DOM. Each object contains: * * attributeName: * Used when rendering markup or with `*Attribute()`. * attributeNamespace * propertyName: * Used on DOM node instances. (This includes properties that mutate due to * external factors.) * mutationMethod: * If non-null, used instead of the property or `setAttribute()` after * initial render. * mustUseProperty: * Whether the property must be accessed and mutated as an object property. * hasSideEffects: * Whether or not setting a value causes side effects such as triggering * resources to be loaded or text selection changes. If true, we read from * the DOM before updating to ensure that the value is only set if it has * changed. * hasBooleanValue: * Whether the property should be removed when set to a falsey value. * hasNumericValue: * Whether the property must be numeric or parse as a numeric and should be * removed when set to a falsey value. * hasPositiveNumericValue: * Whether the property must be positive numeric or parse as a positive * numeric and should be removed when set to a falsey value. * hasOverloadedBooleanValue: * Whether the property can be used as a flag as well as with a value. * Removed when strictly equal to false; present without a value when * strictly equal to true; present with a value otherwise. */ properties: {}, /** * Mapping from lowercase property names to the properly cased version, used * to warn in the case of missing properties. Available only in __DEV__. * @type {Object} */ getPossibleStandardName: process.env.NODE_ENV !== 'production' ? {} : null, /** * All of the isCustomAttribute() functions that have been injected. */ _isCustomAttributeFunctions: [], /** * Checks whether a property name is a custom attribute. * @method */ isCustomAttribute: function (attributeName) { for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) { var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i]; if (isCustomAttributeFn(attributeName)) { return true; } } return false; }, injection: DOMPropertyInjection }; module.exports = DOMProperty; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 37 */ /***/ function(module, exports) { /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOMComponentFlags */ 'use strict'; var ReactDOMComponentFlags = { hasCachedChildNodes: 1 << 0 }; module.exports = ReactDOMComponentFlags; /***/ }, /* 38 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDefaultInjection */ 'use strict'; var BeforeInputEventPlugin = __webpack_require__(39); var ChangeEventPlugin = __webpack_require__(54); var DefaultEventPluginOrder = __webpack_require__(66); var EnterLeaveEventPlugin = __webpack_require__(67); var ExecutionEnvironment = __webpack_require__(48); var HTMLDOMPropertyConfig = __webpack_require__(72); var ReactComponentBrowserEnvironment = __webpack_require__(73); var ReactDOMComponent = __webpack_require__(86); var ReactDOMComponentTree = __webpack_require__(35); var ReactDOMEmptyComponent = __webpack_require__(127); var ReactDOMTreeTraversal = __webpack_require__(128); var ReactDOMTextComponent = __webpack_require__(129); var ReactDefaultBatchingStrategy = __webpack_require__(130); var ReactEventListener = __webpack_require__(131); var ReactInjection = __webpack_require__(134); var ReactReconcileTransaction = __webpack_require__(135); var SVGDOMPropertyConfig = __webpack_require__(143); var SelectEventPlugin = __webpack_require__(144); var SimpleEventPlugin = __webpack_require__(145); var alreadyInjected = false; function inject() { if (alreadyInjected) { // TODO: This is currently true because these injections are shared between // the client and the server package. They should be built independently // and not share any injection state. Then this problem will be solved. return; } alreadyInjected = true; ReactInjection.EventEmitter.injectReactEventListener(ReactEventListener); /** * Inject modules for resolving DOM hierarchy and plugin ordering. */ ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder); ReactInjection.EventPluginUtils.injectComponentTree(ReactDOMComponentTree); ReactInjection.EventPluginUtils.injectTreeTraversal(ReactDOMTreeTraversal); /** * Some important event plugins included by default (without having to require * them). */ ReactInjection.EventPluginHub.injectEventPluginsByName({ SimpleEventPlugin: SimpleEventPlugin, EnterLeaveEventPlugin: EnterLeaveEventPlugin, ChangeEventPlugin: ChangeEventPlugin, SelectEventPlugin: SelectEventPlugin, BeforeInputEventPlugin: BeforeInputEventPlugin }); ReactInjection.NativeComponent.injectGenericComponentClass(ReactDOMComponent); ReactInjection.NativeComponent.injectTextComponentClass(ReactDOMTextComponent); ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig); ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig); ReactInjection.EmptyComponent.injectEmptyComponentFactory(function (instantiate) { return new ReactDOMEmptyComponent(instantiate); }); ReactInjection.Updates.injectReconcileTransaction(ReactReconcileTransaction); ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy); ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment); if (process.env.NODE_ENV !== 'production') { var url = ExecutionEnvironment.canUseDOM && window.location.href || ''; if (/[?&]react_perf\b/.test(url)) { var ReactDefaultPerf = __webpack_require__(156); ReactDefaultPerf.start(); } } } module.exports = { inject: inject }; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 39 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule BeforeInputEventPlugin */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPropagators = __webpack_require__(41); var ExecutionEnvironment = __webpack_require__(48); var FallbackCompositionState = __webpack_require__(49); var SyntheticCompositionEvent = __webpack_require__(51); var SyntheticInputEvent = __webpack_require__(53); var keyOf = __webpack_require__(26); var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space var START_KEYCODE = 229; var canUseCompositionEvent = ExecutionEnvironment.canUseDOM && 'CompositionEvent' in window; var documentMode = null; if (ExecutionEnvironment.canUseDOM && 'documentMode' in document) { documentMode = document.documentMode; } // Webkit offers a very useful `textInput` event that can be used to // directly represent `beforeInput`. The IE `textinput` event is not as // useful, so we don't use it. var canUseTextInputEvent = ExecutionEnvironment.canUseDOM && 'TextEvent' in window && !documentMode && !isPresto(); // In IE9+, we have access to composition events, but the data supplied // by the native compositionend event may be incorrect. Japanese ideographic // spaces, for instance (\u3000) are not recorded correctly. var useFallbackCompositionData = ExecutionEnvironment.canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11); /** * Opera <= 12 includes TextEvent in window, but does not fire * text input events. Rely on keypress instead. */ function isPresto() { var opera = window.opera; return typeof opera === 'object' && typeof opera.version === 'function' && parseInt(opera.version(), 10) <= 12; } var SPACEBAR_CODE = 32; var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE); var topLevelTypes = EventConstants.topLevelTypes; // Events and their corresponding property names. var eventTypes = { beforeInput: { phasedRegistrationNames: { bubbled: keyOf({ onBeforeInput: null }), captured: keyOf({ onBeforeInputCapture: null }) }, dependencies: [topLevelTypes.topCompositionEnd, topLevelTypes.topKeyPress, topLevelTypes.topTextInput, topLevelTypes.topPaste] }, compositionEnd: { phasedRegistrationNames: { bubbled: keyOf({ onCompositionEnd: null }), captured: keyOf({ onCompositionEndCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionEnd, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] }, compositionStart: { phasedRegistrationNames: { bubbled: keyOf({ onCompositionStart: null }), captured: keyOf({ onCompositionStartCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionStart, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] }, compositionUpdate: { phasedRegistrationNames: { bubbled: keyOf({ onCompositionUpdate: null }), captured: keyOf({ onCompositionUpdateCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionUpdate, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] } }; // Track whether we've ever handled a keypress on the space key. var hasSpaceKeypress = false; /** * Return whether a native keypress event is assumed to be a command. * This is required because Firefox fires `keypress` events for key commands * (cut, copy, select-all, etc.) even though no character is inserted. */ function isKeypressCommand(nativeEvent) { return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command. !(nativeEvent.ctrlKey && nativeEvent.altKey); } /** * Translate native top level events into event types. * * @param {string} topLevelType * @return {object} */ function getCompositionEventType(topLevelType) { switch (topLevelType) { case topLevelTypes.topCompositionStart: return eventTypes.compositionStart; case topLevelTypes.topCompositionEnd: return eventTypes.compositionEnd; case topLevelTypes.topCompositionUpdate: return eventTypes.compositionUpdate; } } /** * Does our fallback best-guess model think this event signifies that * composition has begun? * * @param {string} topLevelType * @param {object} nativeEvent * @return {boolean} */ function isFallbackCompositionStart(topLevelType, nativeEvent) { return topLevelType === topLevelTypes.topKeyDown && nativeEvent.keyCode === START_KEYCODE; } /** * Does our fallback mode think that this event is the end of composition? * * @param {string} topLevelType * @param {object} nativeEvent * @return {boolean} */ function isFallbackCompositionEnd(topLevelType, nativeEvent) { switch (topLevelType) { case topLevelTypes.topKeyUp: // Command keys insert or clear IME input. return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1; case topLevelTypes.topKeyDown: // Expect IME keyCode on each keydown. If we get any other // code we must have exited earlier. return nativeEvent.keyCode !== START_KEYCODE; case topLevelTypes.topKeyPress: case topLevelTypes.topMouseDown: case topLevelTypes.topBlur: // Events are not possible without cancelling IME. return true; default: return false; } } /** * Google Input Tools provides composition data via a CustomEvent, * with the `data` property populated in the `detail` object. If this * is available on the event object, use it. If not, this is a plain * composition event and we have nothing special to extract. * * @param {object} nativeEvent * @return {?string} */ function getDataFromCustomEvent(nativeEvent) { var detail = nativeEvent.detail; if (typeof detail === 'object' && 'data' in detail) { return detail.data; } return null; } // Track the current IME composition fallback object, if any. var currentComposition = null; /** * @return {?object} A SyntheticCompositionEvent. */ function extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { var eventType; var fallbackData; if (canUseCompositionEvent) { eventType = getCompositionEventType(topLevelType); } else if (!currentComposition) { if (isFallbackCompositionStart(topLevelType, nativeEvent)) { eventType = eventTypes.compositionStart; } } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) { eventType = eventTypes.compositionEnd; } if (!eventType) { return null; } if (useFallbackCompositionData) { // The current composition is stored statically and must not be // overwritten while composition continues. if (!currentComposition && eventType === eventTypes.compositionStart) { currentComposition = FallbackCompositionState.getPooled(nativeEventTarget); } else if (eventType === eventTypes.compositionEnd) { if (currentComposition) { fallbackData = currentComposition.getData(); } } } var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget); if (fallbackData) { // Inject data generated from fallback path into the synthetic event. // This matches the property of native CompositionEventInterface. event.data = fallbackData; } else { var customData = getDataFromCustomEvent(nativeEvent); if (customData !== null) { event.data = customData; } } EventPropagators.accumulateTwoPhaseDispatches(event); return event; } /** * @param {string} topLevelType Record from `EventConstants`. * @param {object} nativeEvent Native browser event. * @return {?string} The string corresponding to this `beforeInput` event. */ function getNativeBeforeInputChars(topLevelType, nativeEvent) { switch (topLevelType) { case topLevelTypes.topCompositionEnd: return getDataFromCustomEvent(nativeEvent); case topLevelTypes.topKeyPress: /** * If native `textInput` events are available, our goal is to make * use of them. However, there is a special case: the spacebar key. * In Webkit, preventing default on a spacebar `textInput` event * cancels character insertion, but it *also* causes the browser * to fall back to its default spacebar behavior of scrolling the * page. * * Tracking at: * https://code.google.com/p/chromium/issues/detail?id=355103 * * To avoid this issue, use the keypress event as if no `textInput` * event is available. */ var which = nativeEvent.which; if (which !== SPACEBAR_CODE) { return null; } hasSpaceKeypress = true; return SPACEBAR_CHAR; case topLevelTypes.topTextInput: // Record the characters to be added to the DOM. var chars = nativeEvent.data; // If it's a spacebar character, assume that we have already handled // it at the keypress level and bail immediately. Android Chrome // doesn't give us keycodes, so we need to blacklist it. if (chars === SPACEBAR_CHAR && hasSpaceKeypress) { return null; } return chars; default: // For other native event types, do nothing. return null; } } /** * For browsers that do not provide the `textInput` event, extract the * appropriate string to use for SyntheticInputEvent. * * @param {string} topLevelType Record from `EventConstants`. * @param {object} nativeEvent Native browser event. * @return {?string} The fallback string for this `beforeInput` event. */ function getFallbackBeforeInputChars(topLevelType, nativeEvent) { // If we are currently composing (IME) and using a fallback to do so, // try to extract the composed characters from the fallback object. if (currentComposition) { if (topLevelType === topLevelTypes.topCompositionEnd || isFallbackCompositionEnd(topLevelType, nativeEvent)) { var chars = currentComposition.getData(); FallbackCompositionState.release(currentComposition); currentComposition = null; return chars; } return null; } switch (topLevelType) { case topLevelTypes.topPaste: // If a paste event occurs after a keypress, throw out the input // chars. Paste events should not lead to BeforeInput events. return null; case topLevelTypes.topKeyPress: /** * As of v27, Firefox may fire keypress events even when no character * will be inserted. A few possibilities: * * - `which` is `0`. Arrow keys, Esc key, etc. * * - `which` is the pressed key code, but no char is available. * Ex: 'AltGr + d` in Polish. There is no modified character for * this key combination and no character is inserted into the * document, but FF fires the keypress for char code `100` anyway. * No `input` event will occur. * * - `which` is the pressed key code, but a command combination is * being used. Ex: `Cmd+C`. No character is inserted, and no * `input` event will occur. */ if (nativeEvent.which && !isKeypressCommand(nativeEvent)) { return String.fromCharCode(nativeEvent.which); } return null; case topLevelTypes.topCompositionEnd: return useFallbackCompositionData ? null : nativeEvent.data; default: return null; } } /** * Extract a SyntheticInputEvent for `beforeInput`, based on either native * `textInput` or fallback behavior. * * @return {?object} A SyntheticInputEvent. */ function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { var chars; if (canUseTextInputEvent) { chars = getNativeBeforeInputChars(topLevelType, nativeEvent); } else { chars = getFallbackBeforeInputChars(topLevelType, nativeEvent); } // If no characters are being inserted, no BeforeInput event should // be fired. if (!chars) { return null; } var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget); event.data = chars; EventPropagators.accumulateTwoPhaseDispatches(event); return event; } /** * Create an `onBeforeInput` event to match * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents. * * This event plugin is based on the native `textInput` event * available in Chrome, Safari, Opera, and IE. This event fires after * `onKeyPress` and `onCompositionEnd`, but before `onInput`. * * `beforeInput` is spec'd but not implemented in any browsers, and * the `input` event does not provide any useful information about what has * actually been added, contrary to the spec. Thus, `textInput` is the best * available event to identify the characters that have actually been inserted * into the target node. * * This plugin is also responsible for emitting `composition` events, thus * allowing us to share composition fallback code for both `beforeInput` and * `composition` event types. */ var BeforeInputEventPlugin = { eventTypes: eventTypes, extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { return [extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget), extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget)]; } }; module.exports = BeforeInputEventPlugin; /***/ }, /* 40 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventConstants */ 'use strict'; var keyMirror = __webpack_require__(24); var PropagationPhases = keyMirror({ bubbled: null, captured: null }); /** * Types of raw signals from the browser caught at the top level. */ var topLevelTypes = keyMirror({ topAbort: null, topAnimationEnd: null, topAnimationIteration: null, topAnimationStart: null, topBlur: null, topCanPlay: null, topCanPlayThrough: null, topChange: null, topClick: null, topCompositionEnd: null, topCompositionStart: null, topCompositionUpdate: null, topContextMenu: null, topCopy: null, topCut: null, topDoubleClick: null, topDrag: null, topDragEnd: null, topDragEnter: null, topDragExit: null, topDragLeave: null, topDragOver: null, topDragStart: null, topDrop: null, topDurationChange: null, topEmptied: null, topEncrypted: null, topEnded: null, topError: null, topFocus: null, topInput: null, topInvalid: null, topKeyDown: null, topKeyPress: null, topKeyUp: null, topLoad: null, topLoadedData: null, topLoadedMetadata: null, topLoadStart: null, topMouseDown: null, topMouseMove: null, topMouseOut: null, topMouseOver: null, topMouseUp: null, topPaste: null, topPause: null, topPlay: null, topPlaying: null, topProgress: null, topRateChange: null, topReset: null, topScroll: null, topSeeked: null, topSeeking: null, topSelectionChange: null, topStalled: null, topSubmit: null, topSuspend: null, topTextInput: null, topTimeUpdate: null, topTouchCancel: null, topTouchEnd: null, topTouchMove: null, topTouchStart: null, topTransitionEnd: null, topVolumeChange: null, topWaiting: null, topWheel: null }); var EventConstants = { topLevelTypes: topLevelTypes, PropagationPhases: PropagationPhases }; module.exports = EventConstants; /***/ }, /* 41 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPropagators */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPluginHub = __webpack_require__(42); var EventPluginUtils = __webpack_require__(44); var accumulateInto = __webpack_require__(46); var forEachAccumulated = __webpack_require__(47); var warning = __webpack_require__(10); var PropagationPhases = EventConstants.PropagationPhases; var getListener = EventPluginHub.getListener; /** * Some event types have a notion of different registration names for different * "phases" of propagation. This finds listeners by a given phase. */ function listenerAtPhase(inst, event, propagationPhase) { var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase]; return getListener(inst, registrationName); } /** * Tags a `SyntheticEvent` with dispatched listeners. Creating this function * here, allows us to not have to bind or create functions for each event. * Mutating the event's members allows us to not have to create a wrapping * "dispatch" object that pairs the event with the listener. */ function accumulateDirectionalDispatches(inst, upwards, event) { if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0; } var phase = upwards ? PropagationPhases.bubbled : PropagationPhases.captured; var listener = listenerAtPhase(inst, event, phase); if (listener) { event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); } } /** * Collect dispatches (must be entirely collected before dispatching - see unit * tests). Lazily allocate the array to conserve memory. We must loop through * each event and perform the traversal for each one. We cannot perform a * single traversal for the entire collection of events because each event may * have a different target. */ function accumulateTwoPhaseDispatchesSingle(event) { if (event && event.dispatchConfig.phasedRegistrationNames) { EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event); } } /** * Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID. */ function accumulateTwoPhaseDispatchesSingleSkipTarget(event) { if (event && event.dispatchConfig.phasedRegistrationNames) { var targetInst = event._targetInst; var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null; EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event); } } /** * Accumulates without regard to direction, does not look for phased * registration names. Same as `accumulateDirectDispatchesSingle` but without * requiring that the `dispatchMarker` be the same as the dispatched ID. */ function accumulateDispatches(inst, ignoredDirection, event) { if (event && event.dispatchConfig.registrationName) { var registrationName = event.dispatchConfig.registrationName; var listener = getListener(inst, registrationName); if (listener) { event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); } } } /** * Accumulates dispatches on an `SyntheticEvent`, but only for the * `dispatchMarker`. * @param {SyntheticEvent} event */ function accumulateDirectDispatchesSingle(event) { if (event && event.dispatchConfig.registrationName) { accumulateDispatches(event._targetInst, null, event); } } function accumulateTwoPhaseDispatches(events) { forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle); } function accumulateTwoPhaseDispatchesSkipTarget(events) { forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget); } function accumulateEnterLeaveDispatches(leave, enter, from, to) { EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter); } function accumulateDirectDispatches(events) { forEachAccumulated(events, accumulateDirectDispatchesSingle); } /** * A small set of propagation patterns, each of which will accept a small amount * of information, and generate a set of "dispatch ready event objects" - which * are sets of events that have already been annotated with a set of dispatched * listener functions/ids. The API is designed this way to discourage these * propagation strategies from actually executing the dispatches, since we * always want to collect the entire set of dispatches before executing event a * single one. * * @constructor EventPropagators */ var EventPropagators = { accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches, accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget, accumulateDirectDispatches: accumulateDirectDispatches, accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatches }; module.exports = EventPropagators; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 42 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPluginHub */ 'use strict'; var EventPluginRegistry = __webpack_require__(43); var EventPluginUtils = __webpack_require__(44); var ReactErrorUtils = __webpack_require__(45); var accumulateInto = __webpack_require__(46); var forEachAccumulated = __webpack_require__(47); var invariant = __webpack_require__(7); /** * Internal store for event listeners */ var listenerBank = {}; /** * Internal queue of events that have accumulated their dispatches and are * waiting to have their dispatches executed. */ var eventQueue = null; /** * Dispatches an event and releases it back into the pool, unless persistent. * * @param {?object} event Synthetic event to be dispatched. * @param {boolean} simulated If the event is simulated (changes exn behavior) * @private */ var executeDispatchesAndRelease = function (event, simulated) { if (event) { EventPluginUtils.executeDispatchesInOrder(event, simulated); if (!event.isPersistent()) { event.constructor.release(event); } } }; var executeDispatchesAndReleaseSimulated = function (e) { return executeDispatchesAndRelease(e, true); }; var executeDispatchesAndReleaseTopLevel = function (e) { return executeDispatchesAndRelease(e, false); }; /** * This is a unified interface for event plugins to be installed and configured. * * Event plugins can implement the following properties: * * `extractEvents` {function(string, DOMEventTarget, string, object): *} * Required. When a top-level event is fired, this method is expected to * extract synthetic events that will in turn be queued and dispatched. * * `eventTypes` {object} * Optional, plugins that fire events must publish a mapping of registration * names that are used to register listeners. Values of this mapping must * be objects that contain `registrationName` or `phasedRegistrationNames`. * * `executeDispatch` {function(object, function, string)} * Optional, allows plugins to override how an event gets dispatched. By * default, the listener is simply invoked. * * Each plugin that is injected into `EventsPluginHub` is immediately operable. * * @public */ var EventPluginHub = { /** * Methods for injecting dependencies. */ injection: { /** * @param {array} InjectedEventPluginOrder * @public */ injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder, /** * @param {object} injectedNamesToPlugins Map from names to plugin modules. */ injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName }, /** * Stores `listener` at `listenerBank[registrationName][id]`. Is idempotent. * * @param {object} inst The instance, which is the source of events. * @param {string} registrationName Name of listener (e.g. `onClick`). * @param {function} listener The callback to store. */ putListener: function (inst, registrationName, listener) { !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : invariant(false) : void 0; var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {}); bankForRegistrationName[inst._rootNodeID] = listener; var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; if (PluginModule && PluginModule.didPutListener) { PluginModule.didPutListener(inst, registrationName, listener); } }, /** * @param {object} inst The instance, which is the source of events. * @param {string} registrationName Name of listener (e.g. `onClick`). * @return {?function} The stored callback. */ getListener: function (inst, registrationName) { var bankForRegistrationName = listenerBank[registrationName]; return bankForRegistrationName && bankForRegistrationName[inst._rootNodeID]; }, /** * Deletes a listener from the registration bank. * * @param {object} inst The instance, which is the source of events. * @param {string} registrationName Name of listener (e.g. `onClick`). */ deleteListener: function (inst, registrationName) { var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; if (PluginModule && PluginModule.willDeleteListener) { PluginModule.willDeleteListener(inst, registrationName); } var bankForRegistrationName = listenerBank[registrationName]; // TODO: This should never be null -- when is it? if (bankForRegistrationName) { delete bankForRegistrationName[inst._rootNodeID]; } }, /** * Deletes all listeners for the DOM element with the supplied ID. * * @param {object} inst The instance, which is the source of events. */ deleteAllListeners: function (inst) { for (var registrationName in listenerBank) { if (!listenerBank[registrationName][inst._rootNodeID]) { continue; } var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; if (PluginModule && PluginModule.willDeleteListener) { PluginModule.willDeleteListener(inst, registrationName); } delete listenerBank[registrationName][inst._rootNodeID]; } }, /** * Allows registered plugins an opportunity to extract events from top-level * native browser events. * * @return {*} An accumulation of synthetic events. * @internal */ extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { var events; var plugins = EventPluginRegistry.plugins; for (var i = 0; i < plugins.length; i++) { // Not every plugin in the ordering may be loaded at runtime. var possiblePlugin = plugins[i]; if (possiblePlugin) { var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget); if (extractedEvents) { events = accumulateInto(events, extractedEvents); } } } return events; }, /** * Enqueues a synthetic event that should be dispatched when * `processEventQueue` is invoked. * * @param {*} events An accumulation of synthetic events. * @internal */ enqueueEvents: function (events) { if (events) { eventQueue = accumulateInto(eventQueue, events); } }, /** * Dispatches all synthetic events on the event queue. * * @internal */ processEventQueue: function (simulated) { // Set `eventQueue` to null before processing it so that we can tell if more // events get enqueued while processing. var processingEventQueue = eventQueue; eventQueue = null; if (simulated) { forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated); } else { forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel); } !!eventQueue ? process.env.NODE_ENV !== 'production' ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing ' + 'an event queue. Support for this has not yet been implemented.') : invariant(false) : void 0; // This would be a good time to rethrow if any of the event handlers threw. ReactErrorUtils.rethrowCaughtError(); }, /** * These are needed for tests only. Do not use! */ __purge: function () { listenerBank = {}; }, __getListenerBank: function () { return listenerBank; } }; module.exports = EventPluginHub; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 43 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPluginRegistry */ 'use strict'; var invariant = __webpack_require__(7); /** * Injectable ordering of event plugins. */ var EventPluginOrder = null; /** * Injectable mapping from names to event plugin modules. */ var namesToPlugins = {}; /** * Recomputes the plugin list using the injected plugins and plugin ordering. * * @private */ function recomputePluginOrdering() { if (!EventPluginOrder) { // Wait until an `EventPluginOrder` is injected. return; } for (var pluginName in namesToPlugins) { var PluginModule = namesToPlugins[pluginName]; var pluginIndex = EventPluginOrder.indexOf(pluginName); !(pluginIndex > -1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in ' + 'the plugin ordering, `%s`.', pluginName) : invariant(false) : void 0; if (EventPluginRegistry.plugins[pluginIndex]) { continue; } !PluginModule.extractEvents ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` ' + 'method, but `%s` does not.', pluginName) : invariant(false) : void 0; EventPluginRegistry.plugins[pluginIndex] = PluginModule; var publishedEvents = PluginModule.eventTypes; for (var eventName in publishedEvents) { !publishEventForPlugin(publishedEvents[eventName], PluginModule, eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : invariant(false) : void 0; } } } /** * Publishes an event so that it can be dispatched by the supplied plugin. * * @param {object} dispatchConfig Dispatch configuration for the event. * @param {object} PluginModule Plugin publishing the event. * @return {boolean} True if the event was successfully published. * @private */ function publishEventForPlugin(dispatchConfig, PluginModule, eventName) { !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'event name, `%s`.', eventName) : invariant(false) : void 0; EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig; var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames; if (phasedRegistrationNames) { for (var phaseName in phasedRegistrationNames) { if (phasedRegistrationNames.hasOwnProperty(phaseName)) { var phasedRegistrationName = phasedRegistrationNames[phaseName]; publishRegistrationName(phasedRegistrationName, PluginModule, eventName); } } return true; } else if (dispatchConfig.registrationName) { publishRegistrationName(dispatchConfig.registrationName, PluginModule, eventName); return true; } return false; } /** * Publishes a registration name that is used to identify dispatched events and * can be used with `EventPluginHub.putListener` to register listeners. * * @param {string} registrationName Registration name to add. * @param {object} PluginModule Plugin publishing the event. * @private */ function publishRegistrationName(registrationName, PluginModule, eventName) { !!EventPluginRegistry.registrationNameModules[registrationName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName) : invariant(false) : void 0; EventPluginRegistry.registrationNameModules[registrationName] = PluginModule; EventPluginRegistry.registrationNameDependencies[registrationName] = PluginModule.eventTypes[eventName].dependencies; if (process.env.NODE_ENV !== 'production') { var lowerCasedName = registrationName.toLowerCase(); EventPluginRegistry.possibleRegistrationNames[lowerCasedName] = registrationName; } } /** * Registers plugins so that they can extract and dispatch events. * * @see {EventPluginHub} */ var EventPluginRegistry = { /** * Ordered list of injected plugins. */ plugins: [], /** * Mapping from event name to dispatch config */ eventNameDispatchConfigs: {}, /** * Mapping from registration name to plugin module */ registrationNameModules: {}, /** * Mapping from registration name to event name */ registrationNameDependencies: {}, /** * Mapping from lowercase registration names to the properly cased version, * used to warn in the case of missing event handlers. Available * only in __DEV__. * @type {Object} */ possibleRegistrationNames: process.env.NODE_ENV !== 'production' ? {} : null, /** * Injects an ordering of plugins (by plugin name). This allows the ordering * to be decoupled from injection of the actual plugins so that ordering is * always deterministic regardless of packaging, on-the-fly injection, etc. * * @param {array} InjectedEventPluginOrder * @internal * @see {EventPluginHub.injection.injectEventPluginOrder} */ injectEventPluginOrder: function (InjectedEventPluginOrder) { !!EventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than ' + 'once. You are likely trying to load more than one copy of React.') : invariant(false) : void 0; // Clone the ordering so it cannot be dynamically mutated. EventPluginOrder = Array.prototype.slice.call(InjectedEventPluginOrder); recomputePluginOrdering(); }, /** * Injects plugins to be used by `EventPluginHub`. The plugin names must be * in the ordering injected by `injectEventPluginOrder`. * * Plugins can be injected as part of page initialization or on-the-fly. * * @param {object} injectedNamesToPlugins Map from names to plugin modules. * @internal * @see {EventPluginHub.injection.injectEventPluginsByName} */ injectEventPluginsByName: function (injectedNamesToPlugins) { var isOrderingDirty = false; for (var pluginName in injectedNamesToPlugins) { if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) { continue; } var PluginModule = injectedNamesToPlugins[pluginName]; if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== PluginModule) { !!namesToPlugins[pluginName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins ' + 'using the same name, `%s`.', pluginName) : invariant(false) : void 0; namesToPlugins[pluginName] = PluginModule; isOrderingDirty = true; } } if (isOrderingDirty) { recomputePluginOrdering(); } }, /** * Looks up the plugin for the supplied event. * * @param {object} event A synthetic event. * @return {?object} The plugin that created the supplied event. * @internal */ getPluginModuleForEvent: function (event) { var dispatchConfig = event.dispatchConfig; if (dispatchConfig.registrationName) { return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null; } for (var phase in dispatchConfig.phasedRegistrationNames) { if (!dispatchConfig.phasedRegistrationNames.hasOwnProperty(phase)) { continue; } var PluginModule = EventPluginRegistry.registrationNameModules[dispatchConfig.phasedRegistrationNames[phase]]; if (PluginModule) { return PluginModule; } } return null; }, /** * Exposed for unit testing. * @private */ _resetEventPlugins: function () { EventPluginOrder = null; for (var pluginName in namesToPlugins) { if (namesToPlugins.hasOwnProperty(pluginName)) { delete namesToPlugins[pluginName]; } } EventPluginRegistry.plugins.length = 0; var eventNameDispatchConfigs = EventPluginRegistry.eventNameDispatchConfigs; for (var eventName in eventNameDispatchConfigs) { if (eventNameDispatchConfigs.hasOwnProperty(eventName)) { delete eventNameDispatchConfigs[eventName]; } } var registrationNameModules = EventPluginRegistry.registrationNameModules; for (var registrationName in registrationNameModules) { if (registrationNameModules.hasOwnProperty(registrationName)) { delete registrationNameModules[registrationName]; } } if (process.env.NODE_ENV !== 'production') { var possibleRegistrationNames = EventPluginRegistry.possibleRegistrationNames; for (var lowerCasedName in possibleRegistrationNames) { if (possibleRegistrationNames.hasOwnProperty(lowerCasedName)) { delete possibleRegistrationNames[lowerCasedName]; } } } } }; module.exports = EventPluginRegistry; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 44 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPluginUtils */ 'use strict'; var EventConstants = __webpack_require__(40); var ReactErrorUtils = __webpack_require__(45); var invariant = __webpack_require__(7); var warning = __webpack_require__(10); /** * Injected dependencies: */ /** * - `ComponentTree`: [required] Module that can convert between React instances * and actual node references. */ var ComponentTree; var TreeTraversal; var injection = { injectComponentTree: function (Injected) { ComponentTree = Injected; if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.getNodeFromInstance && Injected.getInstanceFromNode, 'EventPluginUtils.injection.injectComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.') : void 0; } }, injectTreeTraversal: function (Injected) { TreeTraversal = Injected; if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.isAncestor && Injected.getLowestCommonAncestor, 'EventPluginUtils.injection.injectTreeTraversal(...): Injected ' + 'module is missing isAncestor or getLowestCommonAncestor.') : void 0; } } }; var topLevelTypes = EventConstants.topLevelTypes; function isEndish(topLevelType) { return topLevelType === topLevelTypes.topMouseUp || topLevelType === topLevelTypes.topTouchEnd || topLevelType === topLevelTypes.topTouchCancel; } function isMoveish(topLevelType) { return topLevelType === topLevelTypes.topMouseMove || topLevelType === topLevelTypes.topTouchMove; } function isStartish(topLevelType) { return topLevelType === topLevelTypes.topMouseDown || topLevelType === topLevelTypes.topTouchStart; } var validateEventDispatches; if (process.env.NODE_ENV !== 'production') { validateEventDispatches = function (event) { var dispatchListeners = event._dispatchListeners; var dispatchInstances = event._dispatchInstances; var listenersIsArr = Array.isArray(dispatchListeners); var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0; var instancesIsArr = Array.isArray(dispatchInstances); var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0; process.env.NODE_ENV !== 'production' ? warning(instancesIsArr === listenersIsArr && instancesLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : void 0; }; } /** * Dispatch the event to the listener. * @param {SyntheticEvent} event SyntheticEvent to handle * @param {boolean} simulated If the event is simulated (changes exn behavior) * @param {function} listener Application-level callback * @param {*} inst Internal component instance */ function executeDispatch(event, simulated, listener, inst) { var type = event.type || 'unknown-event'; event.currentTarget = EventPluginUtils.getNodeFromInstance(inst); if (simulated) { ReactErrorUtils.invokeGuardedCallbackWithCatch(type, listener, event); } else { ReactErrorUtils.invokeGuardedCallback(type, listener, event); } event.currentTarget = null; } /** * Standard/simple iteration through an event's collected dispatches. */ function executeDispatchesInOrder(event, simulated) { var dispatchListeners = event._dispatchListeners; var dispatchInstances = event._dispatchInstances; if (process.env.NODE_ENV !== 'production') { validateEventDispatches(event); } if (Array.isArray(dispatchListeners)) { for (var i = 0; i < dispatchListeners.length; i++) { if (event.isPropagationStopped()) { break; } // Listeners and Instances are two parallel arrays that are always in sync. executeDispatch(event, simulated, dispatchListeners[i], dispatchInstances[i]); } } else if (dispatchListeners) { executeDispatch(event, simulated, dispatchListeners, dispatchInstances); } event._dispatchListeners = null; event._dispatchInstances = null; } /** * Standard/simple iteration through an event's collected dispatches, but stops * at the first dispatch execution returning true, and returns that id. * * @return {?string} id of the first dispatch execution who's listener returns * true, or null if no listener returned true. */ function executeDispatchesInOrderStopAtTrueImpl(event) { var dispatchListeners = event._dispatchListeners; var dispatchInstances = event._dispatchInstances; if (process.env.NODE_ENV !== 'production') { validateEventDispatches(event); } if (Array.isArray(dispatchListeners)) { for (var i = 0; i < dispatchListeners.length; i++) { if (event.isPropagationStopped()) { break; } // Listeners and Instances are two parallel arrays that are always in sync. if (dispatchListeners[i](event, dispatchInstances[i])) { return dispatchInstances[i]; } } } else if (dispatchListeners) { if (dispatchListeners(event, dispatchInstances)) { return dispatchInstances; } } return null; } /** * @see executeDispatchesInOrderStopAtTrueImpl */ function executeDispatchesInOrderStopAtTrue(event) { var ret = executeDispatchesInOrderStopAtTrueImpl(event); event._dispatchInstances = null; event._dispatchListeners = null; return ret; } /** * Execution of a "direct" dispatch - there must be at most one dispatch * accumulated on the event or it is considered an error. It doesn't really make * sense for an event with multiple dispatches (bubbled) to keep track of the * return values at each dispatch execution, but it does tend to make sense when * dealing with "direct" dispatches. * * @return {*} The return value of executing the single dispatch. */ function executeDirectDispatch(event) { if (process.env.NODE_ENV !== 'production') { validateEventDispatches(event); } var dispatchListener = event._dispatchListeners; var dispatchInstance = event._dispatchInstances; !!Array.isArray(dispatchListener) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : invariant(false) : void 0; event.currentTarget = dispatchListener ? EventPluginUtils.getNodeFromInstance(dispatchInstance) : null; var res = dispatchListener ? dispatchListener(event) : null; event.currentTarget = null; event._dispatchListeners = null; event._dispatchInstances = null; return res; } /** * @param {SyntheticEvent} event * @return {boolean} True iff number of dispatches accumulated is greater than 0. */ function hasDispatches(event) { return !!event._dispatchListeners; } /** * General utilities that are useful in creating custom Event Plugins. */ var EventPluginUtils = { isEndish: isEndish, isMoveish: isMoveish, isStartish: isStartish, executeDirectDispatch: executeDirectDispatch, executeDispatchesInOrder: executeDispatchesInOrder, executeDispatchesInOrderStopAtTrue: executeDispatchesInOrderStopAtTrue, hasDispatches: hasDispatches, getInstanceFromNode: function (node) { return ComponentTree.getInstanceFromNode(node); }, getNodeFromInstance: function (node) { return ComponentTree.getNodeFromInstance(node); }, isAncestor: function (a, b) { return TreeTraversal.isAncestor(a, b); }, getLowestCommonAncestor: function (a, b) { return TreeTraversal.getLowestCommonAncestor(a, b); }, getParentInstance: function (inst) { return TreeTraversal.getParentInstance(inst); }, traverseTwoPhase: function (target, fn, arg) { return TreeTraversal.traverseTwoPhase(target, fn, arg); }, traverseEnterLeave: function (from, to, fn, argFrom, argTo) { return TreeTraversal.traverseEnterLeave(from, to, fn, argFrom, argTo); }, injection: injection }; module.exports = EventPluginUtils; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 45 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactErrorUtils */ 'use strict'; var caughtError = null; /** * Call a function while guarding against errors that happens within it. * * @param {?String} name of the guard to use for logging or debugging * @param {Function} func The function to invoke * @param {*} a First argument * @param {*} b Second argument */ function invokeGuardedCallback(name, func, a, b) { try { return func(a, b); } catch (x) { if (caughtError === null) { caughtError = x; } return undefined; } } var ReactErrorUtils = { invokeGuardedCallback: invokeGuardedCallback, /** * Invoked by ReactTestUtils.Simulate so that any errors thrown by the event * handler are sure to be rethrown by rethrowCaughtError. */ invokeGuardedCallbackWithCatch: invokeGuardedCallback, /** * During execution of guarded functions we will capture the first error which * we will rethrow to be handled by the top level error handler. */ rethrowCaughtError: function () { if (caughtError) { var error = caughtError; caughtError = null; throw error; } } }; if (process.env.NODE_ENV !== 'production') { /** * To help development we can get better devtools integration by simulating a * real browser event. */ if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') { var fakeNode = document.createElement('react'); ReactErrorUtils.invokeGuardedCallback = function (name, func, a, b) { var boundFunc = func.bind(null, a, b); var evtType = 'react-' + name; fakeNode.addEventListener(evtType, boundFunc, false); var evt = document.createEvent('Event'); evt.initEvent(evtType, false, false); fakeNode.dispatchEvent(evt); fakeNode.removeEventListener(evtType, boundFunc, false); }; } } module.exports = ReactErrorUtils; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 46 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule accumulateInto */ 'use strict'; var invariant = __webpack_require__(7); /** * * Accumulates items that must not be null or undefined into the first one. This * is used to conserve memory by avoiding array allocations, and thus sacrifices * API cleanness. Since `current` can be null before being passed in and not * null after this function, make sure to assign it back to `current`: * * `a = accumulateInto(a, b);` * * This API should be sparingly used. Try `accumulate` for something cleaner. * * @return {*|array<*>} An accumulation of items. */ function accumulateInto(current, next) { !(next != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : invariant(false) : void 0; if (current == null) { return next; } // Both are not empty. Warning: Never call x.concat(y) when you are not // certain that x is an Array (x could be a string with concat method). var currentIsArray = Array.isArray(current); var nextIsArray = Array.isArray(next); if (currentIsArray && nextIsArray) { current.push.apply(current, next); return current; } if (currentIsArray) { current.push(next); return current; } if (nextIsArray) { // A bit too dangerous to mutate `next`. return [current].concat(next); } return [current, next]; } module.exports = accumulateInto; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 47 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule forEachAccumulated */ 'use strict'; /** * @param {array} arr an "accumulation" of items which is either an Array or * a single item. Useful when paired with the `accumulate` module. This is a * simple utility that allows us to reason about a collection of items, but * handling the case when there is exactly one item (and we do not need to * allocate an array). */ var forEachAccumulated = function (arr, cb, scope) { if (Array.isArray(arr)) { arr.forEach(cb, scope); } else if (arr) { cb.call(scope, arr); } }; module.exports = forEachAccumulated; /***/ }, /* 48 */ /***/ function(module, exports) { /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); /** * Simple, lightweight module assisting with the detection and context of * Worker. Helps avoid circular dependencies and allows code to reason about * whether or not they are in a Worker, even if they never include the main * `ReactWorker` dependency. */ var ExecutionEnvironment = { canUseDOM: canUseDOM, canUseWorkers: typeof Worker !== 'undefined', canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent), canUseViewport: canUseDOM && !!window.screen, isInWorker: !canUseDOM // For now, this is true - might change in the future. }; module.exports = ExecutionEnvironment; /***/ }, /* 49 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule FallbackCompositionState */ 'use strict'; var _assign = __webpack_require__(4); var PooledClass = __webpack_require__(6); var getTextContentAccessor = __webpack_require__(50); /** * This helper class stores information about text content of a target node, * allowing comparison of content before and after a given event. * * Identify the node where selection currently begins, then observe * both its text content and its current position in the DOM. Since the * browser may natively replace the target node during composition, we can * use its position to find its replacement. * * @param {DOMEventTarget} root */ function FallbackCompositionState(root) { this._root = root; this._startText = this.getText(); this._fallbackText = null; } _assign(FallbackCompositionState.prototype, { destructor: function () { this._root = null; this._startText = null; this._fallbackText = null; }, /** * Get current text of input. * * @return {string} */ getText: function () { if ('value' in this._root) { return this._root.value; } return this._root[getTextContentAccessor()]; }, /** * Determine the differing substring between the initially stored * text content and the current content. * * @return {string} */ getData: function () { if (this._fallbackText) { return this._fallbackText; } var start; var startValue = this._startText; var startLength = startValue.length; var end; var endValue = this.getText(); var endLength = endValue.length; for (start = 0; start < startLength; start++) { if (startValue[start] !== endValue[start]) { break; } } var minEnd = startLength - start; for (end = 1; end <= minEnd; end++) { if (startValue[startLength - end] !== endValue[endLength - end]) { break; } } var sliceTail = end > 1 ? 1 - end : undefined; this._fallbackText = endValue.slice(start, sliceTail); return this._fallbackText; } }); PooledClass.addPoolingTo(FallbackCompositionState); module.exports = FallbackCompositionState; /***/ }, /* 50 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getTextContentAccessor */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var contentKey = null; /** * Gets the key used to access text content on a DOM node. * * @return {?string} Key used to access text content. * @internal */ function getTextContentAccessor() { if (!contentKey && ExecutionEnvironment.canUseDOM) { // Prefer textContent to innerText because many browsers support both but // SVG elements don't support innerText even when
does. contentKey = 'textContent' in document.documentElement ? 'textContent' : 'innerText'; } return contentKey; } module.exports = getTextContentAccessor; /***/ }, /* 51 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticCompositionEvent */ 'use strict'; var SyntheticEvent = __webpack_require__(52); /** * @interface Event * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents */ var CompositionEventInterface = { data: null }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticUIEvent} */ function SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface); module.exports = SyntheticCompositionEvent; /***/ }, /* 52 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticEvent */ 'use strict'; var _assign = __webpack_require__(4); var PooledClass = __webpack_require__(6); var emptyFunction = __webpack_require__(11); var warning = __webpack_require__(10); var didWarnForAddedNewProperty = false; var isProxySupported = typeof Proxy === 'function'; var shouldBeReleasedProperties = ['dispatchConfig', '_targetInst', 'nativeEvent', 'isDefaultPrevented', 'isPropagationStopped', '_dispatchListeners', '_dispatchInstances']; /** * @interface Event * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var EventInterface = { type: null, target: null, // currentTarget is set when dispatching; no use in copying it here currentTarget: emptyFunction.thatReturnsNull, eventPhase: null, bubbles: null, cancelable: null, timeStamp: function (event) { return event.timeStamp || Date.now(); }, defaultPrevented: null, isTrusted: null }; /** * Synthetic events are dispatched by event plugins, typically in response to a * top-level event delegation handler. * * These systems should generally use pooling to reduce the frequency of garbage * collection. The system should check `isPersistent` to determine whether the * event should be released into the pool after being dispatched. Users that * need a persisted event should invoke `persist`. * * Synthetic events (and subclasses) implement the DOM Level 3 Events API by * normalizing browser quirks. Subclasses do not necessarily have to implement a * DOM interface; custom application-specific events can also subclass this. * * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {*} targetInst Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @param {DOMEventTarget} nativeEventTarget Target node. */ function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) { if (process.env.NODE_ENV !== 'production') { // these have a getter/setter for warnings delete this.nativeEvent; delete this.preventDefault; delete this.stopPropagation; } this.dispatchConfig = dispatchConfig; this._targetInst = targetInst; this.nativeEvent = nativeEvent; var Interface = this.constructor.Interface; for (var propName in Interface) { if (!Interface.hasOwnProperty(propName)) { continue; } if (process.env.NODE_ENV !== 'production') { delete this[propName]; // this has a getter/setter for warnings } var normalize = Interface[propName]; if (normalize) { this[propName] = normalize(nativeEvent); } else { if (propName === 'target') { this.target = nativeEventTarget; } else { this[propName] = nativeEvent[propName]; } } } var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false; if (defaultPrevented) { this.isDefaultPrevented = emptyFunction.thatReturnsTrue; } else { this.isDefaultPrevented = emptyFunction.thatReturnsFalse; } this.isPropagationStopped = emptyFunction.thatReturnsFalse; return this; } _assign(SyntheticEvent.prototype, { preventDefault: function () { this.defaultPrevented = true; var event = this.nativeEvent; if (!event) { return; } if (event.preventDefault) { event.preventDefault(); } else { event.returnValue = false; } this.isDefaultPrevented = emptyFunction.thatReturnsTrue; }, stopPropagation: function () { var event = this.nativeEvent; if (!event) { return; } if (event.stopPropagation) { event.stopPropagation(); } else { event.cancelBubble = true; } this.isPropagationStopped = emptyFunction.thatReturnsTrue; }, /** * We release all dispatched `SyntheticEvent`s after each event loop, adding * them back into the pool. This allows a way to hold onto a reference that * won't be added back into the pool. */ persist: function () { this.isPersistent = emptyFunction.thatReturnsTrue; }, /** * Checks if this event should be released back into the pool. * * @return {boolean} True if this should not be released, false otherwise. */ isPersistent: emptyFunction.thatReturnsFalse, /** * `PooledClass` looks for `destructor` on each instance it releases. */ destructor: function () { var Interface = this.constructor.Interface; for (var propName in Interface) { if (process.env.NODE_ENV !== 'production') { Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName])); } else { this[propName] = null; } } for (var i = 0; i < shouldBeReleasedProperties.length; i++) { this[shouldBeReleasedProperties[i]] = null; } if (process.env.NODE_ENV !== 'production') { var noop = __webpack_require__(11); Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null)); Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', noop)); Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', noop)); } } }); SyntheticEvent.Interface = EventInterface; if (process.env.NODE_ENV !== 'production') { if (isProxySupported) { /*eslint-disable no-func-assign */ SyntheticEvent = new Proxy(SyntheticEvent, { construct: function (target, args) { return this.apply(target, Object.create(target.prototype), args); }, apply: function (constructor, that, args) { return new Proxy(constructor.apply(that, args), { set: function (target, prop, value) { if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) { process.env.NODE_ENV !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), 'This synthetic event is reused for performance reasons. If you\'re ' + 'seeing this, you\'re adding a new property in the synthetic event object. ' + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0; didWarnForAddedNewProperty = true; } target[prop] = value; return true; } }); } }); /*eslint-enable no-func-assign */ } } /** * Helper to reduce boilerplate when creating subclasses. * * @param {function} Class * @param {?object} Interface */ SyntheticEvent.augmentClass = function (Class, Interface) { var Super = this; var E = function () {}; E.prototype = Super.prototype; var prototype = new E(); _assign(prototype, Class.prototype); Class.prototype = prototype; Class.prototype.constructor = Class; Class.Interface = _assign({}, Super.Interface, Interface); Class.augmentClass = Super.augmentClass; PooledClass.addPoolingTo(Class, PooledClass.fourArgumentPooler); }; PooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler); module.exports = SyntheticEvent; /** * Helper to nullify syntheticEvent instance properties when destructing * * @param {object} SyntheticEvent * @param {String} propName * @return {object} defineProperty object */ function getPooledWarningPropertyDefinition(propName, getVal) { var isFunction = typeof getVal === 'function'; return { configurable: true, set: set, get: get }; function set(val) { var action = isFunction ? 'setting the method' : 'setting the property'; warn(action, 'This is effectively a no-op'); return val; } function get() { var action = isFunction ? 'accessing the method' : 'accessing the property'; var result = isFunction ? 'This is a no-op function' : 'This is set to null'; warn(action, result); return getVal; } function warn(action, result) { var warningCondition = false; process.env.NODE_ENV !== 'production' ? warning(warningCondition, 'This synthetic event is reused for performance reasons. If you\'re seeing this, ' + 'you\'re %s `%s` on a released/nullified synthetic event. %s. ' + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0; } } /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 53 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticInputEvent */ 'use strict'; var SyntheticEvent = __webpack_require__(52); /** * @interface Event * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105 * /#events-inputevents */ var InputEventInterface = { data: null }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticUIEvent} */ function SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface); module.exports = SyntheticInputEvent; /***/ }, /* 54 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ChangeEventPlugin */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPluginHub = __webpack_require__(42); var EventPropagators = __webpack_require__(41); var ExecutionEnvironment = __webpack_require__(48); var ReactDOMComponentTree = __webpack_require__(35); var ReactUpdates = __webpack_require__(55); var SyntheticEvent = __webpack_require__(52); var getEventTarget = __webpack_require__(63); var isEventSupported = __webpack_require__(64); var isTextInputElement = __webpack_require__(65); var keyOf = __webpack_require__(26); var topLevelTypes = EventConstants.topLevelTypes; var eventTypes = { change: { phasedRegistrationNames: { bubbled: keyOf({ onChange: null }), captured: keyOf({ onChangeCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topChange, topLevelTypes.topClick, topLevelTypes.topFocus, topLevelTypes.topInput, topLevelTypes.topKeyDown, topLevelTypes.topKeyUp, topLevelTypes.topSelectionChange] } }; /** * For IE shims */ var activeElement = null; var activeElementInst = null; var activeElementValue = null; var activeElementValueProp = null; /** * SECTION: handle `change` event */ function shouldUseChangeEvent(elem) { var nodeName = elem.nodeName && elem.nodeName.toLowerCase(); return nodeName === 'select' || nodeName === 'input' && elem.type === 'file'; } var doesChangeEventBubble = false; if (ExecutionEnvironment.canUseDOM) { // See `handleChange` comment below doesChangeEventBubble = isEventSupported('change') && (!('documentMode' in document) || document.documentMode > 8); } function manualDispatchChangeEvent(nativeEvent) { var event = SyntheticEvent.getPooled(eventTypes.change, activeElementInst, nativeEvent, getEventTarget(nativeEvent)); EventPropagators.accumulateTwoPhaseDispatches(event); // If change and propertychange bubbled, we'd just bind to it like all the // other events and have it go through ReactBrowserEventEmitter. Since it // doesn't, we manually listen for the events and so we have to enqueue and // process the abstract event manually. // // Batching is necessary here in order to ensure that all event handlers run // before the next rerender (including event handlers attached to ancestor // elements instead of directly on the input). Without this, controlled // components don't work properly in conjunction with event bubbling because // the component is rerendered and the value reverted before all the event // handlers can run. See https://github.com/facebook/react/issues/708. ReactUpdates.batchedUpdates(runEventInBatch, event); } function runEventInBatch(event) { EventPluginHub.enqueueEvents(event); EventPluginHub.processEventQueue(false); } function startWatchingForChangeEventIE8(target, targetInst) { activeElement = target; activeElementInst = targetInst; activeElement.attachEvent('onchange', manualDispatchChangeEvent); } function stopWatchingForChangeEventIE8() { if (!activeElement) { return; } activeElement.detachEvent('onchange', manualDispatchChangeEvent); activeElement = null; activeElementInst = null; } function getTargetInstForChangeEvent(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topChange) { return targetInst; } } function handleEventsForChangeEventIE8(topLevelType, target, targetInst) { if (topLevelType === topLevelTypes.topFocus) { // stopWatching() should be a noop here but we call it just in case we // missed a blur event somehow. stopWatchingForChangeEventIE8(); startWatchingForChangeEventIE8(target, targetInst); } else if (topLevelType === topLevelTypes.topBlur) { stopWatchingForChangeEventIE8(); } } /** * SECTION: handle `input` event */ var isInputEventSupported = false; if (ExecutionEnvironment.canUseDOM) { // IE9 claims to support the input event but fails to trigger it when // deleting text, so we ignore its input events. // IE10+ fire input events to often, such when a placeholder // changes or when an input with a placeholder is focused. isInputEventSupported = isEventSupported('input') && (!('documentMode' in document) || document.documentMode > 11); } /** * (For IE <=11) Replacement getter/setter for the `value` property that gets * set on the active element. */ var newValueProp = { get: function () { return activeElementValueProp.get.call(this); }, set: function (val) { // Cast to a string so we can do equality checks. activeElementValue = '' + val; activeElementValueProp.set.call(this, val); } }; /** * (For IE <=11) Starts tracking propertychange events on the passed-in element * and override the value property so that we can distinguish user events from * value changes in JS. */ function startWatchingForValueChange(target, targetInst) { activeElement = target; activeElementInst = targetInst; activeElementValue = target.value; activeElementValueProp = Object.getOwnPropertyDescriptor(target.constructor.prototype, 'value'); // Not guarded in a canDefineProperty check: IE8 supports defineProperty only // on DOM elements Object.defineProperty(activeElement, 'value', newValueProp); if (activeElement.attachEvent) { activeElement.attachEvent('onpropertychange', handlePropertyChange); } else { activeElement.addEventListener('propertychange', handlePropertyChange, false); } } /** * (For IE <=11) Removes the event listeners from the currently-tracked element, * if any exists. */ function stopWatchingForValueChange() { if (!activeElement) { return; } // delete restores the original property definition delete activeElement.value; if (activeElement.detachEvent) { activeElement.detachEvent('onpropertychange', handlePropertyChange); } else { activeElement.removeEventListener('propertychange', handlePropertyChange, false); } activeElement = null; activeElementInst = null; activeElementValue = null; activeElementValueProp = null; } /** * (For IE <=11) Handles a propertychange event, sending a `change` event if * the value of the active element has changed. */ function handlePropertyChange(nativeEvent) { if (nativeEvent.propertyName !== 'value') { return; } var value = nativeEvent.srcElement.value; if (value === activeElementValue) { return; } activeElementValue = value; manualDispatchChangeEvent(nativeEvent); } /** * If a `change` event should be fired, returns the target's ID. */ function getTargetInstForInputEvent(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topInput) { // In modern browsers (i.e., not IE8 or IE9), the input event is exactly // what we want so fall through here and trigger an abstract event return targetInst; } } function handleEventsForInputEventIE(topLevelType, target, targetInst) { if (topLevelType === topLevelTypes.topFocus) { // In IE8, we can capture almost all .value changes by adding a // propertychange handler and looking for events with propertyName // equal to 'value' // In IE9-11, propertychange fires for most input events but is buggy and // doesn't fire when text is deleted, but conveniently, selectionchange // appears to fire in all of the remaining cases so we catch those and // forward the event if the value has changed // In either case, we don't want to call the event handler if the value // is changed from JS so we redefine a setter for `.value` that updates // our activeElementValue variable, allowing us to ignore those changes // // stopWatching() should be a noop here but we call it just in case we // missed a blur event somehow. stopWatchingForValueChange(); startWatchingForValueChange(target, targetInst); } else if (topLevelType === topLevelTypes.topBlur) { stopWatchingForValueChange(); } } // For IE8 and IE9. function getTargetInstForInputEventIE(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topSelectionChange || topLevelType === topLevelTypes.topKeyUp || topLevelType === topLevelTypes.topKeyDown) { // On the selectionchange event, the target is just document which isn't // helpful for us so just check activeElement instead. // // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire // propertychange on the first input event after setting `value` from a // script and fires only keydown, keypress, keyup. Catching keyup usually // gets it and catching keydown lets us fire an event for the first // keystroke if user does a key repeat (it'll be a little delayed: right // before the second keystroke). Other input methods (e.g., paste) seem to // fire selectionchange normally. if (activeElement && activeElement.value !== activeElementValue) { activeElementValue = activeElement.value; return activeElementInst; } } } /** * SECTION: handle `click` event */ function shouldUseClickEvent(elem) { // Use the `click` event to detect changes to checkbox and radio inputs. // This approach works across all browsers, whereas `change` does not fire // until `blur` in IE8. return elem.nodeName && elem.nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio'); } function getTargetInstForClickEvent(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topClick) { return targetInst; } } /** * This plugin creates an `onChange` event that normalizes change events * across form elements. This event fires at a time when it's possible to * change the element's value without seeing a flicker. * * Supported elements are: * - input (see `isTextInputElement`) * - textarea * - select */ var ChangeEventPlugin = { eventTypes: eventTypes, extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window; var getTargetInstFunc, handleEventFunc; if (shouldUseChangeEvent(targetNode)) { if (doesChangeEventBubble) { getTargetInstFunc = getTargetInstForChangeEvent; } else { handleEventFunc = handleEventsForChangeEventIE8; } } else if (isTextInputElement(targetNode)) { if (isInputEventSupported) { getTargetInstFunc = getTargetInstForInputEvent; } else { getTargetInstFunc = getTargetInstForInputEventIE; handleEventFunc = handleEventsForInputEventIE; } } else if (shouldUseClickEvent(targetNode)) { getTargetInstFunc = getTargetInstForClickEvent; } if (getTargetInstFunc) { var inst = getTargetInstFunc(topLevelType, targetInst); if (inst) { var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, nativeEventTarget); event.type = 'change'; EventPropagators.accumulateTwoPhaseDispatches(event); return event; } } if (handleEventFunc) { handleEventFunc(topLevelType, targetNode, targetInst); } } }; module.exports = ChangeEventPlugin; /***/ }, /* 55 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactUpdates */ 'use strict'; var _assign = __webpack_require__(4); var CallbackQueue = __webpack_require__(56); var PooledClass = __webpack_require__(6); var ReactFeatureFlags = __webpack_require__(57); var ReactPerf = __webpack_require__(58); var ReactReconciler = __webpack_require__(59); var Transaction = __webpack_require__(62); var invariant = __webpack_require__(7); var dirtyComponents = []; var asapCallbackQueue = CallbackQueue.getPooled(); var asapEnqueued = false; var batchingStrategy = null; function ensureInjected() { !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching ' + 'strategy') : invariant(false) : void 0; } var NESTED_UPDATES = { initialize: function () { this.dirtyComponentsLength = dirtyComponents.length; }, close: function () { if (this.dirtyComponentsLength !== dirtyComponents.length) { // Additional updates were enqueued by componentDidUpdate handlers or // similar; before our own UPDATE_QUEUEING wrapper closes, we want to run // these new updates so that if A's componentDidUpdate calls setState on // B, B will update before the callback A's updater provided when calling // setState. 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( /* useCreateElement */true); } _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) { // Essentially calls `this.reconcileTransaction.perform(method, scope, a)` // with this transaction's wrappers around it. 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); } /** * Array comparator for ReactComponents by mount ordering. * * @param {ReactComponent} c1 first component you're comparing * @param {ReactComponent} c2 second component you're comparing * @return {number} Return value usable by Array.prototype.sort(). */ function mountOrderComparator(c1, c2) { return c1._mountOrder - c2._mountOrder; } function runBatchedUpdates(transaction) { var len = transaction.dirtyComponentsLength; !(len === dirtyComponents.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected flush transaction\'s stored dirty-components length (%s) to ' + 'match dirty-components array length (%s).', len, dirtyComponents.length) : invariant(false) : void 0; // Since reconciling a component higher in the owner hierarchy usually (not // always -- see shouldComponentUpdate()) will reconcile children, reconcile // them before their children by sorting the array. dirtyComponents.sort(mountOrderComparator); for (var i = 0; i < len; i++) { // If a component is unmounted before pending changes apply, it will still // be here, but we assume that it has cleared its _pendingCallbacks and // that performUpdateIfNecessary is a noop. var component = dirtyComponents[i]; // If performUpdateIfNecessary happens to enqueue any new updates, we // shouldn't execute the callbacks until the next render happens, so // stash the callbacks first var callbacks = component._pendingCallbacks; component._pendingCallbacks = null; var markerName; if (ReactFeatureFlags.logTopLevelRenders) { var namedComponent = component; // Duck type TopLevelWrapper. This is probably always true. if (component._currentElement.props === component._renderedComponent._currentElement) { namedComponent = component._renderedComponent; } markerName = 'React update: ' + namedComponent.getName(); console.time(markerName); } ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction); if (markerName) { console.timeEnd(markerName); } if (callbacks) { for (var j = 0; j < callbacks.length; j++) { transaction.callbackQueue.enqueue(callbacks[j], component.getPublicInstance()); } } } } var flushBatchedUpdates = function () { // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents // array and perform any updates enqueued by mount-ready handlers (i.e., // componentDidUpdate) but we need to check here too in order to catch // updates enqueued by setState callbacks and asap calls. 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); /** * Mark a component as needing a rerender, adding an optional callback to a * list of functions which will be executed once the rerender occurs. */ function enqueueUpdate(component) { ensureInjected(); // Various parts of our code (such as ReactCompositeComponent's // _renderValidatedComponent) assume that calls to render aren't nested; // verify that that's the case. (This is called by each top-level update // function, like setProps, setState, forceUpdate, etc.; creation and // destruction of top-level components is guarded in ReactMount.) if (!batchingStrategy.isBatchingUpdates) { batchingStrategy.batchedUpdates(enqueueUpdate, component); return; } dirtyComponents.push(component); } /** * Enqueue a callback to be run at the end of the current batching cycle. Throws * if no updates are currently being performed. */ function asap(callback, context) { !batchingStrategy.isBatchingUpdates ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context where' + 'updates are not being batched.') : invariant(false) : void 0; asapCallbackQueue.enqueue(callback, context); asapEnqueued = true; } var ReactUpdatesInjection = { injectReconcileTransaction: function (ReconcileTransaction) { !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : invariant(false) : void 0; ReactUpdates.ReactReconcileTransaction = ReconcileTransaction; }, injectBatchingStrategy: function (_batchingStrategy) { !_batchingStrategy ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batching strategy') : invariant(false) : void 0; !(typeof _batchingStrategy.batchedUpdates === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : invariant(false) : void 0; !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : invariant(false) : void 0; batchingStrategy = _batchingStrategy; } }; var ReactUpdates = { /** * React references `ReactReconcileTransaction` using this property in order * to allow dependency injection. * * @internal */ ReactReconcileTransaction: null, batchedUpdates: batchedUpdates, enqueueUpdate: enqueueUpdate, flushBatchedUpdates: flushBatchedUpdates, injection: ReactUpdatesInjection, asap: asap }; module.exports = ReactUpdates; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 56 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule CallbackQueue */ 'use strict'; var _assign = __webpack_require__(4); var PooledClass = __webpack_require__(6); var invariant = __webpack_require__(7); /** * A specialized pseudo-event module to help keep track of components waiting to * be notified when their DOM representations are available for use. * * This implements `PooledClass`, so you should never need to instantiate this. * Instead, use `CallbackQueue.getPooled()`. * * @class ReactMountReady * @implements PooledClass * @internal */ function CallbackQueue() { this._callbacks = null; this._contexts = null; } _assign(CallbackQueue.prototype, { /** * Enqueues a callback to be invoked when `notifyAll` is invoked. * * @param {function} callback Invoked when `notifyAll` is invoked. * @param {?object} context Context to call `callback` with. * @internal */ enqueue: function (callback, context) { this._callbacks = this._callbacks || []; this._contexts = this._contexts || []; this._callbacks.push(callback); this._contexts.push(context); }, /** * Invokes all enqueued callbacks and clears the queue. This is invoked after * the DOM representation of a component has been created or updated. * * @internal */ notifyAll: function () { var callbacks = this._callbacks; var contexts = this._contexts; if (callbacks) { !(callbacks.length === contexts.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Mismatched list of contexts in callback queue') : invariant(false) : void 0; 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; } }, checkpoint: function () { return this._callbacks ? this._callbacks.length : 0; }, rollback: function (len) { if (this._callbacks) { this._callbacks.length = len; this._contexts.length = len; } }, /** * Resets the internal queue. * * @internal */ reset: function () { this._callbacks = null; this._contexts = null; }, /** * `PooledClass` looks for this. */ destructor: function () { this.reset(); } }); PooledClass.addPoolingTo(CallbackQueue); module.exports = CallbackQueue; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 57 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactFeatureFlags */ 'use strict'; var ReactFeatureFlags = { // When true, call console.time() before and .timeEnd() after each top-level // render (both initial renders and updates). Useful when looking at prod-mode // timeline profiles in Chrome, for example. logTopLevelRenders: false }; module.exports = ReactFeatureFlags; /***/ }, /* 58 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPerf */ 'use strict'; /** * ReactPerf is a general AOP system designed to measure performance. This * module only has the hooks: see ReactDefaultPerf for the analysis tool. */ var ReactPerf = { /** * Boolean to enable/disable measurement. Set to false by default to prevent * accidental logging and perf loss. */ enableMeasure: false, /** * Holds onto the measure function in use. By default, don't measure * anything, but we'll override this if we inject a measure function. */ storedMeasure: _noMeasure, /** * @param {object} object * @param {string} objectName * @param {object} methodNames */ measureMethods: function (object, objectName, methodNames) { if (process.env.NODE_ENV !== 'production') { for (var key in methodNames) { if (!methodNames.hasOwnProperty(key)) { continue; } object[key] = ReactPerf.measure(objectName, methodNames[key], object[key]); } } }, /** * Use this to wrap methods you want to measure. Zero overhead in production. * * @param {string} objName * @param {string} fnName * @param {function} func * @return {function} */ measure: function (objName, fnName, func) { if (process.env.NODE_ENV !== 'production') { 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: { /** * @param {function} measure */ injectMeasure: function (measure) { ReactPerf.storedMeasure = measure; } } }; /** * Simply passes through the measured function, without measuring it. * * @param {string} objName * @param {string} fnName * @param {function} func * @return {function} */ function _noMeasure(objName, fnName, func) { return func; } module.exports = ReactPerf; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 59 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactReconciler */ 'use strict'; var ReactRef = __webpack_require__(60); var ReactInstrumentation = __webpack_require__(18); /** * Helper to call ReactRef.attachRefs with this composite component, split out * to avoid allocations in the transaction mount-ready queue. */ function attachRefs() { ReactRef.attachRefs(this, this._currentElement); } var ReactReconciler = { /** * Initializes the component, renders markup, and registers event listeners. * * @param {ReactComponent} internalInstance * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction * @param {?object} the containing native component instance * @param {?object} info about the native container * @return {?string} Rendered markup to be inserted into the DOM. * @final * @internal */ mountComponent: function (internalInstance, transaction, nativeParent, nativeContainerInfo, context) { var markup = internalInstance.mountComponent(transaction, nativeParent, nativeContainerInfo, context); if (internalInstance._currentElement && internalInstance._currentElement.ref != null) { transaction.getReactMountReady().enqueue(attachRefs, internalInstance); } if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onMountComponent(internalInstance); } return markup; }, /** * Returns a value that can be passed to * ReactComponentEnvironment.replaceNodeWithMarkup. */ getNativeNode: function (internalInstance) { return internalInstance.getNativeNode(); }, /** * Releases any resources allocated by `mountComponent`. * * @final * @internal */ unmountComponent: function (internalInstance, safely) { ReactRef.detachRefs(internalInstance, internalInstance._currentElement); internalInstance.unmountComponent(safely); if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onUnmountComponent(internalInstance); } }, /** * Update a component using a new element. * * @param {ReactComponent} internalInstance * @param {ReactElement} nextElement * @param {ReactReconcileTransaction} transaction * @param {object} context * @internal */ receiveComponent: function (internalInstance, nextElement, transaction, context) { var prevElement = internalInstance._currentElement; if (nextElement === prevElement && context === internalInstance._context) { // Since elements are immutable after the owner is rendered, // we can do a cheap identity compare here to determine if this is a // superfluous reconcile. It's possible for state to be mutable but such // change should trigger an update of the owner which would recreate // the element. We explicitly check for the existence of an owner since // it's possible for an element created outside a composite to be // deeply mutated and reused. // TODO: Bailing out early is just a perf optimization right? // TODO: Removing the return statement should affect correctness? 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); } if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onUpdateComponent(internalInstance); } }, /** * Flush any dirty changes in a component. * * @param {ReactComponent} internalInstance * @param {ReactReconcileTransaction} transaction * @internal */ performUpdateIfNecessary: function (internalInstance, transaction) { internalInstance.performUpdateIfNecessary(transaction); if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onUpdateComponent(internalInstance); } } }; module.exports = ReactReconciler; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 60 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactRef */ 'use strict'; var ReactOwner = __webpack_require__(61); var ReactRef = {}; function attachRef(ref, component, owner) { if (typeof ref === 'function') { ref(component.getPublicInstance()); } else { // Legacy ref ReactOwner.addComponentAsRefTo(component, ref, owner); } } function detachRef(ref, component, owner) { if (typeof ref === 'function') { ref(null); } else { // Legacy ref 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) { // If either the owner or a `ref` has changed, make sure the newest owner // has stored a reference to `this`, and the previous owner (if different) // has forgotten the reference to `this`. We use the element instead // of the public this.props because the post processing cannot determine // a ref. The ref conceptually lives on the element. // TODO: Should this even be possible? The owner cannot change because // it's forbidden by shouldUpdateReactComponent. The ref can change // if you swap the keys of but not the refs. Reconsider where this check // is made. It probably belongs where the key checking and // instantiateReactComponent is done. var prevEmpty = prevElement === null || prevElement === false; var nextEmpty = nextElement === null || nextElement === false; return( // This has a few false positives w/r/t empty components. 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; /***/ }, /* 61 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactOwner */ 'use strict'; var invariant = __webpack_require__(7); /** * ReactOwners are capable of storing references to owned components. * * All components are capable of //being// referenced by owner components, but * only ReactOwner components are capable of //referencing// owned components. * The named reference is known as a "ref". * * Refs are available when mounted and updated during reconciliation. * * var MyComponent = React.createClass({ * render: function() { * return ( *
* *
* ); * }, * handleClick: function() { * this.refs.custom.handleClick(); * }, * componentDidMount: function() { * this.refs.custom.initialize(); * } * }); * * Refs should rarely be used. When refs are used, they should only be done to * control data that is not handled by React's data flow. * * @class ReactOwner */ var ReactOwner = { /** * @param {?object} object * @return {boolean} True if `object` is a valid owner. * @final */ isValidOwner: function (object) { return !!(object && typeof object.attachRef === 'function' && typeof object.detachRef === 'function'); }, /** * Adds a component by ref to an owner component. * * @param {ReactComponent} component Component to reference. * @param {string} ref Name by which to refer to the component. * @param {ReactOwner} owner Component on which to record the ref. * @final * @internal */ addComponentAsRefTo: function (component, ref, owner) { !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, '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).') : invariant(false) : void 0; owner.attachRef(ref, component); }, /** * Removes a component by ref from an owner component. * * @param {ReactComponent} component Component to dereference. * @param {string} ref Name of the ref to remove. * @param {ReactOwner} owner Component on which the ref is recorded. * @final * @internal */ removeComponentAsRefFrom: function (component, ref, owner) { !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, '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).') : invariant(false) : void 0; var ownerPublicInstance = owner.getPublicInstance(); // Check that `component`'s owner is still alive and that `component` is still the current ref // because we do not want to detach the ref if another component stole it. if (ownerPublicInstance && ownerPublicInstance.refs[ref] === component.getPublicInstance()) { owner.detachRef(ref); } } }; module.exports = ReactOwner; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 62 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule Transaction */ 'use strict'; var invariant = __webpack_require__(7); /** * `Transaction` creates a black box that is able to wrap any method such that * certain invariants are maintained before and after the method is invoked * (Even if an exception is thrown while invoking the wrapped method). Whoever * instantiates a transaction can provide enforcers of the invariants at * creation time. The `Transaction` class itself will supply one additional * automatic invariant for you - the invariant that any transaction instance * should not be run while it is already being run. You would typically create a * single instance of a `Transaction` for reuse multiple times, that potentially * is used to wrap several different methods. Wrappers are extremely simple - * they only require implementing two methods. * *
	 *                       wrappers (injected at creation time)
	 *                                      +        +
	 *                                      |        |
	 *                    +-----------------|--------|--------------+
	 *                    |                 v        |              |
	 *                    |      +---------------+   |              |
	 *                    |   +--|    wrapper1   |---|----+         |
	 *                    |   |  +---------------+   v    |         |
	 *                    |   |          +-------------+  |         |
	 *                    |   |     +----|   wrapper2  |--------+   |
	 *                    |   |     |    +-------------+  |     |   |
	 *                    |   |     |                     |     |   |
	 *                    |   v     v                     v     v   | wrapper
	 *                    | +---+ +---+   +---------+   +---+ +---+ | invariants
	 * perform(anyMethod) | |   | |   |   |         |   |   | |   | | maintained
	 * +----------------->|-|---|-|---|-->|anyMethod|---|---|-|---|-|-------->
	 *                    | |   | |   |   |         |   |   | |   | |
	 *                    | |   | |   |   |         |   |   | |   | |
	 *                    | |   | |   |   |         |   |   | |   | |
	 *                    | +---+ +---+   +---------+   +---+ +---+ |
	 *                    |  initialize                    close    |
	 *                    +-----------------------------------------+
	 * 
* * Use cases: * - Preserving the input selection ranges before/after reconciliation. * Restoring selection even in the event of an unexpected error. * - Deactivating events while rearranging the DOM, preventing blurs/focuses, * while guaranteeing that afterwards, the event system is reactivated. * - Flushing a queue of collected DOM mutations to the main UI thread after a * reconciliation takes place in a worker thread. * - Invoking any collected `componentDidUpdate` callbacks after rendering new * content. * - (Future use case): Wrapping particular flushes of the `ReactWorker` queue * to preserve the `scrollTop` (an automatic scroll aware DOM). * - (Future use case): Layout calculations before and after DOM updates. * * Transactional plugin API: * - A module that has an `initialize` method that returns any precomputation. * - and a `close` method that accepts the precomputation. `close` is invoked * when the wrapped process is completed, or has failed. * * @param {Array} transactionWrapper Wrapper modules * that implement `initialize` and `close`. * @return {Transaction} Single transaction for reuse in thread. * * @class Transaction */ var Mixin = { /** * Sets up this instance so that it is prepared for collecting metrics. Does * so such that this setup method may be used on an instance that is already * initialized, in a way that does not consume additional memory upon reuse. * That can be useful if you decide to make your subclass of this mixin a * "PooledClass". */ reinitializeTransaction: function () { this.transactionWrappers = this.getTransactionWrappers(); if (this.wrapperInitData) { this.wrapperInitData.length = 0; } else { this.wrapperInitData = []; } this._isInTransaction = false; }, _isInTransaction: false, /** * @abstract * @return {Array} Array of transaction wrappers. */ getTransactionWrappers: null, isInTransaction: function () { return !!this._isInTransaction; }, /** * Executes the function within a safety window. Use this for the top level * methods that result in large amounts of computation/mutations that would * need to be safety checked. The optional arguments helps prevent the need * to bind in many cases. * * @param {function} method Member of scope to call. * @param {Object} scope Scope to invoke from. * @param {Object?=} a Argument to pass to the method. * @param {Object?=} b Argument to pass to the method. * @param {Object?=} c Argument to pass to the method. * @param {Object?=} d Argument to pass to the method. * @param {Object?=} e Argument to pass to the method. * @param {Object?=} f Argument to pass to the method. * * @return {*} Return value from `method`. */ perform: function (method, scope, a, b, c, d, e, f) { !!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there ' + 'is already an outstanding transaction.') : invariant(false) : void 0; var errorThrown; var ret; try { this._isInTransaction = true; // Catching errors makes debugging more difficult, so we start with // errorThrown set to true before setting it to false after calling // close -- if it's still set to true in the finally block, it means // one of these calls threw. errorThrown = true; this.initializeAll(0); ret = method.call(scope, a, b, c, d, e, f); errorThrown = false; } finally { try { if (errorThrown) { // If `method` throws, prefer to show that stack trace over any thrown // by invoking `closeAll`. try { this.closeAll(0); } catch (err) {} } else { // Since `method` didn't throw, we don't want to silence the exception // here. 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 { // Catching errors makes debugging more difficult, so we start with the // OBSERVED_ERROR state before overwriting it with the real return value // of initialize -- if it's still set to OBSERVED_ERROR in the finally // block, it means wrapper.initialize threw. this.wrapperInitData[i] = Transaction.OBSERVED_ERROR; this.wrapperInitData[i] = wrapper.initialize ? wrapper.initialize.call(this) : null; } finally { if (this.wrapperInitData[i] === Transaction.OBSERVED_ERROR) { // The initializer for wrapper i threw an error; initialize the // remaining wrappers but silence any exceptions from them to ensure // that the first error is the one to bubble up. try { this.initializeAll(i + 1); } catch (err) {} } } } }, /** * Invokes each of `this.transactionWrappers.close[i]` functions, passing into * them the respective return values of `this.transactionWrappers.init[i]` * (`close`rs that correspond to initializers that failed will not be * invoked). */ closeAll: function (startIndex) { !this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : invariant(false) : void 0; var transactionWrappers = this.transactionWrappers; for (var i = startIndex; i < transactionWrappers.length; i++) { var wrapper = transactionWrappers[i]; var initData = this.wrapperInitData[i]; var errorThrown; try { // Catching errors makes debugging more difficult, so we start with // errorThrown set to true before setting it to false after calling // close -- if it's still set to true in the finally block, it means // wrapper.close threw. errorThrown = true; if (initData !== Transaction.OBSERVED_ERROR && wrapper.close) { wrapper.close.call(this, initData); } errorThrown = false; } finally { if (errorThrown) { // The closer for wrapper i threw an error; close the remaining // wrappers but silence any exceptions from them to ensure that the // first error is the one to bubble up. try { this.closeAll(i + 1); } catch (e) {} } } } this.wrapperInitData.length = 0; } }; var Transaction = { Mixin: Mixin, /** * Token to look for to determine if an error occurred. */ OBSERVED_ERROR: {} }; module.exports = Transaction; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 63 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getEventTarget */ 'use strict'; /** * Gets the target node from a native browser event by accounting for * inconsistencies in browser DOM APIs. * * @param {object} nativeEvent Native browser event. * @return {DOMEventTarget} Target node. */ function getEventTarget(nativeEvent) { var target = nativeEvent.target || nativeEvent.srcElement || window; // Normalize SVG element events #4963 if (target.correspondingUseElement) { target = target.correspondingUseElement; } // Safari may fire events on text nodes (Node.TEXT_NODE is 3). // @see http://www.quirksmode.org/js/events_properties.html return target.nodeType === 3 ? target.parentNode : target; } module.exports = getEventTarget; /***/ }, /* 64 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule isEventSupported */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var useHasFeature; if (ExecutionEnvironment.canUseDOM) { useHasFeature = document.implementation && document.implementation.hasFeature && // always returns true in newer browsers as per the standard. // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature document.implementation.hasFeature('', '') !== true; } /** * Checks if an event is supported in the current execution environment. * * NOTE: This will not work correctly for non-generic events such as `change`, * `reset`, `load`, `error`, and `select`. * * Borrows from Modernizr. * * @param {string} eventNameSuffix Event name, e.g. "click". * @param {?boolean} capture Check if the capture phase is supported. * @return {boolean} True if the event is supported. * @internal * @license Modernizr 3.0.0pre (Custom Build) | MIT */ function isEventSupported(eventNameSuffix, capture) { if (!ExecutionEnvironment.canUseDOM || capture && !('addEventListener' in document)) { return false; } var eventName = 'on' + eventNameSuffix; var isSupported = eventName in document; if (!isSupported) { var element = document.createElement('div'); element.setAttribute(eventName, 'return;'); isSupported = typeof element[eventName] === 'function'; } if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') { // This is the only way to test support for the `wheel` event in IE9+. isSupported = document.implementation.hasFeature('Events.wheel', '3.0'); } return isSupported; } module.exports = isEventSupported; /***/ }, /* 65 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule isTextInputElement */ 'use strict'; /** * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary */ var supportedInputTypes = { 'color': true, 'date': true, 'datetime': true, 'datetime-local': true, 'email': true, 'month': true, 'number': true, 'password': true, 'range': true, 'search': true, 'tel': true, 'text': true, 'time': true, 'url': true, 'week': true }; function isTextInputElement(elem) { var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); return nodeName && (nodeName === 'input' && supportedInputTypes[elem.type] || nodeName === 'textarea'); } module.exports = isTextInputElement; /***/ }, /* 66 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DefaultEventPluginOrder */ 'use strict'; var keyOf = __webpack_require__(26); /** * Module that is injectable into `EventPluginHub`, that specifies a * deterministic ordering of `EventPlugin`s. A convenient way to reason about * plugins, without having to package every one of them. This is better than * having plugins be ordered in the same order that they are injected because * that ordering would be influenced by the packaging order. * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that * preventing default on events is convenient in `SimpleEventPlugin` handlers. */ var DefaultEventPluginOrder = [keyOf({ ResponderEventPlugin: null }), keyOf({ SimpleEventPlugin: null }), keyOf({ TapEventPlugin: null }), keyOf({ EnterLeaveEventPlugin: null }), keyOf({ ChangeEventPlugin: null }), keyOf({ SelectEventPlugin: null }), keyOf({ BeforeInputEventPlugin: null })]; module.exports = DefaultEventPluginOrder; /***/ }, /* 67 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EnterLeaveEventPlugin */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPropagators = __webpack_require__(41); var ReactDOMComponentTree = __webpack_require__(35); var SyntheticMouseEvent = __webpack_require__(68); var keyOf = __webpack_require__(26); var topLevelTypes = EventConstants.topLevelTypes; var eventTypes = { mouseEnter: { registrationName: keyOf({ onMouseEnter: null }), dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver] }, mouseLeave: { registrationName: keyOf({ onMouseLeave: null }), dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver] } }; var EnterLeaveEventPlugin = { eventTypes: eventTypes, /** * For almost every interaction we care about, there will be both a top-level * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that * we do not extract duplicate events. However, moving the mouse into the * browser from outside will not fire a `mouseout` event. In this case, we use * the `mouseover` top-level event. */ extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { if (topLevelType === topLevelTypes.topMouseOver && (nativeEvent.relatedTarget || nativeEvent.fromElement)) { return null; } if (topLevelType !== topLevelTypes.topMouseOut && topLevelType !== topLevelTypes.topMouseOver) { // Must not be a mouse in or mouse out - ignoring. return null; } var win; if (nativeEventTarget.window === nativeEventTarget) { // `nativeEventTarget` is probably a window object. win = nativeEventTarget; } else { // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. var doc = nativeEventTarget.ownerDocument; if (doc) { win = doc.defaultView || doc.parentWindow; } else { win = window; } } var from; var to; if (topLevelType === topLevelTypes.topMouseOut) { from = targetInst; var related = nativeEvent.relatedTarget || nativeEvent.toElement; to = related ? ReactDOMComponentTree.getClosestInstanceFromNode(related) : null; } else { // Moving to a node from outside the window. from = null; to = targetInst; } if (from === to) { // Nothing pertains to our managed components. return null; } var fromNode = from == null ? win : ReactDOMComponentTree.getNodeFromInstance(from); var toNode = to == null ? win : ReactDOMComponentTree.getNodeFromInstance(to); var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, from, nativeEvent, nativeEventTarget); leave.type = 'mouseleave'; leave.target = fromNode; leave.relatedTarget = toNode; var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, to, nativeEvent, nativeEventTarget); enter.type = 'mouseenter'; enter.target = toNode; enter.relatedTarget = fromNode; EventPropagators.accumulateEnterLeaveDispatches(leave, enter, from, to); return [leave, enter]; } }; module.exports = EnterLeaveEventPlugin; /***/ }, /* 68 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticMouseEvent */ 'use strict'; var SyntheticUIEvent = __webpack_require__(69); var ViewportMetrics = __webpack_require__(70); var getEventModifierState = __webpack_require__(71); /** * @interface MouseEvent * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var MouseEventInterface = { screenX: null, screenY: null, clientX: null, clientY: null, ctrlKey: null, shiftKey: null, altKey: null, metaKey: null, getModifierState: getEventModifierState, button: function (event) { // Webkit, Firefox, IE9+ // which: 1 2 3 // button: 0 1 2 (standard) var button = event.button; if ('which' in event) { return button; } // IE<9 // which: undefined // button: 0 0 0 // button: 1 4 2 (onmouseup) return button === 2 ? 2 : button === 4 ? 1 : 0; }, buttons: null, relatedTarget: function (event) { return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement); }, // "Proprietary" Interface. pageX: function (event) { return 'pageX' in event ? event.pageX : event.clientX + ViewportMetrics.currentScrollLeft; }, pageY: function (event) { return 'pageY' in event ? event.pageY : event.clientY + ViewportMetrics.currentScrollTop; } }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticUIEvent} */ function SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface); module.exports = SyntheticMouseEvent; /***/ }, /* 69 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticUIEvent */ 'use strict'; var SyntheticEvent = __webpack_require__(52); var getEventTarget = __webpack_require__(63); /** * @interface UIEvent * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var UIEventInterface = { view: function (event) { if (event.view) { return event.view; } var target = getEventTarget(event); if (target != null && target.window === target) { // target is a window object return target; } var doc = target.ownerDocument; // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. if (doc) { return doc.defaultView || doc.parentWindow; } else { return window; } }, detail: function (event) { return event.detail || 0; } }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticEvent} */ function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface); module.exports = SyntheticUIEvent; /***/ }, /* 70 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ViewportMetrics */ 'use strict'; var ViewportMetrics = { currentScrollLeft: 0, currentScrollTop: 0, refreshScrollValues: function (scrollPosition) { ViewportMetrics.currentScrollLeft = scrollPosition.x; ViewportMetrics.currentScrollTop = scrollPosition.y; } }; module.exports = ViewportMetrics; /***/ }, /* 71 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getEventModifierState */ 'use strict'; /** * Translation from modifier key to the associated property in the event. * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers */ var modifierKeyToProp = { 'Alt': 'altKey', 'Control': 'ctrlKey', 'Meta': 'metaKey', 'Shift': 'shiftKey' }; // IE8 does not implement getModifierState so we simply map it to the only // modifier keys exposed by the event itself, does not support Lock-keys. // Currently, all major browsers except Chrome seems to support Lock-keys. function modifierStateGetter(keyArg) { var syntheticEvent = this; var nativeEvent = syntheticEvent.nativeEvent; if (nativeEvent.getModifierState) { return nativeEvent.getModifierState(keyArg); } var keyProp = modifierKeyToProp[keyArg]; return keyProp ? !!nativeEvent[keyProp] : false; } function getEventModifierState(nativeEvent) { return modifierStateGetter; } module.exports = getEventModifierState; /***/ }, /* 72 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule HTMLDOMPropertyConfig */ 'use strict'; var DOMProperty = __webpack_require__(36); var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY; var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE; var HAS_SIDE_EFFECTS = DOMProperty.injection.HAS_SIDE_EFFECTS; var HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE; var HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE; var HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE; var HTMLDOMPropertyConfig = { isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')), Properties: { /** * Standard Properties */ accept: 0, acceptCharset: 0, accessKey: 0, action: 0, allowFullScreen: HAS_BOOLEAN_VALUE, allowTransparency: 0, alt: 0, async: HAS_BOOLEAN_VALUE, autoComplete: 0, // autoFocus is polyfilled/normalized by AutoFocusUtils // autoFocus: HAS_BOOLEAN_VALUE, autoPlay: HAS_BOOLEAN_VALUE, capture: HAS_BOOLEAN_VALUE, cellPadding: 0, cellSpacing: 0, charSet: 0, challenge: 0, checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, cite: 0, classID: 0, className: 0, cols: HAS_POSITIVE_NUMERIC_VALUE, colSpan: 0, content: 0, contentEditable: 0, contextMenu: 0, controls: HAS_BOOLEAN_VALUE, coords: 0, crossOrigin: 0, data: 0, // For `` acts as `src`. dateTime: 0, 'default': HAS_BOOLEAN_VALUE, defer: HAS_BOOLEAN_VALUE, dir: 0, disabled: HAS_BOOLEAN_VALUE, download: HAS_OVERLOADED_BOOLEAN_VALUE, draggable: 0, encType: 0, form: 0, formAction: 0, formEncType: 0, formMethod: 0, formNoValidate: HAS_BOOLEAN_VALUE, formTarget: 0, frameBorder: 0, headers: 0, height: 0, hidden: HAS_BOOLEAN_VALUE, high: 0, href: 0, hrefLang: 0, htmlFor: 0, httpEquiv: 0, icon: 0, id: 0, inputMode: 0, integrity: 0, is: 0, keyParams: 0, keyType: 0, kind: 0, label: 0, lang: 0, list: 0, loop: HAS_BOOLEAN_VALUE, low: 0, manifest: 0, marginHeight: 0, marginWidth: 0, max: 0, maxLength: 0, media: 0, mediaGroup: 0, method: 0, min: 0, minLength: 0, // Caution; `option.selected` is not updated if `select.multiple` is // disabled with `removeAttribute`. multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, name: 0, nonce: 0, noValidate: HAS_BOOLEAN_VALUE, open: HAS_BOOLEAN_VALUE, optimum: 0, pattern: 0, placeholder: 0, poster: 0, preload: 0, profile: 0, radioGroup: 0, readOnly: HAS_BOOLEAN_VALUE, rel: 0, required: HAS_BOOLEAN_VALUE, reversed: HAS_BOOLEAN_VALUE, role: 0, rows: HAS_POSITIVE_NUMERIC_VALUE, rowSpan: HAS_NUMERIC_VALUE, sandbox: 0, scope: 0, scoped: HAS_BOOLEAN_VALUE, scrolling: 0, seamless: HAS_BOOLEAN_VALUE, selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, shape: 0, size: HAS_POSITIVE_NUMERIC_VALUE, sizes: 0, span: HAS_POSITIVE_NUMERIC_VALUE, spellCheck: 0, src: 0, srcDoc: 0, srcLang: 0, srcSet: 0, start: HAS_NUMERIC_VALUE, step: 0, style: 0, summary: 0, tabIndex: 0, target: 0, title: 0, // Setting .type throws on non- tags type: 0, useMap: 0, value: MUST_USE_PROPERTY | HAS_SIDE_EFFECTS, width: 0, wmode: 0, wrap: 0, /** * RDFa Properties */ about: 0, datatype: 0, inlist: 0, prefix: 0, // property is also supported for OpenGraph in meta tags. property: 0, resource: 0, 'typeof': 0, vocab: 0, /** * Non-standard Properties */ // autoCapitalize and autoCorrect are supported in Mobile Safari for // keyboard hints. autoCapitalize: 0, autoCorrect: 0, // autoSave allows WebKit/Blink to persist values of input fields on page reloads autoSave: 0, // color is for Safari mask-icon link color: 0, // itemProp, itemScope, itemType are for // Microdata support. See http://schema.org/docs/gs.html itemProp: 0, itemScope: HAS_BOOLEAN_VALUE, itemType: 0, // itemID and itemRef are for Microdata support as well but // only specified in the WHATWG spec document. See // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api itemID: 0, itemRef: 0, // results show looking glass icon and recent searches on input // search fields in WebKit/Blink results: 0, // IE-only attribute that specifies security restrictions on an iframe // as an alternative to the sandbox attribute on IE<10 security: 0, // IE-only attribute that controls focus behavior unselectable: 0 }, DOMAttributeNames: { acceptCharset: 'accept-charset', className: 'class', htmlFor: 'for', httpEquiv: 'http-equiv' }, DOMPropertyNames: {} }; module.exports = HTMLDOMPropertyConfig; /***/ }, /* 73 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactComponentBrowserEnvironment */ 'use strict'; var DOMChildrenOperations = __webpack_require__(74); var ReactDOMIDOperations = __webpack_require__(85); var ReactPerf = __webpack_require__(58); /** * Abstracts away all functionality of the reconciler that requires knowledge of * the browser context. TODO: These callers should be refactored to avoid the * need for this injection. */ var ReactComponentBrowserEnvironment = { processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates, replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup, /** * If a particular environment requires that some resources be cleaned up, * specify this in the injected Mixin. In the DOM, we would likely want to * purge any cached node ID lookups. * * @private */ unmountIDFromEnvironment: function (rootNodeID) {} }; ReactPerf.measureMethods(ReactComponentBrowserEnvironment, 'ReactComponentBrowserEnvironment', { replaceNodeWithMarkup: 'replaceNodeWithMarkup' }); module.exports = ReactComponentBrowserEnvironment; /***/ }, /* 74 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DOMChildrenOperations */ 'use strict'; var DOMLazyTree = __webpack_require__(75); var Danger = __webpack_require__(80); var ReactMultiChildUpdateTypes = __webpack_require__(84); var ReactPerf = __webpack_require__(58); var createMicrosoftUnsafeLocalFunction = __webpack_require__(76); var setInnerHTML = __webpack_require__(79); var setTextContent = __webpack_require__(77); function getNodeAfter(parentNode, node) { // Special case for text components, which return [open, close] comments // from getNativeNode. if (Array.isArray(node)) { node = node[1]; } return node ? node.nextSibling : parentNode.firstChild; } /** * Inserts `childNode` as a child of `parentNode` at the `index`. * * @param {DOMElement} parentNode Parent node in which to insert. * @param {DOMElement} childNode Child node to insert. * @param {number} index Index at which to insert the child. * @internal */ var insertChildAt = createMicrosoftUnsafeLocalFunction(function (parentNode, childNode, referenceNode) { // We rely exclusively on `insertBefore(node, null)` instead of also using // `appendChild(node)`. (Using `undefined` is not allowed by all browsers so // we are careful to use `null`.) parentNode.insertBefore(childNode, referenceNode); }); function insertLazyTreeChildAt(parentNode, childTree, referenceNode) { DOMLazyTree.insertTreeBefore(parentNode, childTree, referenceNode); } function moveChild(parentNode, childNode, referenceNode) { if (Array.isArray(childNode)) { moveDelimitedText(parentNode, childNode[0], childNode[1], referenceNode); } else { insertChildAt(parentNode, childNode, referenceNode); } } function removeChild(parentNode, childNode) { if (Array.isArray(childNode)) { var closingComment = childNode[1]; childNode = childNode[0]; removeDelimitedText(parentNode, childNode, closingComment); parentNode.removeChild(closingComment); } parentNode.removeChild(childNode); } function moveDelimitedText(parentNode, openingComment, closingComment, referenceNode) { var node = openingComment; while (true) { var nextNode = node.nextSibling; insertChildAt(parentNode, node, referenceNode); if (node === closingComment) { break; } node = nextNode; } } function removeDelimitedText(parentNode, startNode, closingComment) { while (true) { var node = startNode.nextSibling; if (node === closingComment) { // The closing comment is removed by ReactMultiChild. break; } else { parentNode.removeChild(node); } } } function replaceDelimitedText(openingComment, closingComment, stringText) { var parentNode = openingComment.parentNode; var nodeAfterComment = openingComment.nextSibling; if (nodeAfterComment === closingComment) { // There are no text nodes between the opening and closing comments; insert // a new one if stringText isn't empty. if (stringText) { insertChildAt(parentNode, document.createTextNode(stringText), nodeAfterComment); } } else { if (stringText) { // Set the text content of the first node after the opening comment, and // remove all following nodes up until the closing comment. setTextContent(nodeAfterComment, stringText); removeDelimitedText(parentNode, nodeAfterComment, closingComment); } else { removeDelimitedText(parentNode, openingComment, closingComment); } } } /** * Operations for updating with DOM children. */ var DOMChildrenOperations = { dangerouslyReplaceNodeWithMarkup: Danger.dangerouslyReplaceNodeWithMarkup, replaceDelimitedText: replaceDelimitedText, /** * Updates a component's children by processing a series of updates. The * update configurations are each expected to have a `parentNode` property. * * @param {array} updates List of update configurations. * @internal */ processUpdates: function (parentNode, updates) { for (var k = 0; k < updates.length; k++) { var update = updates[k]; switch (update.type) { case ReactMultiChildUpdateTypes.INSERT_MARKUP: insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode)); break; case ReactMultiChildUpdateTypes.MOVE_EXISTING: moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode)); break; case ReactMultiChildUpdateTypes.SET_MARKUP: setInnerHTML(parentNode, update.content); break; case ReactMultiChildUpdateTypes.TEXT_CONTENT: setTextContent(parentNode, update.content); break; case ReactMultiChildUpdateTypes.REMOVE_NODE: removeChild(parentNode, update.fromNode); break; } } } }; ReactPerf.measureMethods(DOMChildrenOperations, 'DOMChildrenOperations', { replaceDelimitedText: 'replaceDelimitedText' }); module.exports = DOMChildrenOperations; /***/ }, /* 75 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DOMLazyTree */ 'use strict'; var createMicrosoftUnsafeLocalFunction = __webpack_require__(76); var setTextContent = __webpack_require__(77); /** * In IE (8-11) and Edge, appending nodes with no children is dramatically * faster than appending a full subtree, so we essentially queue up the * .appendChild calls here and apply them so each node is added to its parent * before any children are added. * * In other browsers, doing so is slower or neutral compared to the other order * (in Firefox, twice as slow) so we only do this inversion in IE. * * See https://github.com/spicyj/innerhtml-vs-createelement-vs-clonenode. */ var enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\bEdge\/\d/.test(navigator.userAgent); function insertTreeChildren(tree) { if (!enableLazy) { return; } var node = tree.node; var children = tree.children; if (children.length) { for (var i = 0; i < children.length; i++) { insertTreeBefore(node, children[i], null); } } else if (tree.html != null) { node.innerHTML = tree.html; } else if (tree.text != null) { setTextContent(node, tree.text); } } var insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) { // DocumentFragments aren't actually part of the DOM after insertion so // appending children won't update the DOM. We need to ensure the fragment // is properly populated first, breaking out of our lazy approach for just // this level. if (tree.node.nodeType === 11) { insertTreeChildren(tree); parentNode.insertBefore(tree.node, referenceNode); } else { parentNode.insertBefore(tree.node, referenceNode); insertTreeChildren(tree); } }); function replaceChildWithTree(oldNode, newTree) { oldNode.parentNode.replaceChild(newTree.node, oldNode); insertTreeChildren(newTree); } function queueChild(parentTree, childTree) { if (enableLazy) { parentTree.children.push(childTree); } else { parentTree.node.appendChild(childTree.node); } } function queueHTML(tree, html) { if (enableLazy) { tree.html = html; } else { tree.node.innerHTML = html; } } function queueText(tree, text) { if (enableLazy) { tree.text = text; } else { setTextContent(tree.node, text); } } function DOMLazyTree(node) { return { node: node, children: [], html: null, text: null }; } DOMLazyTree.insertTreeBefore = insertTreeBefore; DOMLazyTree.replaceChildWithTree = replaceChildWithTree; DOMLazyTree.queueChild = queueChild; DOMLazyTree.queueHTML = queueHTML; DOMLazyTree.queueText = queueText; module.exports = DOMLazyTree; /***/ }, /* 76 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule createMicrosoftUnsafeLocalFunction */ /* globals MSApp */ 'use strict'; /** * Create a function which has 'unsafe' privileges (required by windows8 apps) */ var createMicrosoftUnsafeLocalFunction = function (func) { if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) { return function (arg0, arg1, arg2, arg3) { MSApp.execUnsafeLocalFunction(function () { return func(arg0, arg1, arg2, arg3); }); }; } else { return func; } }; module.exports = createMicrosoftUnsafeLocalFunction; /***/ }, /* 77 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule setTextContent */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var escapeTextContentForBrowser = __webpack_require__(78); var setInnerHTML = __webpack_require__(79); /** * Set the textContent property of a node, ensuring that whitespace is preserved * even in IE8. innerText is a poor substitute for textContent and, among many * issues, inserts
instead of the literal newline chars. innerHTML behaves * as it should. * * @param {DOMElement} node * @param {string} text * @internal */ var setTextContent = function (node, text) { node.textContent = text; }; if (ExecutionEnvironment.canUseDOM) { if (!('textContent' in document.documentElement)) { setTextContent = function (node, text) { setInnerHTML(node, escapeTextContentForBrowser(text)); }; } } module.exports = setTextContent; /***/ }, /* 78 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule escapeTextContentForBrowser */ 'use strict'; var ESCAPE_LOOKUP = { '&': '&', '>': '>', '<': '<', '"': '"', '\'': ''' }; var ESCAPE_REGEX = /[&><"']/g; function escaper(match) { return ESCAPE_LOOKUP[match]; } /** * Escapes text to prevent scripting attacks. * * @param {*} text Text value to escape. * @return {string} An escaped string. */ function escapeTextContentForBrowser(text) { return ('' + text).replace(ESCAPE_REGEX, escaper); } module.exports = escapeTextContentForBrowser; /***/ }, /* 79 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule setInnerHTML */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var WHITESPACE_TEST = /^[ \r\n\t\f]/; var NONVISIBLE_TEST = /<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/; var createMicrosoftUnsafeLocalFunction = __webpack_require__(76); /** * Set the innerHTML property of a node, ensuring that whitespace is preserved * even in IE8. * * @param {DOMElement} node * @param {string} html * @internal */ var setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) { node.innerHTML = html; }); if (ExecutionEnvironment.canUseDOM) { // IE8: When updating a just created node with innerHTML only leading // whitespace is removed. When updating an existing node with innerHTML // whitespace in root TextNodes is also collapsed. // @see quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.html // Feature detection; only IE8 is known to behave improperly like this. var testElement = document.createElement('div'); testElement.innerHTML = ' '; if (testElement.innerHTML === '') { setInnerHTML = function (node, html) { // Magic theory: IE8 supposedly differentiates between added and updated // nodes when processing innerHTML, innerHTML on updated nodes suffers // from worse whitespace behavior. Re-adding a node like this triggers // the initial and more favorable whitespace behavior. // TODO: What to do on a detached node? if (node.parentNode) { node.parentNode.replaceChild(node, node); } // We also implement a workaround for non-visible tags disappearing into // thin air on IE8, this only happens if there is no visible text // in-front of the non-visible tags. Piggyback on the whitespace fix // and simply check if any non-visible tags appear in the source. if (WHITESPACE_TEST.test(html) || html[0] === '<' && NONVISIBLE_TEST.test(html)) { // Recover leading whitespace by temporarily prepending any character. // \uFEFF has the potential advantage of being zero-width/invisible. // UglifyJS drops U+FEFF chars when parsing, so use String.fromCharCode // in hopes that this is preserved even if "\uFEFF" is transformed to // the actual Unicode character (by Babel, for example). // https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216 node.innerHTML = String.fromCharCode(0xFEFF) + html; // deleteData leaves an empty `TextNode` which offsets the index of all // children. Definitely want to avoid this. var textNode = node.firstChild; if (textNode.data.length === 1) { node.removeChild(textNode); } else { textNode.deleteData(0, 1); } } else { node.innerHTML = html; } }; } testElement = null; } module.exports = setInnerHTML; /***/ }, /* 80 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule Danger */ 'use strict'; var DOMLazyTree = __webpack_require__(75); var ExecutionEnvironment = __webpack_require__(48); var createNodesFromMarkup = __webpack_require__(81); var emptyFunction = __webpack_require__(11); var getMarkupWrap = __webpack_require__(83); var invariant = __webpack_require__(7); var OPEN_TAG_NAME_EXP = /^(<[^ \/>]+)/; var RESULT_INDEX_ATTR = 'data-danger-index'; /** * Extracts the `nodeName` from a string of markup. * * NOTE: Extracting the `nodeName` does not require a regular expression match * because we make assumptions about React-generated markup (i.e. there are no * spaces surrounding the opening tag and there is at least one attribute). * * @param {string} markup String of markup. * @return {string} Node name of the supplied markup. * @see http://jsperf.com/extract-nodename */ function getNodeName(markup) { return markup.substring(1, markup.indexOf(' ')); } var Danger = { /** * Renders markup into an array of nodes. The markup is expected to render * into a list of root nodes. Also, the length of `resultList` and * `markupList` should be the same. * * @param {array} markupList List of markup strings to render. * @return {array} List of rendered nodes. * @internal */ dangerouslyRenderMarkup: function (markupList) { !ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyRenderMarkup(...): Cannot render markup in a worker ' + 'thread. Make sure `window` and `document` are available globally ' + 'before requiring React when unit testing or use ' + 'ReactDOMServer.renderToString for server rendering.') : invariant(false) : void 0; var nodeName; var markupByNodeName = {}; // Group markup by `nodeName` if a wrap is necessary, else by '*'. for (var i = 0; i < markupList.length; i++) { !markupList[i] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyRenderMarkup(...): Missing markup.') : invariant(false) : void 0; nodeName = getNodeName(markupList[i]); nodeName = getMarkupWrap(nodeName) ? nodeName : '*'; markupByNodeName[nodeName] = markupByNodeName[nodeName] || []; markupByNodeName[nodeName][i] = markupList[i]; } var resultList = []; var resultListAssignmentCount = 0; for (nodeName in markupByNodeName) { if (!markupByNodeName.hasOwnProperty(nodeName)) { continue; } var markupListByNodeName = markupByNodeName[nodeName]; // This for-in loop skips the holes of the sparse array. The order of // iteration should follow the order of assignment, which happens to match // numerical index order, but we don't rely on that. var resultIndex; for (resultIndex in markupListByNodeName) { if (markupListByNodeName.hasOwnProperty(resultIndex)) { var markup = markupListByNodeName[resultIndex]; // Push the requested markup with an additional RESULT_INDEX_ATTR // attribute. If the markup does not start with a < character, it // will be discarded below (with an appropriate console.error). markupListByNodeName[resultIndex] = markup.replace(OPEN_TAG_NAME_EXP, // This index will be parsed back out below. '$1 ' + RESULT_INDEX_ATTR + '="' + resultIndex + '" '); } } // Render each group of markup with similar wrapping `nodeName`. var renderNodes = createNodesFromMarkup(markupListByNodeName.join(''), emptyFunction // Do nothing special with ================================================ FILE: Day 001 - React App/webpack.config.js ================================================ module.exports = { entry: "./app/components/Main.js", output: { filename: "public/bundle.js" }, module: { loaders: [ { test: /\.jsx?$/, exclude: /(node_modules|bower_components)/, loader: 'babel', query: { presets: ['react', 'es2015'] } } ] } } ================================================ FILE: Day 002 - React App with Nav + State Props/README.md ================================================ 100DaysOfCode Challenge - React App #DAY 2 - React Router, State and Props - Continued working on the buildout of React app for github repo search use case. - Created multiple react components and configured their interaction using react router. - Setup react state and props for modelling data. Read more about it on medium here: https://medium.com/@harinilabs About me and other interesting projects on my website: http://HariniLabs.com/ ================================================ FILE: Day 002 - React App with Nav + State Props/app/App.js ================================================ var React = require('react'); var ReactDOM = require('react-dom'); var Router = require('react-router').Router; var routes = require('./config/routes'); ReactDOM.render( {routes}, document.getElementById('app') ) ================================================ FILE: Day 002 - React App with Nav + State Props/app/components/Github/Repos.js ================================================ var React = require('react'); var Repos = React.createClass({ render: function(){ return (

REPOS

REPOS: {this.props.repos}
) } }) module.exports = Repos; ================================================ FILE: Day 002 - React App with Nav + State Props/app/components/Github/UserProfile.js ================================================ var React = require('react'); var UserProfile = React.createClass({ render: function(){ return (

USER PROFILE!

Username: {this.props.username}

Bio: {this.props.bio.name}

) } }) module.exports = UserProfile; ================================================ FILE: Day 002 - React App with Nav + State Props/app/components/Home.js ================================================ var React = require('react'); var Home = React.createClass({ render: function(){ return(

Search By Github Username Above

) } }) module.exports = Home; ================================================ FILE: Day 002 - React App with Nav + State Props/app/components/Main.js ================================================ var React = require('react'); var Main = React.createClass({ render: function(){ return (
{this.props.children}
) } }); module.exports = Main; ================================================ FILE: Day 002 - React App with Nav + State Props/app/components/Notes/Notes.js ================================================ var React = require('react'); var Notes = React.createClass({ render: function(){ return (

NOTES

{this.props.notes}

) } }) module.exports = Notes; ================================================ FILE: Day 002 - React App with Nav + State Props/app/components/Profile.js ================================================ var React = require('react'); var Router = require('react-router'); var Repos = require('./Github/Repos') var UserProfile = require('./Github/UserProfile') var Notes = require('./Notes/Notes') var Profile = React.createClass({ getInitialState: function(){ return { notes: [1,2,3], bio: { name: 'Harini Janakiraman' }, repos: ['a', 'b', 'c'] } }, render: function(){ console.log(this.props) return (
) } }) module.exports = Profile; ================================================ FILE: Day 002 - React App with Nav + State Props/app/config/routes.js ================================================ var React = require('react'); var Main = require('../components/Main'); var Home = require('../components/Home'); var Profile = require('../components/Profile'); var Router = require('react-router'); var Route = Router.Route; var IndexRoute = Router.IndexRoute; module.exports = ( ); ================================================ FILE: Day 002 - React App with Nav + State Props/package.json ================================================ { "name": "reactapp", "version": "1.0.0", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "history": "^2.1.1", "react": "^15.0.2", "react-router": "^2.4.0" }, "devDependencies": { "babel-core": "github:node_modules/babel-core", "babel-loader": "github:node_modules/babel-loader", "babel-preset-es2015": "^6.6.0", "babel-preset-es2016": "^6.0.11", "babel-preset-react": "github:node_modules/babel-preset-react", "webpack": "^1.13.0" }, "description": "" } ================================================ FILE: Day 002 - React App with Nav + State Props/public/bundle.js ================================================ /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ }; /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ // Flag the module as loaded /******/ module.loaded = true; /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ // Load entry module and return exports /******/ return __webpack_require__(0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var React = __webpack_require__(1); var ReactDOM = __webpack_require__(33); var Router = __webpack_require__(168).Router; var routes = __webpack_require__(231); ReactDOM.render(React.createElement( Router, null, routes ), document.getElementById('app')); /***/ }, /* 1 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; module.exports = __webpack_require__(2); /***/ }, /* 2 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule React */ 'use strict'; var _assign = __webpack_require__(4); var ReactChildren = __webpack_require__(5); var ReactComponent = __webpack_require__(16); var ReactClass = __webpack_require__(22); var ReactDOMFactories = __webpack_require__(27); var ReactElement = __webpack_require__(8); var ReactElementValidator = __webpack_require__(28); var ReactPropTypes = __webpack_require__(30); var ReactVersion = __webpack_require__(31); var onlyChild = __webpack_require__(32); var warning = __webpack_require__(10); var createElement = ReactElement.createElement; var createFactory = ReactElement.createFactory; var cloneElement = ReactElement.cloneElement; if (process.env.NODE_ENV !== 'production') { createElement = ReactElementValidator.createElement; createFactory = ReactElementValidator.createFactory; cloneElement = ReactElementValidator.cloneElement; } var __spread = _assign; if (process.env.NODE_ENV !== 'production') { var warned = false; __spread = function () { process.env.NODE_ENV !== 'production' ? warning(warned, 'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See https://fb.me/react-spread-deprecation for more details.') : void 0; warned = true; return _assign.apply(null, arguments); }; } var React = { // Modern Children: { map: ReactChildren.map, forEach: ReactChildren.forEach, count: ReactChildren.count, toArray: ReactChildren.toArray, only: onlyChild }, Component: ReactComponent, createElement: createElement, cloneElement: cloneElement, isValidElement: ReactElement.isValidElement, // Classic PropTypes: ReactPropTypes, createClass: ReactClass.createClass, createFactory: createFactory, createMixin: function (mixin) { // Currently a noop. Will be used to validate and trace mixins. return mixin; }, // This looks DOM specific but these are actually isomorphic helpers // since they are just generating DOM strings. DOM: ReactDOMFactories, version: ReactVersion, // Deprecated hook for JSX spread, don't use this for anything. __spread: __spread }; module.exports = React; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 3 */ /***/ function(module, exports) { // shim for using process in browser var process = module.exports = {}; var queue = []; var draining = false; var currentQueue; var queueIndex = -1; function cleanUpNextTick() { if (!draining || !currentQueue) { return; } draining = false; if (currentQueue.length) { queue = currentQueue.concat(queue); } else { queueIndex = -1; } if (queue.length) { drainQueue(); } } function drainQueue() { if (draining) { return; } var timeout = setTimeout(cleanUpNextTick); draining = true; var len = queue.length; while(len) { currentQueue = queue; queue = []; while (++queueIndex < len) { if (currentQueue) { currentQueue[queueIndex].run(); } } queueIndex = -1; len = queue.length; } currentQueue = null; draining = false; clearTimeout(timeout); } process.nextTick = function (fun) { var args = new Array(arguments.length - 1); if (arguments.length > 1) { for (var i = 1; i < arguments.length; i++) { args[i - 1] = arguments[i]; } } queue.push(new Item(fun, args)); if (queue.length === 1 && !draining) { setTimeout(drainQueue, 0); } }; // v8 likes predictible objects function Item(fun, array) { this.fun = fun; this.array = array; } Item.prototype.run = function () { this.fun.apply(null, this.array); }; process.title = 'browser'; process.browser = true; process.env = {}; process.argv = []; process.version = ''; // empty string to avoid regexp issues process.versions = {}; function noop() {} process.on = noop; process.addListener = noop; process.once = noop; process.off = noop; process.removeListener = noop; process.removeAllListeners = noop; process.emit = noop; process.binding = function (name) { throw new Error('process.binding is not supported'); }; process.cwd = function () { return '/' }; process.chdir = function (dir) { throw new Error('process.chdir is not supported'); }; process.umask = function() { return 0; }; /***/ }, /* 4 */ /***/ function(module, exports) { 'use strict'; /* eslint-disable no-unused-vars */ var hasOwnProperty = Object.prototype.hasOwnProperty; var propIsEnumerable = Object.prototype.propertyIsEnumerable; function toObject(val) { if (val === null || val === undefined) { throw new TypeError('Object.assign cannot be called with null or undefined'); } return Object(val); } function shouldUseNative() { try { if (!Object.assign) { return false; } // Detect buggy property enumeration order in older V8 versions. // https://bugs.chromium.org/p/v8/issues/detail?id=4118 var test1 = new String('abc'); // eslint-disable-line test1[5] = 'de'; if (Object.getOwnPropertyNames(test1)[0] === '5') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test2 = {}; for (var i = 0; i < 10; i++) { test2['_' + String.fromCharCode(i)] = i; } var order2 = Object.getOwnPropertyNames(test2).map(function (n) { return test2[n]; }); if (order2.join('') !== '0123456789') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test3 = {}; 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { test3[letter] = letter; }); if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') { return false; } return true; } catch (e) { // We don't expect any of the above to throw, but better to be safe. return false; } } module.exports = shouldUseNative() ? Object.assign : function (target, source) { var from; var to = toObject(target); var symbols; for (var s = 1; s < arguments.length; s++) { from = Object(arguments[s]); for (var key in from) { if (hasOwnProperty.call(from, key)) { to[key] = from[key]; } } if (Object.getOwnPropertySymbols) { symbols = Object.getOwnPropertySymbols(from); for (var i = 0; i < symbols.length; i++) { if (propIsEnumerable.call(from, symbols[i])) { to[symbols[i]] = from[symbols[i]]; } } } } return to; }; /***/ }, /* 5 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactChildren */ 'use strict'; var PooledClass = __webpack_require__(6); var ReactElement = __webpack_require__(8); var emptyFunction = __webpack_require__(11); var traverseAllChildren = __webpack_require__(13); var twoArgumentPooler = PooledClass.twoArgumentPooler; var fourArgumentPooler = PooledClass.fourArgumentPooler; var userProvidedKeyEscapeRegex = /\/+/g; function escapeUserProvidedKey(text) { return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/'); } /** * PooledClass representing the bookkeeping associated with performing a child * traversal. Allows avoiding binding callbacks. * * @constructor ForEachBookKeeping * @param {!function} forEachFunction Function to perform traversal with. * @param {?*} forEachContext Context to perform context with. */ function ForEachBookKeeping(forEachFunction, forEachContext) { this.func = forEachFunction; this.context = forEachContext; this.count = 0; } ForEachBookKeeping.prototype.destructor = function () { this.func = null; this.context = null; this.count = 0; }; PooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler); function forEachSingleChild(bookKeeping, child, name) { var func = bookKeeping.func; var context = bookKeeping.context; func.call(context, child, bookKeeping.count++); } /** * Iterates through children that are typically specified as `props.children`. * * The provided forEachFunc(child, index) will be called for each * leaf child. * * @param {?*} children Children tree container. * @param {function(*, int)} forEachFunc * @param {*} forEachContext Context for forEachContext. */ function forEachChildren(children, forEachFunc, forEachContext) { if (children == null) { return children; } var traverseContext = ForEachBookKeeping.getPooled(forEachFunc, forEachContext); traverseAllChildren(children, forEachSingleChild, traverseContext); ForEachBookKeeping.release(traverseContext); } /** * PooledClass representing the bookkeeping associated with performing a child * mapping. Allows avoiding binding callbacks. * * @constructor MapBookKeeping * @param {!*} mapResult Object containing the ordered map of results. * @param {!function} mapFunction Function to perform mapping with. * @param {?*} mapContext Context to perform mapping with. */ function MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) { this.result = mapResult; this.keyPrefix = keyPrefix; this.func = mapFunction; this.context = mapContext; this.count = 0; } MapBookKeeping.prototype.destructor = function () { this.result = null; this.keyPrefix = null; this.func = null; this.context = null; this.count = 0; }; PooledClass.addPoolingTo(MapBookKeeping, fourArgumentPooler); function mapSingleChildIntoContext(bookKeeping, child, childKey) { var result = bookKeeping.result; var keyPrefix = bookKeeping.keyPrefix; var func = bookKeeping.func; var context = bookKeeping.context; var mappedChild = func.call(context, child, bookKeeping.count++); if (Array.isArray(mappedChild)) { mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, emptyFunction.thatReturnsArgument); } else if (mappedChild != null) { if (ReactElement.isValidElement(mappedChild)) { mappedChild = ReactElement.cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as // traverseAllChildren used to do for objects as children keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey); } result.push(mappedChild); } } function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) { var escapedPrefix = ''; if (prefix != null) { escapedPrefix = escapeUserProvidedKey(prefix) + '/'; } var traverseContext = MapBookKeeping.getPooled(array, escapedPrefix, func, context); traverseAllChildren(children, mapSingleChildIntoContext, traverseContext); MapBookKeeping.release(traverseContext); } /** * Maps children that are typically specified as `props.children`. * * The provided mapFunction(child, index) will be called for each * leaf child. * * @param {?*} children Children tree container. * @param {function(*, int)} func The map function. * @param {*} context Context for mapFunction. * @return {object} Object containing the ordered map of results. */ function mapChildren(children, func, context) { if (children == null) { return children; } var result = []; mapIntoWithKeyPrefixInternal(children, result, null, func, context); return result; } function forEachSingleChildDummy(traverseContext, child, name) { return null; } /** * Count the number of children that are typically specified as * `props.children`. * * @param {?*} children Children tree container. * @return {number} The number of children. */ function countChildren(children, context) { return traverseAllChildren(children, forEachSingleChildDummy, null); } /** * Flatten a children object (typically specified as `props.children`) and * return an array with appropriately re-keyed children. */ function toArray(children) { var result = []; mapIntoWithKeyPrefixInternal(children, result, null, emptyFunction.thatReturnsArgument); return result; } var ReactChildren = { forEach: forEachChildren, map: mapChildren, mapIntoWithKeyPrefixInternal: mapIntoWithKeyPrefixInternal, count: countChildren, toArray: toArray }; module.exports = ReactChildren; /***/ }, /* 6 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule PooledClass */ 'use strict'; var invariant = __webpack_require__(7); /** * Static poolers. Several custom versions for each potential number of * arguments. A completely generic pooler is easy to implement, but would * require accessing the `arguments` object. In each of these, `this` refers to * the Class itself, not an instance. If any others are needed, simply add them * here, or in their own files. */ 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; !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : invariant(false) : void 0; instance.destructor(); if (Klass.instancePool.length < Klass.poolSize) { Klass.instancePool.push(instance); } }; var DEFAULT_POOL_SIZE = 10; var DEFAULT_POOLER = oneArgumentPooler; /** * Augments `CopyConstructor` to be a poolable class, augmenting only the class * itself (statically) not adding any prototypical fields. Any CopyConstructor * you give this may have a `poolSize` property, and will look for a * prototypical `destructor` on instances (optional). * * @param {Function} CopyConstructor Constructor that can be used to reset. * @param {Function} pooler Customizable pooler. */ 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; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 7 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; /** * Use invariant() to assert state which your program assumes to be true. * * Provide sprintf-style format (only %s is supported) and arguments * to provide information about what broke and what you were * expecting. * * The invariant message will be stripped in production, but the invariant * will remain to ensure logic does not differ in production. */ function invariant(condition, format, a, b, c, d, e, f) { if (process.env.NODE_ENV !== 'production') { 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(format.replace(/%s/g, function () { return args[argIndex++]; })); error.name = 'Invariant Violation'; } error.framesToPop = 1; // we don't care about invariant's own frame throw error; } } module.exports = invariant; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 8 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactElement */ 'use strict'; var _assign = __webpack_require__(4); var ReactCurrentOwner = __webpack_require__(9); var warning = __webpack_require__(10); var canDefineProperty = __webpack_require__(12); // The Symbol used to tag the ReactElement type. If there is no native Symbol // nor polyfill, then a plain number is used for performance. 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 specialPropKeyWarningShown, specialPropRefWarningShown; /** * Factory method to create a new React element. This no longer adheres to * the class pattern, so do not use new to call it. Also, no instanceof check * will work. Instead test $$typeof field against Symbol.for('react.element') to check * if something is a React Element. * * @param {*} type * @param {*} key * @param {string|object} ref * @param {*} self A *temporary* helper to detect places where `this` is * different from the `owner` when React.createElement is called, so that we * can warn. We want to get rid of owner and replace string `ref`s with arrow * functions, and as long as `this` and owner are the same, there will be no * change in behavior. * @param {*} source An annotation object (added by a transpiler or otherwise) * indicating filename, line number, and/or other information. * @param {*} owner * @param {*} props * @internal */ var ReactElement = function (type, key, ref, self, source, owner, props) { var element = { // This tag allow us to uniquely identify this as a React Element $$typeof: REACT_ELEMENT_TYPE, // Built-in properties that belong on the element type: type, key: key, ref: ref, props: props, // Record the component responsible for creating this element. _owner: owner }; if (process.env.NODE_ENV !== 'production') { // The validation flag is currently mutative. We put it on // an external backing store so that we can freeze the whole object. // This can be replaced with a WeakMap once they are implemented in // commonly used development environments. element._store = {}; // To make comparing ReactElements easier for testing purposes, we make // the validation flag non-enumerable (where possible, which should // include every environment we run tests in), so the test framework // ignores it. if (canDefineProperty) { Object.defineProperty(element._store, 'validated', { configurable: false, enumerable: false, writable: true, value: false }); // self and source are DEV only properties. Object.defineProperty(element, '_self', { configurable: false, enumerable: false, writable: false, value: self }); // Two elements created in two different places should be considered // equal for testing purposes and therefore we hide it from enumeration. Object.defineProperty(element, '_source', { configurable: false, enumerable: false, writable: false, value: source }); } else { element._store.validated = false; element._self = self; element._source = source; } if (Object.freeze) { Object.freeze(element.props); Object.freeze(element); } } return element; }; ReactElement.createElement = function (type, config, children) { var propName; // Reserved names are extracted var props = {}; var key = null; var ref = null; var self = null; var source = null; if (config != null) { if (process.env.NODE_ENV !== 'production') { ref = !config.hasOwnProperty('ref') || Object.getOwnPropertyDescriptor(config, 'ref').get ? null : config.ref; key = !config.hasOwnProperty('key') || Object.getOwnPropertyDescriptor(config, 'key').get ? null : '' + config.key; } else { 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; // Remaining properties are added to a new props object for (propName in config) { if (config.hasOwnProperty(propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { props[propName] = config[propName]; } } } // Children can be more than one argument, and those are transferred onto // the newly allocated props object. 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; } // Resolve default props if (type && type.defaultProps) { var defaultProps = type.defaultProps; for (propName in defaultProps) { if (props[propName] === undefined) { props[propName] = defaultProps[propName]; } } } if (process.env.NODE_ENV !== 'production') { // Create dummy `key` and `ref` property to `props` to warn users // against its use if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) { if (!props.hasOwnProperty('key')) { Object.defineProperty(props, 'key', { get: function () { if (!specialPropKeyWarningShown) { specialPropKeyWarningShown = true; process.env.NODE_ENV !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', typeof type === 'function' && 'displayName' in type ? type.displayName : 'Element') : void 0; } return undefined; }, configurable: true }); } if (!props.hasOwnProperty('ref')) { Object.defineProperty(props, 'ref', { get: function () { if (!specialPropRefWarningShown) { specialPropRefWarningShown = true; process.env.NODE_ENV !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', typeof type === 'function' && 'displayName' in type ? type.displayName : 'Element') : void 0; } return undefined; }, configurable: true }); } } } return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); }; ReactElement.createFactory = function (type) { var factory = ReactElement.createElement.bind(null, type); // Expose the type on the factory and the prototype so that it can be // easily accessed on elements. E.g. `.type === Foo`. // This should not be named `constructor` since this may not be the function // that created the element, and it may not even be a constructor. // Legacy hook TODO: Warn if this is accessed 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.cloneElement = function (element, config, children) { var propName; // Original props are copied var props = _assign({}, element.props); // Reserved names are extracted var key = element.key; var ref = element.ref; // Self is preserved since the owner is preserved. var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a // transpiler, and the original source is probably a better indicator of the // true owner. var source = element._source; // Owner will be preserved, unless ref is overridden var owner = element._owner; if (config != null) { if (config.ref !== undefined) { // Silently steal the ref from the parent. ref = config.ref; owner = ReactCurrentOwner.current; } if (config.key !== undefined) { key = '' + config.key; } // Remaining properties override existing props var defaultProps; if (element.type && element.type.defaultProps) { defaultProps = element.type.defaultProps; } for (propName in config) { if (config.hasOwnProperty(propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { if (config[propName] === undefined && defaultProps !== undefined) { // Resolve default props props[propName] = defaultProps[propName]; } else { props[propName] = config[propName]; } } } } // Children can be more than one argument, and those are transferred onto // the newly allocated props object. 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); }; /** * @param {?object} object * @return {boolean} True if `object` is a valid component. * @final */ ReactElement.isValidElement = function (object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; }; module.exports = ReactElement; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 9 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactCurrentOwner */ 'use strict'; /** * Keeps track of the current owner. * * The current owner is the component who should own any components that are * currently being constructed. */ var ReactCurrentOwner = { /** * @internal * @type {ReactComponent} */ current: null }; module.exports = ReactCurrentOwner; /***/ }, /* 10 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-2015, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var emptyFunction = __webpack_require__(11); /** * Similar to invariant but only logs a warning if the condition is not met. * This can be used to log issues in development environments in critical * paths. Removing the logging code for production environments will keep the * same logic and follow the same code paths. */ var warning = emptyFunction; if (process.env.NODE_ENV !== 'production') { 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; // Ignore CompositeComponent proptype check. } if (!condition) { var argIndex = 0; var message = 'Warning: ' + format.replace(/%s/g, function () { return args[argIndex++]; }); if (typeof console !== 'undefined') { console.error(message); } try { // --- Welcome to debugging React --- // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch (x) {} } }; } module.exports = warning; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 11 */ /***/ function(module, exports) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ function makeEmptyFunction(arg) { return function () { return arg; }; } /** * This function accepts and discards inputs; it has no side effects. This is * primarily useful idiomatically for overridable function endpoints which * always need to be callable, since JS lacks a null-call idiom ala Cocoa. */ 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; /***/ }, /* 12 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule canDefineProperty */ 'use strict'; var canDefineProperty = false; if (process.env.NODE_ENV !== 'production') { try { Object.defineProperty({}, 'x', { get: function () {} }); canDefineProperty = true; } catch (x) { // IE will fail on defineProperty } } module.exports = canDefineProperty; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 13 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule traverseAllChildren */ 'use strict'; var ReactCurrentOwner = __webpack_require__(9); var ReactElement = __webpack_require__(8); var getIteratorFn = __webpack_require__(14); var invariant = __webpack_require__(7); var KeyEscapeUtils = __webpack_require__(15); var warning = __webpack_require__(10); var SEPARATOR = '.'; var SUBSEPARATOR = ':'; /** * TODO: Test that a single child and an array with one item have the same key * pattern. */ var didWarnAboutMaps = false; /** * Generate a key string that identifies a component within a set. * * @param {*} component A component that could contain a manual key. * @param {number} index Index that is used if a manual key is not provided. * @return {string} */ function getComponentKey(component, index) { // Do some typechecking here since we call this blindly. We want to ensure // that we don't block potential future ES APIs. if (component && typeof component === 'object' && component.key != null) { // Explicit key return KeyEscapeUtils.escape(component.key); } // Implicit key determined by the index in the set return index.toString(36); } /** * @param {?*} children Children tree container. * @param {!string} nameSoFar Name of the key path so far. * @param {!function} callback Callback to invoke with each child found. * @param {?*} traverseContext Used to pass information throughout the traversal * process. * @return {!number} The number of children in this subtree. */ function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) { var type = typeof children; if (type === 'undefined' || type === 'boolean') { // All of the above are perceived as null. children = null; } if (children === null || type === 'string' || type === 'number' || ReactElement.isValidElement(children)) { callback(traverseContext, children, // If it's the only child, treat the name as if it was wrapped in an array // so that it's consistent if the number of children grows. nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar); return 1; } var child; var nextName; var subtreeCount = 0; // Count of children found in the current subtree. var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR; if (Array.isArray(children)) { for (var i = 0; i < children.length; i++) { child = children[i]; nextName = nextNamePrefix + getComponentKey(child, i); subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); } } else { var iteratorFn = getIteratorFn(children); if (iteratorFn) { var iterator = iteratorFn.call(children); var step; if (iteratorFn !== children.entries) { var ii = 0; while (!(step = iterator.next()).done) { child = step.value; nextName = nextNamePrefix + getComponentKey(child, ii++); subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); } } else { if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.') : void 0; didWarnAboutMaps = true; } // Iterator will provide entry [k,v] tuples rather than values. while (!(step = iterator.next()).done) { var entry = step.value; if (entry) { child = entry[1]; nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0); subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); } } } } else if (type === 'object') { var addendum = ''; if (process.env.NODE_ENV !== 'production') { addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.'; if (children._isReactElement) { addendum = ' It looks like you\'re using an element created by a different ' + 'version of React. Make sure to use only one copy of React.'; } if (ReactCurrentOwner.current) { var name = ReactCurrentOwner.current.getName(); if (name) { addendum += ' Check the render method of `' + name + '`.'; } } } var childrenString = String(children); true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : invariant(false) : void 0; } } return subtreeCount; } /** * Traverses children that are typically specified as `props.children`, but * might also be specified through attributes: * * - `traverseAllChildren(this.props.children, ...)` * - `traverseAllChildren(this.props.leftPanelChildren, ...)` * * The `traverseContext` is an optional argument that is passed through the * entire traversal. It can be used to store accumulations or anything else that * the callback might find relevant. * * @param {?*} children Children tree object. * @param {!function} callback To invoke upon traversing each child. * @param {?*} traverseContext Context for traversal. * @return {!number} The number of children in this subtree. */ function traverseAllChildren(children, callback, traverseContext) { if (children == null) { return 0; } return traverseAllChildrenImpl(children, '', callback, traverseContext); } module.exports = traverseAllChildren; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 14 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getIteratorFn */ 'use strict'; /* global Symbol */ var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. /** * Returns the iterator method function contained on the iterable object. * * Be sure to invoke the function with the iterable as context: * * var iteratorFn = getIteratorFn(myIterable); * if (iteratorFn) { * var iterator = iteratorFn.call(myIterable); * ... * } * * @param {?object} maybeIterable * @return {?function} */ function getIteratorFn(maybeIterable) { var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); if (typeof iteratorFn === 'function') { return iteratorFn; } } module.exports = getIteratorFn; /***/ }, /* 15 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule KeyEscapeUtils */ 'use strict'; /** * Escape and wrap key so it is safe to use as a reactid * * @param {*} key to be escaped. * @return {string} the escaped key. */ function escape(key) { var escapeRegex = /[=:]/g; var escaperLookup = { '=': '=0', ':': '=2' }; var escapedString = ('' + key).replace(escapeRegex, function (match) { return escaperLookup[match]; }); return '$' + escapedString; } /** * Unescape and unwrap key for human-readable display * * @param {string} key to unescape. * @return {string} the unescaped key. */ function unescape(key) { var unescapeRegex = /(=0|=2)/g; var unescaperLookup = { '=0': '=', '=2': ':' }; var keySubstring = key[0] === '.' && key[1] === '$' ? key.substring(2) : key.substring(1); return ('' + keySubstring).replace(unescapeRegex, function (match) { return unescaperLookup[match]; }); } var KeyEscapeUtils = { escape: escape, unescape: unescape }; module.exports = KeyEscapeUtils; /***/ }, /* 16 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactComponent */ 'use strict'; var ReactNoopUpdateQueue = __webpack_require__(17); var ReactInstrumentation = __webpack_require__(18); var canDefineProperty = __webpack_require__(12); var emptyObject = __webpack_require__(21); var invariant = __webpack_require__(7); var warning = __webpack_require__(10); /** * Base class helpers for the updating state of a component. */ function ReactComponent(props, context, updater) { this.props = props; this.context = context; this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the // renderer. this.updater = updater || ReactNoopUpdateQueue; } ReactComponent.prototype.isReactComponent = {}; /** * Sets a subset of the state. Always use this to mutate * state. You should treat `this.state` as immutable. * * There is no guarantee that `this.state` will be immediately updated, so * accessing `this.state` after calling this method may return the old value. * * There is no guarantee that calls to `setState` will run synchronously, * as they may eventually be batched together. You can provide an optional * callback that will be executed when the call to setState is actually * completed. * * When a function is provided to setState, it will be called at some point in * the future (not synchronously). It will be called with the up to date * component arguments (state, props, context). These values can be different * from this.* because your function may be called after receiveProps but before * shouldComponentUpdate, and this new state, props, and context will not yet be * assigned to this. * * @param {object|function} partialState Next partial state or function to * produce next partial state to be merged with current state. * @param {?function} callback Called after state is updated. * @final * @protected */ ReactComponent.prototype.setState = function (partialState, callback) { !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.') : invariant(false) : void 0; if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onSetState(); process.env.NODE_ENV !== 'production' ? warning(partialState != null, 'setState(...): You passed an undefined or null state object; ' + 'instead, use forceUpdate().') : void 0; } this.updater.enqueueSetState(this, partialState); if (callback) { this.updater.enqueueCallback(this, callback, 'setState'); } }; /** * Forces an update. This should only be invoked when it is known with * certainty that we are **not** in a DOM transaction. * * You may want to call this when you know that some deeper aspect of the * component's state has changed but `setState` was not called. * * This will not invoke `shouldComponentUpdate`, but it will invoke * `componentWillUpdate` and `componentDidUpdate`. * * @param {?function} callback Called after update is complete. * @final * @protected */ ReactComponent.prototype.forceUpdate = function (callback) { this.updater.enqueueForceUpdate(this); if (callback) { this.updater.enqueueCallback(this, callback, 'forceUpdate'); } }; /** * Deprecated APIs. These APIs used to exist on classic React classes but since * we would like to deprecate them, we're not going to move them over to this * modern base class. Instead, we define a getter that warns if it's accessed. */ if (process.env.NODE_ENV !== 'production') { var deprecatedAPIs = { isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'], replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).'] }; var defineDeprecationWarning = function (methodName, info) { if (canDefineProperty) { Object.defineProperty(ReactComponent.prototype, methodName, { get: function () { process.env.NODE_ENV !== 'production' ? warning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]) : void 0; return undefined; } }); } }; for (var fnName in deprecatedAPIs) { if (deprecatedAPIs.hasOwnProperty(fnName)) { defineDeprecationWarning(fnName, deprecatedAPIs[fnName]); } } } module.exports = ReactComponent; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 17 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactNoopUpdateQueue */ 'use strict'; var warning = __webpack_require__(10); function warnTDZ(publicInstance, callerName) { if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, publicInstance.constructor && publicInstance.constructor.displayName || '') : void 0; } } /** * This is the abstract API for an update queue. */ var ReactNoopUpdateQueue = { /** * Checks whether or not this composite component is mounted. * @param {ReactClass} publicInstance The instance we want to test. * @return {boolean} True if mounted, false otherwise. * @protected * @final */ isMounted: function (publicInstance) { return false; }, /** * Enqueue a callback that will be executed after all the pending updates * have processed. * * @param {ReactClass} publicInstance The instance to use as `this` context. * @param {?function} callback Called after state is updated. * @internal */ enqueueCallback: function (publicInstance, callback) {}, /** * Forces an update. This should only be invoked when it is known with * certainty that we are **not** in a DOM transaction. * * You may want to call this when you know that some deeper aspect of the * component's state has changed but `setState` was not called. * * This will not invoke `shouldComponentUpdate`, but it will invoke * `componentWillUpdate` and `componentDidUpdate`. * * @param {ReactClass} publicInstance The instance that should rerender. * @internal */ enqueueForceUpdate: function (publicInstance) { warnTDZ(publicInstance, 'forceUpdate'); }, /** * Replaces all of the state. Always use this or `setState` to mutate state. * You should treat `this.state` as immutable. * * There is no guarantee that `this.state` will be immediately updated, so * accessing `this.state` after calling this method may return the old value. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {object} completeState Next state. * @internal */ enqueueReplaceState: function (publicInstance, completeState) { warnTDZ(publicInstance, 'replaceState'); }, /** * Sets a subset of the state. This only exists because _pendingState is * internal. This provides a merging strategy that is not available to deep * properties which is confusing. TODO: Expose pendingState or don't use it * during the merge. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {object} partialState Next partial state to be merged with state. * @internal */ enqueueSetState: function (publicInstance, partialState) { warnTDZ(publicInstance, 'setState'); } }; module.exports = ReactNoopUpdateQueue; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 18 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactInstrumentation */ 'use strict'; var ReactDebugTool = __webpack_require__(19); module.exports = { debugTool: ReactDebugTool }; /***/ }, /* 19 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDebugTool */ 'use strict'; var ReactInvalidSetStateWarningDevTool = __webpack_require__(20); var warning = __webpack_require__(10); var eventHandlers = []; var handlerDoesThrowForEvent = {}; function emitEvent(handlerFunctionName, arg1, arg2, arg3, arg4, arg5) { if (process.env.NODE_ENV !== 'production') { eventHandlers.forEach(function (handler) { try { if (handler[handlerFunctionName]) { handler[handlerFunctionName](arg1, arg2, arg3, arg4, arg5); } } catch (e) { process.env.NODE_ENV !== 'production' ? warning(!handlerDoesThrowForEvent[handlerFunctionName], 'exception thrown by devtool while handling %s: %s', handlerFunctionName, e.message) : void 0; handlerDoesThrowForEvent[handlerFunctionName] = true; } }); } } var ReactDebugTool = { addDevtool: function (devtool) { eventHandlers.push(devtool); }, removeDevtool: function (devtool) { for (var i = 0; i < eventHandlers.length; i++) { if (eventHandlers[i] === devtool) { eventHandlers.splice(i, 1); i--; } } }, onBeginProcessingChildContext: function () { emitEvent('onBeginProcessingChildContext'); }, onEndProcessingChildContext: function () { emitEvent('onEndProcessingChildContext'); }, onSetState: function () { emitEvent('onSetState'); }, onMountRootComponent: function (internalInstance) { emitEvent('onMountRootComponent', internalInstance); }, onMountComponent: function (internalInstance) { emitEvent('onMountComponent', internalInstance); }, onUpdateComponent: function (internalInstance) { emitEvent('onUpdateComponent', internalInstance); }, onUnmountComponent: function (internalInstance) { emitEvent('onUnmountComponent', internalInstance); } }; ReactDebugTool.addDevtool(ReactInvalidSetStateWarningDevTool); module.exports = ReactDebugTool; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 20 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactInvalidSetStateWarningDevTool */ 'use strict'; var warning = __webpack_require__(10); if (process.env.NODE_ENV !== 'production') { var processingChildContext = false; var warnInvalidSetState = function () { process.env.NODE_ENV !== 'production' ? warning(!processingChildContext, 'setState(...): Cannot call setState() inside getChildContext()') : void 0; }; } var ReactInvalidSetStateWarningDevTool = { onBeginProcessingChildContext: function () { processingChildContext = true; }, onEndProcessingChildContext: function () { processingChildContext = false; }, onSetState: function () { warnInvalidSetState(); } }; module.exports = ReactInvalidSetStateWarningDevTool; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 21 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var emptyObject = {}; if (process.env.NODE_ENV !== 'production') { Object.freeze(emptyObject); } module.exports = emptyObject; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 22 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactClass */ 'use strict'; var _assign = __webpack_require__(4); var ReactComponent = __webpack_require__(16); var ReactElement = __webpack_require__(8); var ReactPropTypeLocations = __webpack_require__(23); var ReactPropTypeLocationNames = __webpack_require__(25); var ReactNoopUpdateQueue = __webpack_require__(17); var emptyObject = __webpack_require__(21); var invariant = __webpack_require__(7); var keyMirror = __webpack_require__(24); var keyOf = __webpack_require__(26); var warning = __webpack_require__(10); var MIXINS_KEY = keyOf({ mixins: null }); /** * Policies that describe methods in `ReactClassInterface`. */ var SpecPolicy = keyMirror({ /** * These methods may be defined only once by the class specification or mixin. */ DEFINE_ONCE: null, /** * These methods may be defined by both the class specification and mixins. * Subsequent definitions will be chained. These methods must return void. */ DEFINE_MANY: null, /** * These methods are overriding the base class. */ OVERRIDE_BASE: null, /** * These methods are similar to DEFINE_MANY, except we assume they return * objects. We try to merge the keys of the return values of all the mixed in * functions. If there is a key conflict we throw. */ DEFINE_MANY_MERGED: null }); var injectedMixins = []; /** * Composite components are higher-level components that compose other composite * or native components. * * To create a new type of `ReactClass`, pass a specification of * your new class to `React.createClass`. The only requirement of your class * specification is that you implement a `render` method. * * var MyComponent = React.createClass({ * render: function() { * return
Hello World
; * } * }); * * The class specification supports a specific protocol of methods that have * special meaning (e.g. `render`). See `ReactClassInterface` for * more the comprehensive protocol. Any other properties and methods in the * class specification will be available on the prototype. * * @interface ReactClassInterface * @internal */ var ReactClassInterface = { /** * An array of Mixin objects to include when defining your component. * * @type {array} * @optional */ mixins: SpecPolicy.DEFINE_MANY, /** * An object containing properties and methods that should be defined on * the component's constructor instead of its prototype (static methods). * * @type {object} * @optional */ statics: SpecPolicy.DEFINE_MANY, /** * Definition of prop types for this component. * * @type {object} * @optional */ propTypes: SpecPolicy.DEFINE_MANY, /** * Definition of context types for this component. * * @type {object} * @optional */ contextTypes: SpecPolicy.DEFINE_MANY, /** * Definition of context types this component sets for its children. * * @type {object} * @optional */ childContextTypes: SpecPolicy.DEFINE_MANY, // ==== Definition methods ==== /** * Invoked when the component is mounted. Values in the mapping will be set on * `this.props` if that prop is not specified (i.e. using an `in` check). * * This method is invoked before `getInitialState` and therefore cannot rely * on `this.state` or use `this.setState`. * * @return {object} * @optional */ getDefaultProps: SpecPolicy.DEFINE_MANY_MERGED, /** * Invoked once before the component is mounted. The return value will be used * as the initial value of `this.state`. * * getInitialState: function() { * return { * isOn: false, * fooBaz: new BazFoo() * } * } * * @return {object} * @optional */ getInitialState: SpecPolicy.DEFINE_MANY_MERGED, /** * @return {object} * @optional */ getChildContext: SpecPolicy.DEFINE_MANY_MERGED, /** * Uses props from `this.props` and state from `this.state` to render the * structure of the component. * * No guarantees are made about when or how often this method is invoked, so * it must not have side effects. * * render: function() { * var name = this.props.name; * return
Hello, {name}!
; * } * * @return {ReactComponent} * @nosideeffects * @required */ render: SpecPolicy.DEFINE_ONCE, // ==== Delegate methods ==== /** * Invoked when the component is initially created and about to be mounted. * This may have side effects, but any external subscriptions or data created * by this method must be cleaned up in `componentWillUnmount`. * * @optional */ componentWillMount: SpecPolicy.DEFINE_MANY, /** * Invoked when the component has been mounted and has a DOM representation. * However, there is no guarantee that the DOM node is in the document. * * Use this as an opportunity to operate on the DOM when the component has * been mounted (initialized and rendered) for the first time. * * @param {DOMElement} rootNode DOM element representing the component. * @optional */ componentDidMount: SpecPolicy.DEFINE_MANY, /** * Invoked before the component receives new props. * * Use this as an opportunity to react to a prop transition by updating the * state using `this.setState`. Current props are accessed via `this.props`. * * componentWillReceiveProps: function(nextProps, nextContext) { * this.setState({ * likesIncreasing: nextProps.likeCount > this.props.likeCount * }); * } * * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop * transition may cause a state change, but the opposite is not true. If you * need it, you are probably looking for `componentWillUpdate`. * * @param {object} nextProps * @optional */ componentWillReceiveProps: SpecPolicy.DEFINE_MANY, /** * Invoked while deciding if the component should be updated as a result of * receiving new props, state and/or context. * * Use this as an opportunity to `return false` when you're certain that the * transition to the new props/state/context will not require a component * update. * * shouldComponentUpdate: function(nextProps, nextState, nextContext) { * return !equal(nextProps, this.props) || * !equal(nextState, this.state) || * !equal(nextContext, this.context); * } * * @param {object} nextProps * @param {?object} nextState * @param {?object} nextContext * @return {boolean} True if the component should update. * @optional */ shouldComponentUpdate: SpecPolicy.DEFINE_ONCE, /** * Invoked when the component is about to update due to a transition from * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState` * and `nextContext`. * * Use this as an opportunity to perform preparation before an update occurs. * * NOTE: You **cannot** use `this.setState()` in this method. * * @param {object} nextProps * @param {?object} nextState * @param {?object} nextContext * @param {ReactReconcileTransaction} transaction * @optional */ componentWillUpdate: SpecPolicy.DEFINE_MANY, /** * Invoked when the component's DOM representation has been updated. * * Use this as an opportunity to operate on the DOM when the component has * been updated. * * @param {object} prevProps * @param {?object} prevState * @param {?object} prevContext * @param {DOMElement} rootNode DOM element representing the component. * @optional */ componentDidUpdate: SpecPolicy.DEFINE_MANY, /** * Invoked when the component is about to be removed from its parent and have * its DOM representation destroyed. * * Use this as an opportunity to deallocate any external resources. * * NOTE: There is no `componentDidUnmount` since your component will have been * destroyed by that point. * * @optional */ componentWillUnmount: SpecPolicy.DEFINE_MANY, // ==== Advanced methods ==== /** * Updates the component's currently mounted DOM representation. * * By default, this implements React's rendering and reconciliation algorithm. * Sophisticated clients may wish to override this. * * @param {ReactReconcileTransaction} transaction * @internal * @overridable */ updateComponent: SpecPolicy.OVERRIDE_BASE }; /** * Mapping from class specification keys to special processing functions. * * Although these are declared like instance properties in the specification * when defining classes using `React.createClass`, they are actually static * and are accessible on the constructor instead of the prototype. Despite * being static, they must be defined outside of the "statics" key under * which all other static methods are defined. */ var RESERVED_SPEC_KEYS = { displayName: function (Constructor, displayName) { Constructor.displayName = displayName; }, mixins: function (Constructor, mixins) { if (mixins) { for (var i = 0; i < mixins.length; i++) { mixSpecIntoComponent(Constructor, mixins[i]); } } }, childContextTypes: function (Constructor, childContextTypes) { if (process.env.NODE_ENV !== 'production') { validateTypeDef(Constructor, childContextTypes, ReactPropTypeLocations.childContext); } Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, childContextTypes); }, contextTypes: function (Constructor, contextTypes) { if (process.env.NODE_ENV !== 'production') { validateTypeDef(Constructor, contextTypes, ReactPropTypeLocations.context); } Constructor.contextTypes = _assign({}, Constructor.contextTypes, contextTypes); }, /** * Special case getDefaultProps which should move into statics but requires * automatic merging. */ getDefaultProps: function (Constructor, getDefaultProps) { if (Constructor.getDefaultProps) { Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps); } else { Constructor.getDefaultProps = getDefaultProps; } }, propTypes: function (Constructor, propTypes) { if (process.env.NODE_ENV !== 'production') { validateTypeDef(Constructor, propTypes, ReactPropTypeLocations.prop); } Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes); }, statics: function (Constructor, statics) { mixStaticSpecIntoComponent(Constructor, statics); }, autobind: function () {} }; // noop function validateTypeDef(Constructor, typeDef, location) { for (var propName in typeDef) { if (typeDef.hasOwnProperty(propName)) { // use a warning instead of an invariant so components // don't show up in prod but only in __DEV__ process.env.NODE_ENV !== 'production' ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : void 0; } } } function validateMethodOverride(isAlreadyDefined, name) { var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null; // Disallow overriding of base class methods unless explicitly allowed. if (ReactClassMixin.hasOwnProperty(name)) { !(specPolicy === SpecPolicy.OVERRIDE_BASE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to override ' + '`%s` from your class specification. Ensure that your method names ' + 'do not overlap with React methods.', name) : invariant(false) : void 0; } // Disallow defining methods more than once unless explicitly allowed. if (isAlreadyDefined) { !(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to define ' + '`%s` on your component more than once. This conflict may be due ' + 'to a mixin.', name) : invariant(false) : void 0; } } /** * Mixin helper which handles policy validation and reserved * specification keys when building React classes. */ function mixSpecIntoComponent(Constructor, spec) { if (!spec) { return; } !(typeof spec !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to ' + 'use a component class or function as a mixin. Instead, just use a ' + 'regular object.') : invariant(false) : void 0; !!ReactElement.isValidElement(spec) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to ' + 'use a component as a mixin. Instead, just use a regular object.') : invariant(false) : void 0; var proto = Constructor.prototype; var autoBindPairs = proto.__reactAutoBindPairs; // By handling mixins before any other properties, we ensure the same // chaining order is applied to methods with DEFINE_MANY policy, whether // mixins are listed before or after these methods in the spec. if (spec.hasOwnProperty(MIXINS_KEY)) { RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins); } for (var name in spec) { if (!spec.hasOwnProperty(name)) { continue; } if (name === MIXINS_KEY) { // We have already handled mixins in a special case above. continue; } var property = spec[name]; var isAlreadyDefined = proto.hasOwnProperty(name); validateMethodOverride(isAlreadyDefined, name); if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) { RESERVED_SPEC_KEYS[name](Constructor, property); } else { // Setup methods on prototype: // The following member methods should not be automatically bound: // 1. Expected ReactClass methods (in the "interface"). // 2. Overridden methods (that were mixed in). var isReactClassMethod = ReactClassInterface.hasOwnProperty(name); var isFunction = typeof property === 'function'; var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false; if (shouldAutoBind) { autoBindPairs.push(name, property); proto[name] = property; } else { if (isAlreadyDefined) { var specPolicy = ReactClassInterface[name]; // These cases should already be caught by validateMethodOverride. !(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name) : invariant(false) : void 0; // For methods which are defined more than once, call the existing // methods before calling the new property, merging if appropriate. if (specPolicy === SpecPolicy.DEFINE_MANY_MERGED) { proto[name] = createMergedResultFunction(proto[name], property); } else if (specPolicy === SpecPolicy.DEFINE_MANY) { proto[name] = createChainedFunction(proto[name], property); } } else { proto[name] = property; if (process.env.NODE_ENV !== 'production') { // Add verbose displayName to the function, which helps when looking // at profiling tools. if (typeof property === 'function' && spec.displayName) { proto[name].displayName = spec.displayName + '_' + name; } } } } } } } function mixStaticSpecIntoComponent(Constructor, statics) { if (!statics) { return; } for (var name in statics) { var property = statics[name]; if (!statics.hasOwnProperty(name)) { continue; } var isReserved = name in RESERVED_SPEC_KEYS; !!isReserved ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define a reserved ' + 'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' + 'as an instance property instead; it will still be accessible on the ' + 'constructor.', name) : invariant(false) : void 0; var isInherited = name in Constructor; !!isInherited ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define ' + '`%s` on your component more than once. This conflict may be ' + 'due to a mixin.', name) : invariant(false) : void 0; Constructor[name] = property; } } /** * Merge two objects, but throw if both contain the same key. * * @param {object} one The first object, which is mutated. * @param {object} two The second object * @return {object} one after it has been mutated to contain everything in two. */ function mergeIntoWithNoDuplicateKeys(one, two) { !(one && two && typeof one === 'object' && typeof two === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : invariant(false) : void 0; for (var key in two) { if (two.hasOwnProperty(key)) { !(one[key] === undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): ' + 'Tried to merge two objects with the same key: `%s`. This conflict ' + 'may be due to a mixin; in particular, this may be caused by two ' + 'getInitialState() or getDefaultProps() methods returning objects ' + 'with clashing keys.', key) : invariant(false) : void 0; one[key] = two[key]; } } return one; } /** * Creates a function that invokes two functions and merges their return values. * * @param {function} one Function to invoke first. * @param {function} two Function to invoke second. * @return {function} Function that invokes the two argument functions. * @private */ function createMergedResultFunction(one, two) { return function mergedResult() { var a = one.apply(this, arguments); var b = two.apply(this, arguments); if (a == null) { return b; } else if (b == null) { return a; } var c = {}; mergeIntoWithNoDuplicateKeys(c, a); mergeIntoWithNoDuplicateKeys(c, b); return c; }; } /** * Creates a function that invokes two functions and ignores their return vales. * * @param {function} one Function to invoke first. * @param {function} two Function to invoke second. * @return {function} Function that invokes the two argument functions. * @private */ function createChainedFunction(one, two) { return function chainedFunction() { one.apply(this, arguments); two.apply(this, arguments); }; } /** * Binds a method to the component. * * @param {object} component Component whose method is going to be bound. * @param {function} method Method to be bound. * @return {function} The bound method. */ function bindAutoBindMethod(component, method) { var boundMethod = method.bind(component); if (process.env.NODE_ENV !== 'production') { boundMethod.__reactBoundContext = component; boundMethod.__reactBoundMethod = method; boundMethod.__reactBoundArguments = null; var componentName = component.constructor.displayName; var _bind = boundMethod.bind; boundMethod.bind = function (newThis) { for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } // User is trying to bind() an autobound method; we effectively will // ignore the value of "this" that the user is trying to use, so // let's warn. if (newThis !== component && newThis !== null) { process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : void 0; } else if (!args.length) { process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : void 0; return boundMethod; } var reboundMethod = _bind.apply(boundMethod, arguments); reboundMethod.__reactBoundContext = component; reboundMethod.__reactBoundMethod = method; reboundMethod.__reactBoundArguments = args; return reboundMethod; }; } return boundMethod; } /** * Binds all auto-bound methods in a component. * * @param {object} component Component whose method is going to be bound. */ function bindAutoBindMethods(component) { var pairs = component.__reactAutoBindPairs; for (var i = 0; i < pairs.length; i += 2) { var autoBindKey = pairs[i]; var method = pairs[i + 1]; component[autoBindKey] = bindAutoBindMethod(component, method); } } /** * Add more to the ReactClass base class. These are all legacy features and * therefore not already part of the modern ReactComponent. */ var ReactClassMixin = { /** * TODO: This will be deprecated because state should always keep a consistent * type signature and the only use case for this, is to avoid that. */ replaceState: function (newState, callback) { this.updater.enqueueReplaceState(this, newState); if (callback) { this.updater.enqueueCallback(this, callback, 'replaceState'); } }, /** * Checks whether or not this composite component is mounted. * @return {boolean} True if mounted, false otherwise. * @protected * @final */ isMounted: function () { return this.updater.isMounted(this); } }; var ReactClassComponent = function () {}; _assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin); /** * Module for creating composite components. * * @class ReactClass */ var ReactClass = { /** * Creates a composite component class given a class specification. * * @param {object} spec Class specification (which must define `render`). * @return {function} Component constructor function. * @public */ createClass: function (spec) { var Constructor = function (props, context, updater) { // This constructor gets overridden by mocks. The argument is used // by mocks to assert on what gets mounted. if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : void 0; } // Wire up auto-binding if (this.__reactAutoBindPairs.length) { bindAutoBindMethods(this); } this.props = props; this.context = context; this.refs = emptyObject; this.updater = updater || ReactNoopUpdateQueue; this.state = null; // ReactClasses doesn't have constructors. Instead, they use the // getInitialState and componentWillMount methods for initialization. var initialState = this.getInitialState ? this.getInitialState() : null; if (process.env.NODE_ENV !== 'production') { // We allow auto-mocks to proceed as if they're returning null. if (initialState === undefined && this.getInitialState._isMockFunction) { // This is probably bad practice. Consider warning here and // deprecating this convenience. initialState = null; } } !(typeof initialState === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : invariant(false) : void 0; this.state = initialState; }; Constructor.prototype = new ReactClassComponent(); Constructor.prototype.constructor = Constructor; Constructor.prototype.__reactAutoBindPairs = []; injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor)); mixSpecIntoComponent(Constructor, spec); // Initialize the defaultProps property after all mixins have been merged. if (Constructor.getDefaultProps) { Constructor.defaultProps = Constructor.getDefaultProps(); } if (process.env.NODE_ENV !== 'production') { // This is a tag to indicate that the use of these method names is ok, // since it's used with createClass. If it's not, then it's likely a // mistake so we'll warn you to use the static property, property // initializer or constructor respectively. if (Constructor.getDefaultProps) { Constructor.getDefaultProps.isReactClassApproved = {}; } if (Constructor.prototype.getInitialState) { Constructor.prototype.getInitialState.isReactClassApproved = {}; } } !Constructor.prototype.render ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createClass(...): Class specification must implement a `render` method.') : invariant(false) : void 0; if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component') : void 0; process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component') : void 0; } // Reduce time spent doing lookups by setting these on the prototype. for (var methodName in ReactClassInterface) { if (!Constructor.prototype[methodName]) { Constructor.prototype[methodName] = null; } } return Constructor; }, injection: { injectMixin: function (mixin) { injectedMixins.push(mixin); } } }; module.exports = ReactClass; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 23 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPropTypeLocations */ 'use strict'; var keyMirror = __webpack_require__(24); var ReactPropTypeLocations = keyMirror({ prop: null, context: null, childContext: null }); module.exports = ReactPropTypeLocations; /***/ }, /* 24 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @typechecks static-only */ 'use strict'; var invariant = __webpack_require__(7); /** * Constructs an enumeration with keys equal to their value. * * For example: * * var COLORS = keyMirror({blue: null, red: null}); * var myColor = COLORS.blue; * var isColorValid = !!COLORS[myColor]; * * The last line could not be performed if the values of the generated enum were * not equal to their keys. * * Input: {key1: val1, key2: val2} * Output: {key1: key1, key2: key2} * * @param {object} obj * @return {object} */ var keyMirror = function (obj) { var ret = {}; var key; !(obj instanceof Object && !Array.isArray(obj)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'keyMirror(...): Argument must be an object.') : invariant(false) : void 0; for (key in obj) { if (!obj.hasOwnProperty(key)) { continue; } ret[key] = key; } return ret; }; module.exports = keyMirror; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 25 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPropTypeLocationNames */ 'use strict'; var ReactPropTypeLocationNames = {}; if (process.env.NODE_ENV !== 'production') { ReactPropTypeLocationNames = { prop: 'prop', context: 'context', childContext: 'child context' }; } module.exports = ReactPropTypeLocationNames; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 26 */ /***/ function(module, exports) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ /** * Allows extraction of a minified key. Let's the build system minify keys * without losing the ability to dynamically use key strings as values * themselves. Pass in an object with a single key/val pair and it will return * you the string key of that single record. Suppose you want to grab the * value for a key 'className' inside of an object. Key/val minification may * have aliased that key to be 'xa12'. keyOf({className: null}) will return * 'xa12' in that case. Resolve keys you want to use once at startup time, then * reuse those resolutions. */ var keyOf = function (oneKeyObj) { var key; for (key in oneKeyObj) { if (!oneKeyObj.hasOwnProperty(key)) { continue; } return key; } return null; }; module.exports = keyOf; /***/ }, /* 27 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOMFactories */ 'use strict'; var ReactElement = __webpack_require__(8); var ReactElementValidator = __webpack_require__(28); var mapObject = __webpack_require__(29); /** * Create a factory that creates HTML tag elements. * * @param {string} tag Tag name (e.g. `div`). * @private */ function createDOMFactory(tag) { if (process.env.NODE_ENV !== 'production') { return ReactElementValidator.createFactory(tag); } return ReactElement.createFactory(tag); } /** * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes. * This is also accessible via `React.DOM`. * * @public */ var ReactDOMFactories = mapObject({ a: 'a', abbr: 'abbr', address: 'address', area: 'area', article: 'article', aside: 'aside', audio: 'audio', b: 'b', base: 'base', bdi: 'bdi', bdo: 'bdo', big: 'big', blockquote: 'blockquote', body: 'body', br: 'br', button: 'button', canvas: 'canvas', caption: 'caption', cite: 'cite', code: 'code', col: 'col', colgroup: 'colgroup', data: 'data', datalist: 'datalist', dd: 'dd', del: 'del', details: 'details', dfn: 'dfn', dialog: 'dialog', div: 'div', dl: 'dl', dt: 'dt', em: 'em', embed: 'embed', fieldset: 'fieldset', figcaption: 'figcaption', figure: 'figure', footer: 'footer', form: 'form', h1: 'h1', h2: 'h2', h3: 'h3', h4: 'h4', h5: 'h5', h6: 'h6', head: 'head', header: 'header', hgroup: 'hgroup', hr: 'hr', html: 'html', i: 'i', iframe: 'iframe', img: 'img', input: 'input', ins: 'ins', kbd: 'kbd', keygen: 'keygen', label: 'label', legend: 'legend', li: 'li', link: 'link', main: 'main', map: 'map', mark: 'mark', menu: 'menu', menuitem: 'menuitem', meta: 'meta', meter: 'meter', nav: 'nav', noscript: 'noscript', object: 'object', ol: 'ol', optgroup: 'optgroup', option: 'option', output: 'output', p: 'p', param: 'param', picture: 'picture', pre: 'pre', progress: 'progress', q: 'q', rp: 'rp', rt: 'rt', ruby: 'ruby', s: 's', samp: 'samp', script: 'script', section: 'section', select: 'select', small: 'small', source: 'source', span: 'span', strong: 'strong', style: 'style', sub: 'sub', summary: 'summary', sup: 'sup', table: 'table', tbody: 'tbody', td: 'td', textarea: 'textarea', tfoot: 'tfoot', th: 'th', thead: 'thead', time: 'time', title: 'title', tr: 'tr', track: 'track', u: 'u', ul: 'ul', 'var': 'var', video: 'video', wbr: 'wbr', // SVG circle: 'circle', clipPath: 'clipPath', defs: 'defs', ellipse: 'ellipse', g: 'g', image: 'image', line: 'line', linearGradient: 'linearGradient', mask: 'mask', path: 'path', pattern: 'pattern', polygon: 'polygon', polyline: 'polyline', radialGradient: 'radialGradient', rect: 'rect', stop: 'stop', svg: 'svg', text: 'text', tspan: 'tspan' }, createDOMFactory); module.exports = ReactDOMFactories; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 28 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactElementValidator */ /** * ReactElementValidator provides a wrapper around a element factory * which validates the props passed to the element. This is intended to be * used only in DEV and could be replaced by a static type checker for languages * that support it. */ 'use strict'; var ReactElement = __webpack_require__(8); var ReactPropTypeLocations = __webpack_require__(23); var ReactPropTypeLocationNames = __webpack_require__(25); var ReactCurrentOwner = __webpack_require__(9); var canDefineProperty = __webpack_require__(12); var getIteratorFn = __webpack_require__(14); var invariant = __webpack_require__(7); var warning = __webpack_require__(10); function getDeclarationErrorAddendum() { if (ReactCurrentOwner.current) { var name = ReactCurrentOwner.current.getName(); if (name) { return ' Check the render method of `' + name + '`.'; } } return ''; } /** * Warn if there's no key explicitly set on dynamic arrays of children or * object keys are not valid. This allows us to keep track of children between * updates. */ var ownerHasKeyUseWarning = {}; var loggedTypeFailures = {}; /** * Warn if the element doesn't have an explicit key assigned to it. * This element is in an array. The array could grow and shrink or be * reordered. All children that haven't already been validated are required to * have a "key" property assigned to it. * * @internal * @param {ReactElement} element Element that requires a key. * @param {*} parentType element's parent's type. */ function validateExplicitKey(element, parentType) { if (!element._store || element._store.validated || element.key != null) { return; } element._store.validated = true; var addenda = getAddendaForKeyUse('uniqueKey', element, parentType); if (addenda === null) { // we already showed the warning return; } process.env.NODE_ENV !== 'production' ? warning(false, 'Each child in an array or iterator should have a unique "key" prop.' + '%s%s%s', addenda.parentOrOwner || '', addenda.childOwner || '', addenda.url || '') : void 0; } /** * Shared warning and monitoring code for the key warnings. * * @internal * @param {string} messageType A key used for de-duping warnings. * @param {ReactElement} element Component that requires a key. * @param {*} parentType element's parent's type. * @returns {?object} A set of addenda to use in the warning message, or null * if the warning has already been shown before (and shouldn't be shown again). */ function getAddendaForKeyUse(messageType, element, parentType) { var addendum = getDeclarationErrorAddendum(); if (!addendum) { var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name; if (parentName) { addendum = ' Check the top-level render call using <' + parentName + '>.'; } } var memoizer = ownerHasKeyUseWarning[messageType] || (ownerHasKeyUseWarning[messageType] = {}); if (memoizer[addendum]) { return null; } memoizer[addendum] = true; var addenda = { parentOrOwner: addendum, url: ' See https://fb.me/react-warning-keys for more information.', childOwner: null }; // Usually the current owner is the offender, but if it accepts children as a // property, it may be the creator of the child that's responsible for // assigning it a key. if (element && element._owner && element._owner !== ReactCurrentOwner.current) { // Give the component that originally created this child. addenda.childOwner = ' It was passed a child from ' + element._owner.getName() + '.'; } return addenda; } /** * Ensure that every element either is passed in a static location, in an * array with an explicit keys property defined, or in an object literal * with valid key property. * * @internal * @param {ReactNode} node Statically passed child of any type. * @param {*} parentType node's parent's type. */ function validateChildKeys(node, parentType) { if (typeof node !== 'object') { return; } if (Array.isArray(node)) { for (var i = 0; i < node.length; i++) { var child = node[i]; if (ReactElement.isValidElement(child)) { validateExplicitKey(child, parentType); } } } else if (ReactElement.isValidElement(node)) { // This element was passed in a valid location. if (node._store) { node._store.validated = true; } } else if (node) { var iteratorFn = getIteratorFn(node); // Entry iterators provide implicit keys. if (iteratorFn) { if (iteratorFn !== node.entries) { var iterator = iteratorFn.call(node); var step; while (!(step = iterator.next()).done) { if (ReactElement.isValidElement(step.value)) { validateExplicitKey(step.value, parentType); } } } } } } /** * Assert that the props are valid * * @param {string} componentName Name of the component for error messages. * @param {object} propTypes Map of prop name to a ReactPropType * @param {object} props * @param {string} location e.g. "prop", "context", "child context" * @private */ function checkPropTypes(componentName, propTypes, props, location) { for (var propName in propTypes) { if (propTypes.hasOwnProperty(propName)) { var error; // Prop type validation may throw. In case they do, we don't want to // fail the render phase where it didn't fail before. So we log it. // After these have been cleaned up, we'll let them throw. try { // This is intentionally an invariant that gets caught. It's the same // behavior as without this statement except with a better message. !(typeof propTypes[propName] === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], propName) : invariant(false) : void 0; error = propTypes[propName](props, propName, componentName, location); } catch (ex) { error = ex; } process.env.NODE_ENV !== 'production' ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', ReactPropTypeLocationNames[location], propName, typeof error) : void 0; if (error instanceof Error && !(error.message in loggedTypeFailures)) { // Only monitor this failure once because there tends to be a lot of the // same error. loggedTypeFailures[error.message] = true; var addendum = getDeclarationErrorAddendum(); process.env.NODE_ENV !== 'production' ? warning(false, 'Failed propType: %s%s', error.message, addendum) : void 0; } } } } /** * Given an element, validate that its props follow the propTypes definition, * provided by the type. * * @param {ReactElement} element */ function validatePropTypes(element) { var componentClass = element.type; if (typeof componentClass !== 'function') { return; } var name = componentClass.displayName || componentClass.name; if (componentClass.propTypes) { checkPropTypes(name, componentClass.propTypes, element.props, ReactPropTypeLocations.prop); } if (typeof componentClass.getDefaultProps === 'function') { process.env.NODE_ENV !== 'production' ? warning(componentClass.getDefaultProps.isReactClassApproved, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : void 0; } } var ReactElementValidator = { createElement: function (type, props, children) { var validType = typeof type === 'string' || typeof type === 'function'; // We warn in this case but don't throw. We expect the element creation to // succeed and there will likely be errors in render. process.env.NODE_ENV !== 'production' ? warning(validType, 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : void 0; var element = ReactElement.createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used. // TODO: Drop this when these are no longer allowed as the type argument. if (element == null) { return element; } // Skip key warning if the type isn't valid since our key validation logic // doesn't expect a non-string/function type and can throw confusing errors. // We don't want exception behavior to differ between dev and prod. // (Rendering will throw with a helpful message and as soon as the type is // fixed, the key warnings will appear.) if (validType) { for (var i = 2; i < arguments.length; i++) { validateChildKeys(arguments[i], type); } } validatePropTypes(element); return element; }, createFactory: function (type) { var validatedFactory = ReactElementValidator.createElement.bind(null, type); // Legacy hook TODO: Warn if this is accessed validatedFactory.type = type; if (process.env.NODE_ENV !== 'production') { if (canDefineProperty) { Object.defineProperty(validatedFactory, 'type', { enumerable: false, get: function () { process.env.NODE_ENV !== 'production' ? warning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.') : void 0; Object.defineProperty(this, 'type', { value: type }); return type; } }); } } return validatedFactory; }, cloneElement: function (element, props, children) { var newElement = ReactElement.cloneElement.apply(this, arguments); for (var i = 2; i < arguments.length; i++) { validateChildKeys(arguments[i], newElement.type); } validatePropTypes(newElement); return newElement; } }; module.exports = ReactElementValidator; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 29 */ /***/ function(module, exports) { /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var hasOwnProperty = Object.prototype.hasOwnProperty; /** * Executes the provided `callback` once for each enumerable own property in the * object and constructs a new object from the results. The `callback` is * invoked with three arguments: * * - the property value * - the property name * - the object being traversed * * Properties that are added after the call to `mapObject` will not be visited * by `callback`. If the values of existing properties are changed, the value * passed to `callback` will be the value at the time `mapObject` visits them. * Properties that are deleted before being visited are not visited. * * @grep function objectMap() * @grep function objMap() * * @param {?object} object * @param {function} callback * @param {*} context * @return {?object} */ function mapObject(object, callback, context) { if (!object) { return null; } var result = {}; for (var name in object) { if (hasOwnProperty.call(object, name)) { result[name] = callback.call(context, object[name], name, object); } } return result; } module.exports = mapObject; /***/ }, /* 30 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPropTypes */ 'use strict'; var ReactElement = __webpack_require__(8); var ReactPropTypeLocationNames = __webpack_require__(25); var emptyFunction = __webpack_require__(11); var getIteratorFn = __webpack_require__(14); /** * Collection of methods that allow declaration and validation of props that are * supplied to React components. Example usage: * * var Props = require('ReactPropTypes'); * var MyArticle = React.createClass({ * propTypes: { * // An optional string prop named "description". * description: Props.string, * * // A required enum prop named "category". * category: Props.oneOf(['News','Photos']).isRequired, * * // A prop named "dialog" that requires an instance of Dialog. * dialog: Props.instanceOf(Dialog).isRequired * }, * render: function() { ... } * }); * * A more formal specification of how these methods are used: * * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) * decl := ReactPropTypes.{type}(.isRequired)? * * Each and every declaration produces a function with the same signature. This * allows the creation of custom validation functions. For example: * * var MyLink = React.createClass({ * propTypes: { * // An optional string or URI prop named "href". * href: function(props, propName, componentName) { * var propValue = props[propName]; * if (propValue != null && typeof propValue !== 'string' && * !(propValue instanceof URI)) { * return new Error( * 'Expected a string or an URI for ' + propName + ' in ' + * componentName * ); * } * } * }, * render: function() {...} * }); * * @internal */ var ANONYMOUS = '<>'; var ReactPropTypes = { array: createPrimitiveTypeChecker('array'), bool: createPrimitiveTypeChecker('boolean'), func: createPrimitiveTypeChecker('function'), number: createPrimitiveTypeChecker('number'), object: createPrimitiveTypeChecker('object'), string: createPrimitiveTypeChecker('string'), any: createAnyTypeChecker(), arrayOf: createArrayOfTypeChecker, element: createElementTypeChecker(), instanceOf: createInstanceTypeChecker, node: createNodeChecker(), objectOf: createObjectOfTypeChecker, oneOf: createEnumTypeChecker, oneOfType: createUnionTypeChecker, shape: createShapeTypeChecker }; /** * inlined Object.is polyfill to avoid requiring consumers ship their own * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is */ /*eslint-disable no-self-compare*/ function is(x, y) { // SameValue algorithm if (x === y) { // Steps 1-5, 7-10 // Steps 6.b-6.e: +0 != -0 return x !== 0 || 1 / x === 1 / y; } else { // Step 6.a: NaN == NaN return x !== x && y !== y; } } /*eslint-enable no-self-compare*/ function createChainableTypeChecker(validate) { function checkType(isRequired, props, propName, componentName, location, propFullName) { componentName = componentName || ANONYMOUS; propFullName = propFullName || propName; if (props[propName] == null) { var locationName = ReactPropTypeLocationNames[location]; if (isRequired) { return new Error('Required ' + locationName + ' `' + propFullName + '` was not specified in ' + ('`' + componentName + '`.')); } return null; } else { return validate(props, propName, componentName, location, propFullName); } } var chainedCheckType = checkType.bind(null, false); chainedCheckType.isRequired = checkType.bind(null, true); return chainedCheckType; } function createPrimitiveTypeChecker(expectedType) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== expectedType) { var locationName = ReactPropTypeLocationNames[location]; // `propValue` being instance of, say, date/regexp, pass the 'object' // check, but we can offer a more precise error message here rather than // 'of type `object`'. var preciseType = getPreciseType(propValue); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); } return null; } return createChainableTypeChecker(validate); } function createAnyTypeChecker() { return createChainableTypeChecker(emptyFunction.thatReturns(null)); } function createArrayOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new Error('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); } var propValue = props[propName]; if (!Array.isArray(propValue)) { var locationName = ReactPropTypeLocationNames[location]; var propType = getPropType(propValue); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); } for (var i = 0; i < propValue.length; i++) { var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']'); if (error instanceof Error) { return error; } } return null; } return createChainableTypeChecker(validate); } function createElementTypeChecker() { function validate(props, propName, componentName, location, propFullName) { if (!ReactElement.isValidElement(props[propName])) { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a single ReactElement.')); } return null; } return createChainableTypeChecker(validate); } function createInstanceTypeChecker(expectedClass) { function validate(props, propName, componentName, location, propFullName) { if (!(props[propName] instanceof expectedClass)) { var locationName = ReactPropTypeLocationNames[location]; var expectedClassName = expectedClass.name || ANONYMOUS; var actualClassName = getClassName(props[propName]); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); } return null; } return createChainableTypeChecker(validate); } function createEnumTypeChecker(expectedValues) { if (!Array.isArray(expectedValues)) { return createChainableTypeChecker(function () { return new Error('Invalid argument supplied to oneOf, expected an instance of array.'); }); } function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; for (var i = 0; i < expectedValues.length; i++) { if (is(propValue, expectedValues[i])) { return null; } } var locationName = ReactPropTypeLocationNames[location]; var valuesString = JSON.stringify(expectedValues); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); } return createChainableTypeChecker(validate); } function createObjectOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new Error('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); } var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); } for (var key in propValue) { if (propValue.hasOwnProperty(key)) { var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key); if (error instanceof Error) { return error; } } } return null; } return createChainableTypeChecker(validate); } function createUnionTypeChecker(arrayOfTypeCheckers) { if (!Array.isArray(arrayOfTypeCheckers)) { return createChainableTypeChecker(function () { return new Error('Invalid argument supplied to oneOfType, expected an instance of array.'); }); } function validate(props, propName, componentName, location, propFullName) { for (var i = 0; i < arrayOfTypeCheckers.length; i++) { var checker = arrayOfTypeCheckers[i]; if (checker(props, propName, componentName, location, propFullName) == null) { return null; } } var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); } return createChainableTypeChecker(validate); } function createNodeChecker() { function validate(props, propName, componentName, location, propFullName) { if (!isNode(props[propName])) { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); } return null; } return createChainableTypeChecker(validate); } function createShapeTypeChecker(shapeTypes) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); } for (var key in shapeTypes) { var checker = shapeTypes[key]; if (!checker) { continue; } var error = checker(propValue, key, componentName, location, propFullName + '.' + key); if (error) { return error; } } return null; } return createChainableTypeChecker(validate); } function isNode(propValue) { switch (typeof propValue) { case 'number': case 'string': case 'undefined': return true; case 'boolean': return !propValue; case 'object': if (Array.isArray(propValue)) { return propValue.every(isNode); } if (propValue === null || ReactElement.isValidElement(propValue)) { return true; } var iteratorFn = getIteratorFn(propValue); if (iteratorFn) { var iterator = iteratorFn.call(propValue); var step; if (iteratorFn !== propValue.entries) { while (!(step = iterator.next()).done) { if (!isNode(step.value)) { return false; } } } else { // Iterator will provide entry [k,v] tuples rather than values. while (!(step = iterator.next()).done) { var entry = step.value; if (entry) { if (!isNode(entry[1])) { return false; } } } } } else { return false; } return true; default: return false; } } // Equivalent of `typeof` but with special handling for array and regexp. function getPropType(propValue) { var propType = typeof propValue; if (Array.isArray(propValue)) { return 'array'; } if (propValue instanceof RegExp) { // Old webkits (at least until Android 4.0) return 'function' rather than // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ // passes PropTypes.object. return 'object'; } return propType; } // This handles more types than `getPropType`. Only used for error messages. // See `createPrimitiveTypeChecker`. function getPreciseType(propValue) { var propType = getPropType(propValue); if (propType === 'object') { if (propValue instanceof Date) { return 'date'; } else if (propValue instanceof RegExp) { return 'regexp'; } } return propType; } // Returns class name of the object, if any. function getClassName(propValue) { if (!propValue.constructor || !propValue.constructor.name) { return ANONYMOUS; } return propValue.constructor.name; } module.exports = ReactPropTypes; /***/ }, /* 31 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactVersion */ 'use strict'; module.exports = '15.0.2'; /***/ }, /* 32 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule onlyChild */ 'use strict'; var ReactElement = __webpack_require__(8); var invariant = __webpack_require__(7); /** * Returns the first child in a collection of children and verifies that there * is only one child in the collection. The current implementation of this * function assumes that a single child gets passed without a wrapper, but the * purpose of this helper function is to abstract away the particular structure * of children. * * @param {?object} children Child collection structure. * @return {ReactElement} The first and only `ReactElement` contained in the * structure. */ function onlyChild(children) { !ReactElement.isValidElement(children) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'onlyChild must be passed a children with exactly one child.') : invariant(false) : void 0; return children; } module.exports = onlyChild; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 33 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; module.exports = __webpack_require__(34); /***/ }, /* 34 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOM */ /* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/ 'use strict'; var ReactDOMComponentTree = __webpack_require__(35); var ReactDefaultInjection = __webpack_require__(38); var ReactMount = __webpack_require__(158); var ReactPerf = __webpack_require__(58); var ReactReconciler = __webpack_require__(59); var ReactUpdates = __webpack_require__(55); var ReactVersion = __webpack_require__(31); var findDOMNode = __webpack_require__(165); var getNativeComponentFromComposite = __webpack_require__(166); var renderSubtreeIntoContainer = __webpack_require__(167); var warning = __webpack_require__(10); ReactDefaultInjection.inject(); var render = ReactPerf.measure('React', 'render', ReactMount.render); var React = { findDOMNode: findDOMNode, render: render, unmountComponentAtNode: ReactMount.unmountComponentAtNode, version: ReactVersion, /* eslint-disable camelcase */ unstable_batchedUpdates: ReactUpdates.batchedUpdates, unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer }; // Inject the runtime into a devtools global hook regardless of browser. // Allows for debugging when the hook is injected on the page. /* eslint-enable camelcase */ if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') { __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ ComponentTree: { getClosestInstanceFromNode: ReactDOMComponentTree.getClosestInstanceFromNode, getNodeFromInstance: function (inst) { // inst is an internal instance (but could be a composite) if (inst._renderedComponent) { inst = getNativeComponentFromComposite(inst); } if (inst) { return ReactDOMComponentTree.getNodeFromInstance(inst); } else { return null; } } }, Mount: ReactMount, Reconciler: ReactReconciler }); } if (process.env.NODE_ENV !== 'production') { var ExecutionEnvironment = __webpack_require__(48); if (ExecutionEnvironment.canUseDOM && window.top === window.self) { // First check if devtools is not installed if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') { // If we're in Chrome or Firefox, provide a download link if not installed. if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) { // Firefox does not have the issue with devtools loaded over file:// var showFileUrlMessage = window.location.protocol.indexOf('http') === -1 && navigator.userAgent.indexOf('Firefox') === -1; console.debug('Download the React DevTools ' + (showFileUrlMessage ? 'and use an HTTP server (instead of a file: URL) ' : '') + 'for a better development experience: ' + 'https://fb.me/react-devtools'); } } var testFunc = function testFn() {}; process.env.NODE_ENV !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, 'It looks like you\'re using a minified copy of the development build ' + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0; // If we're in IE8, check to see if we are in compatibility mode and provide // information on preventing compatibility mode var ieCompatibilityMode = document.documentMode && document.documentMode < 8; process.env.NODE_ENV !== 'production' ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '') : void 0; var expectedFeatures = [ // shims Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.split, String.prototype.trim]; for (var i = 0; i < expectedFeatures.length; i++) { if (!expectedFeatures[i]) { process.env.NODE_ENV !== 'production' ? warning(false, 'One or more ES5 shims expected by React are not available: ' + 'https://fb.me/react-warning-polyfills') : void 0; break; } } } } module.exports = React; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 35 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOMComponentTree */ 'use strict'; var DOMProperty = __webpack_require__(36); var ReactDOMComponentFlags = __webpack_require__(37); var invariant = __webpack_require__(7); var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME; var Flags = ReactDOMComponentFlags; var internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2); /** * Drill down (through composites and empty components) until we get a native or * native text component. * * This is pretty polymorphic but unavoidable with the current structure we have * for `_renderedChildren`. */ function getRenderedNativeOrTextFromComponent(component) { var rendered; while (rendered = component._renderedComponent) { component = rendered; } return component; } /** * Populate `_nativeNode` on the rendered native/text component with the given * DOM node. The passed `inst` can be a composite. */ function precacheNode(inst, node) { var nativeInst = getRenderedNativeOrTextFromComponent(inst); nativeInst._nativeNode = node; node[internalInstanceKey] = nativeInst; } function uncacheNode(inst) { var node = inst._nativeNode; if (node) { delete node[internalInstanceKey]; inst._nativeNode = null; } } /** * Populate `_nativeNode` on each child of `inst`, assuming that the children * match up with the DOM (element) children of `node`. * * We cache entire levels at once to avoid an n^2 problem where we access the * children of a node sequentially and have to walk from the start to our target * node every time. * * Since we update `_renderedChildren` and the actual DOM at (slightly) * different times, we could race here and see a newer `_renderedChildren` than * the DOM nodes we see. To avoid this, ReactMultiChild calls * `prepareToManageChildren` before we change `_renderedChildren`, at which * time the container's child nodes are always cached (until it unmounts). */ function precacheChildNodes(inst, node) { if (inst._flags & Flags.hasCachedChildNodes) { return; } var children = inst._renderedChildren; var childNode = node.firstChild; outer: for (var name in children) { if (!children.hasOwnProperty(name)) { continue; } var childInst = children[name]; var childID = getRenderedNativeOrTextFromComponent(childInst)._domID; if (childID == null) { // We're currently unmounting this child in ReactMultiChild; skip it. continue; } // We assume the child nodes are in the same order as the child instances. for (; childNode !== null; childNode = childNode.nextSibling) { if (childNode.nodeType === 1 && childNode.getAttribute(ATTR_NAME) === String(childID) || childNode.nodeType === 8 && childNode.nodeValue === ' react-text: ' + childID + ' ' || childNode.nodeType === 8 && childNode.nodeValue === ' react-empty: ' + childID + ' ') { precacheNode(childInst, childNode); continue outer; } } // We reached the end of the DOM children without finding an ID match. true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unable to find element with ID %s.', childID) : invariant(false) : void 0; } inst._flags |= Flags.hasCachedChildNodes; } /** * Given a DOM node, return the closest ReactDOMComponent or * ReactDOMTextComponent instance ancestor. */ function getClosestInstanceFromNode(node) { if (node[internalInstanceKey]) { return node[internalInstanceKey]; } // Walk up the tree until we find an ancestor whose instance we have cached. var parents = []; while (!node[internalInstanceKey]) { parents.push(node); if (node.parentNode) { node = node.parentNode; } else { // Top of the tree. This node must not be part of a React tree (or is // unmounted, potentially). return null; } } var closest; var inst; for (; node && (inst = node[internalInstanceKey]); node = parents.pop()) { closest = inst; if (parents.length) { precacheChildNodes(inst, node); } } return closest; } /** * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent * instance, or null if the node was not rendered by this React. */ function getInstanceFromNode(node) { var inst = getClosestInstanceFromNode(node); if (inst != null && inst._nativeNode === node) { return inst; } else { return null; } } /** * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding * DOM node. */ function getNodeFromInstance(inst) { // Without this first invariant, passing a non-DOM-component triggers the next // invariant for a missing parent, which is super confusing. !(inst._nativeNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : invariant(false) : void 0; if (inst._nativeNode) { return inst._nativeNode; } // Walk up the tree until we find an ancestor whose DOM node we have cached. var parents = []; while (!inst._nativeNode) { parents.push(inst); !inst._nativeParent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React DOM tree root should always have a node reference.') : invariant(false) : void 0; inst = inst._nativeParent; } // Now parents contains each ancestor that does *not* have a cached native // node, and `inst` is the deepest ancestor that does. for (; parents.length; inst = parents.pop()) { precacheChildNodes(inst, inst._nativeNode); } return inst._nativeNode; } var ReactDOMComponentTree = { getClosestInstanceFromNode: getClosestInstanceFromNode, getInstanceFromNode: getInstanceFromNode, getNodeFromInstance: getNodeFromInstance, precacheChildNodes: precacheChildNodes, precacheNode: precacheNode, uncacheNode: uncacheNode }; module.exports = ReactDOMComponentTree; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 36 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DOMProperty */ 'use strict'; var invariant = __webpack_require__(7); function checkMask(value, bitmask) { return (value & bitmask) === bitmask; } var DOMPropertyInjection = { /** * Mapping from normalized, camelcased property names to a configuration that * specifies how the associated DOM property should be accessed or rendered. */ MUST_USE_PROPERTY: 0x1, HAS_SIDE_EFFECTS: 0x2, HAS_BOOLEAN_VALUE: 0x4, HAS_NUMERIC_VALUE: 0x8, HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8, HAS_OVERLOADED_BOOLEAN_VALUE: 0x20, /** * Inject some specialized knowledge about the DOM. This takes a config object * with the following properties: * * isCustomAttribute: function that given an attribute name will return true * if it can be inserted into the DOM verbatim. Useful for data-* or aria-* * attributes where it's impossible to enumerate all of the possible * attribute names, * * Properties: object mapping DOM property name to one of the * DOMPropertyInjection constants or null. If your attribute isn't in here, * it won't get written to the DOM. * * DOMAttributeNames: object mapping React attribute name to the DOM * attribute name. Attribute names not specified use the **lowercase** * normalized name. * * DOMAttributeNamespaces: object mapping React attribute name to the DOM * attribute namespace URL. (Attribute names not specified use no namespace.) * * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties. * Property names not specified use the normalized name. * * DOMMutationMethods: Properties that require special mutation methods. If * `value` is undefined, the mutation method should unset the property. * * @param {object} domPropertyConfig the config as described above. */ injectDOMPropertyConfig: function (domPropertyConfig) { var Injection = DOMPropertyInjection; var Properties = domPropertyConfig.Properties || {}; var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {}; var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {}; var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {}; var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {}; if (domPropertyConfig.isCustomAttribute) { DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute); } for (var propName in Properties) { !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'injectDOMPropertyConfig(...): You\'re trying to inject DOM property ' + '\'%s\' which has already been injected. You may be accidentally ' + 'injecting the same DOM property config twice, or you may be ' + 'injecting two configs that have conflicting property names.', propName) : invariant(false) : void 0; var lowerCased = propName.toLowerCase(); var propConfig = Properties[propName]; var propertyInfo = { attributeName: lowerCased, attributeNamespace: null, propertyName: propName, mutationMethod: null, mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY), hasSideEffects: checkMask(propConfig, Injection.HAS_SIDE_EFFECTS), hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE), hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE), hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE), hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE) }; !(propertyInfo.mustUseProperty || !propertyInfo.hasSideEffects) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Properties that have side effects must use property: %s', propName) : invariant(false) : void 0; !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or ' + 'numeric value, but not a combination: %s', propName) : invariant(false) : void 0; if (process.env.NODE_ENV !== 'production') { DOMProperty.getPossibleStandardName[lowerCased] = propName; } if (DOMAttributeNames.hasOwnProperty(propName)) { var attributeName = DOMAttributeNames[propName]; propertyInfo.attributeName = attributeName; if (process.env.NODE_ENV !== 'production') { DOMProperty.getPossibleStandardName[attributeName] = propName; } } if (DOMAttributeNamespaces.hasOwnProperty(propName)) { propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName]; } if (DOMPropertyNames.hasOwnProperty(propName)) { propertyInfo.propertyName = DOMPropertyNames[propName]; } if (DOMMutationMethods.hasOwnProperty(propName)) { propertyInfo.mutationMethod = DOMMutationMethods[propName]; } DOMProperty.properties[propName] = propertyInfo; } } }; /* eslint-disable max-len */ var ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD'; /* eslint-enable max-len */ /** * DOMProperty exports lookup objects that can be used like functions: * * > DOMProperty.isValid['id'] * true * > DOMProperty.isValid['foobar'] * undefined * * Although this may be confusing, it performs better in general. * * @see http://jsperf.com/key-exists * @see http://jsperf.com/key-missing */ var DOMProperty = { ID_ATTRIBUTE_NAME: 'data-reactid', ROOT_ATTRIBUTE_NAME: 'data-reactroot', ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR, ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\uB7\\u0300-\\u036F\\u203F-\\u2040', /** * Map from property "standard name" to an object with info about how to set * the property in the DOM. Each object contains: * * attributeName: * Used when rendering markup or with `*Attribute()`. * attributeNamespace * propertyName: * Used on DOM node instances. (This includes properties that mutate due to * external factors.) * mutationMethod: * If non-null, used instead of the property or `setAttribute()` after * initial render. * mustUseProperty: * Whether the property must be accessed and mutated as an object property. * hasSideEffects: * Whether or not setting a value causes side effects such as triggering * resources to be loaded or text selection changes. If true, we read from * the DOM before updating to ensure that the value is only set if it has * changed. * hasBooleanValue: * Whether the property should be removed when set to a falsey value. * hasNumericValue: * Whether the property must be numeric or parse as a numeric and should be * removed when set to a falsey value. * hasPositiveNumericValue: * Whether the property must be positive numeric or parse as a positive * numeric and should be removed when set to a falsey value. * hasOverloadedBooleanValue: * Whether the property can be used as a flag as well as with a value. * Removed when strictly equal to false; present without a value when * strictly equal to true; present with a value otherwise. */ properties: {}, /** * Mapping from lowercase property names to the properly cased version, used * to warn in the case of missing properties. Available only in __DEV__. * @type {Object} */ getPossibleStandardName: process.env.NODE_ENV !== 'production' ? {} : null, /** * All of the isCustomAttribute() functions that have been injected. */ _isCustomAttributeFunctions: [], /** * Checks whether a property name is a custom attribute. * @method */ isCustomAttribute: function (attributeName) { for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) { var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i]; if (isCustomAttributeFn(attributeName)) { return true; } } return false; }, injection: DOMPropertyInjection }; module.exports = DOMProperty; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 37 */ /***/ function(module, exports) { /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOMComponentFlags */ 'use strict'; var ReactDOMComponentFlags = { hasCachedChildNodes: 1 << 0 }; module.exports = ReactDOMComponentFlags; /***/ }, /* 38 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDefaultInjection */ 'use strict'; var BeforeInputEventPlugin = __webpack_require__(39); var ChangeEventPlugin = __webpack_require__(54); var DefaultEventPluginOrder = __webpack_require__(66); var EnterLeaveEventPlugin = __webpack_require__(67); var ExecutionEnvironment = __webpack_require__(48); var HTMLDOMPropertyConfig = __webpack_require__(72); var ReactComponentBrowserEnvironment = __webpack_require__(73); var ReactDOMComponent = __webpack_require__(86); var ReactDOMComponentTree = __webpack_require__(35); var ReactDOMEmptyComponent = __webpack_require__(127); var ReactDOMTreeTraversal = __webpack_require__(128); var ReactDOMTextComponent = __webpack_require__(129); var ReactDefaultBatchingStrategy = __webpack_require__(130); var ReactEventListener = __webpack_require__(131); var ReactInjection = __webpack_require__(134); var ReactReconcileTransaction = __webpack_require__(135); var SVGDOMPropertyConfig = __webpack_require__(143); var SelectEventPlugin = __webpack_require__(144); var SimpleEventPlugin = __webpack_require__(145); var alreadyInjected = false; function inject() { if (alreadyInjected) { // TODO: This is currently true because these injections are shared between // the client and the server package. They should be built independently // and not share any injection state. Then this problem will be solved. return; } alreadyInjected = true; ReactInjection.EventEmitter.injectReactEventListener(ReactEventListener); /** * Inject modules for resolving DOM hierarchy and plugin ordering. */ ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder); ReactInjection.EventPluginUtils.injectComponentTree(ReactDOMComponentTree); ReactInjection.EventPluginUtils.injectTreeTraversal(ReactDOMTreeTraversal); /** * Some important event plugins included by default (without having to require * them). */ ReactInjection.EventPluginHub.injectEventPluginsByName({ SimpleEventPlugin: SimpleEventPlugin, EnterLeaveEventPlugin: EnterLeaveEventPlugin, ChangeEventPlugin: ChangeEventPlugin, SelectEventPlugin: SelectEventPlugin, BeforeInputEventPlugin: BeforeInputEventPlugin }); ReactInjection.NativeComponent.injectGenericComponentClass(ReactDOMComponent); ReactInjection.NativeComponent.injectTextComponentClass(ReactDOMTextComponent); ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig); ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig); ReactInjection.EmptyComponent.injectEmptyComponentFactory(function (instantiate) { return new ReactDOMEmptyComponent(instantiate); }); ReactInjection.Updates.injectReconcileTransaction(ReactReconcileTransaction); ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy); ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment); if (process.env.NODE_ENV !== 'production') { var url = ExecutionEnvironment.canUseDOM && window.location.href || ''; if (/[?&]react_perf\b/.test(url)) { var ReactDefaultPerf = __webpack_require__(156); ReactDefaultPerf.start(); } } } module.exports = { inject: inject }; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 39 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule BeforeInputEventPlugin */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPropagators = __webpack_require__(41); var ExecutionEnvironment = __webpack_require__(48); var FallbackCompositionState = __webpack_require__(49); var SyntheticCompositionEvent = __webpack_require__(51); var SyntheticInputEvent = __webpack_require__(53); var keyOf = __webpack_require__(26); var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space var START_KEYCODE = 229; var canUseCompositionEvent = ExecutionEnvironment.canUseDOM && 'CompositionEvent' in window; var documentMode = null; if (ExecutionEnvironment.canUseDOM && 'documentMode' in document) { documentMode = document.documentMode; } // Webkit offers a very useful `textInput` event that can be used to // directly represent `beforeInput`. The IE `textinput` event is not as // useful, so we don't use it. var canUseTextInputEvent = ExecutionEnvironment.canUseDOM && 'TextEvent' in window && !documentMode && !isPresto(); // In IE9+, we have access to composition events, but the data supplied // by the native compositionend event may be incorrect. Japanese ideographic // spaces, for instance (\u3000) are not recorded correctly. var useFallbackCompositionData = ExecutionEnvironment.canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11); /** * Opera <= 12 includes TextEvent in window, but does not fire * text input events. Rely on keypress instead. */ function isPresto() { var opera = window.opera; return typeof opera === 'object' && typeof opera.version === 'function' && parseInt(opera.version(), 10) <= 12; } var SPACEBAR_CODE = 32; var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE); var topLevelTypes = EventConstants.topLevelTypes; // Events and their corresponding property names. var eventTypes = { beforeInput: { phasedRegistrationNames: { bubbled: keyOf({ onBeforeInput: null }), captured: keyOf({ onBeforeInputCapture: null }) }, dependencies: [topLevelTypes.topCompositionEnd, topLevelTypes.topKeyPress, topLevelTypes.topTextInput, topLevelTypes.topPaste] }, compositionEnd: { phasedRegistrationNames: { bubbled: keyOf({ onCompositionEnd: null }), captured: keyOf({ onCompositionEndCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionEnd, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] }, compositionStart: { phasedRegistrationNames: { bubbled: keyOf({ onCompositionStart: null }), captured: keyOf({ onCompositionStartCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionStart, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] }, compositionUpdate: { phasedRegistrationNames: { bubbled: keyOf({ onCompositionUpdate: null }), captured: keyOf({ onCompositionUpdateCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionUpdate, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] } }; // Track whether we've ever handled a keypress on the space key. var hasSpaceKeypress = false; /** * Return whether a native keypress event is assumed to be a command. * This is required because Firefox fires `keypress` events for key commands * (cut, copy, select-all, etc.) even though no character is inserted. */ function isKeypressCommand(nativeEvent) { return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command. !(nativeEvent.ctrlKey && nativeEvent.altKey); } /** * Translate native top level events into event types. * * @param {string} topLevelType * @return {object} */ function getCompositionEventType(topLevelType) { switch (topLevelType) { case topLevelTypes.topCompositionStart: return eventTypes.compositionStart; case topLevelTypes.topCompositionEnd: return eventTypes.compositionEnd; case topLevelTypes.topCompositionUpdate: return eventTypes.compositionUpdate; } } /** * Does our fallback best-guess model think this event signifies that * composition has begun? * * @param {string} topLevelType * @param {object} nativeEvent * @return {boolean} */ function isFallbackCompositionStart(topLevelType, nativeEvent) { return topLevelType === topLevelTypes.topKeyDown && nativeEvent.keyCode === START_KEYCODE; } /** * Does our fallback mode think that this event is the end of composition? * * @param {string} topLevelType * @param {object} nativeEvent * @return {boolean} */ function isFallbackCompositionEnd(topLevelType, nativeEvent) { switch (topLevelType) { case topLevelTypes.topKeyUp: // Command keys insert or clear IME input. return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1; case topLevelTypes.topKeyDown: // Expect IME keyCode on each keydown. If we get any other // code we must have exited earlier. return nativeEvent.keyCode !== START_KEYCODE; case topLevelTypes.topKeyPress: case topLevelTypes.topMouseDown: case topLevelTypes.topBlur: // Events are not possible without cancelling IME. return true; default: return false; } } /** * Google Input Tools provides composition data via a CustomEvent, * with the `data` property populated in the `detail` object. If this * is available on the event object, use it. If not, this is a plain * composition event and we have nothing special to extract. * * @param {object} nativeEvent * @return {?string} */ function getDataFromCustomEvent(nativeEvent) { var detail = nativeEvent.detail; if (typeof detail === 'object' && 'data' in detail) { return detail.data; } return null; } // Track the current IME composition fallback object, if any. var currentComposition = null; /** * @return {?object} A SyntheticCompositionEvent. */ function extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { var eventType; var fallbackData; if (canUseCompositionEvent) { eventType = getCompositionEventType(topLevelType); } else if (!currentComposition) { if (isFallbackCompositionStart(topLevelType, nativeEvent)) { eventType = eventTypes.compositionStart; } } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) { eventType = eventTypes.compositionEnd; } if (!eventType) { return null; } if (useFallbackCompositionData) { // The current composition is stored statically and must not be // overwritten while composition continues. if (!currentComposition && eventType === eventTypes.compositionStart) { currentComposition = FallbackCompositionState.getPooled(nativeEventTarget); } else if (eventType === eventTypes.compositionEnd) { if (currentComposition) { fallbackData = currentComposition.getData(); } } } var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget); if (fallbackData) { // Inject data generated from fallback path into the synthetic event. // This matches the property of native CompositionEventInterface. event.data = fallbackData; } else { var customData = getDataFromCustomEvent(nativeEvent); if (customData !== null) { event.data = customData; } } EventPropagators.accumulateTwoPhaseDispatches(event); return event; } /** * @param {string} topLevelType Record from `EventConstants`. * @param {object} nativeEvent Native browser event. * @return {?string} The string corresponding to this `beforeInput` event. */ function getNativeBeforeInputChars(topLevelType, nativeEvent) { switch (topLevelType) { case topLevelTypes.topCompositionEnd: return getDataFromCustomEvent(nativeEvent); case topLevelTypes.topKeyPress: /** * If native `textInput` events are available, our goal is to make * use of them. However, there is a special case: the spacebar key. * In Webkit, preventing default on a spacebar `textInput` event * cancels character insertion, but it *also* causes the browser * to fall back to its default spacebar behavior of scrolling the * page. * * Tracking at: * https://code.google.com/p/chromium/issues/detail?id=355103 * * To avoid this issue, use the keypress event as if no `textInput` * event is available. */ var which = nativeEvent.which; if (which !== SPACEBAR_CODE) { return null; } hasSpaceKeypress = true; return SPACEBAR_CHAR; case topLevelTypes.topTextInput: // Record the characters to be added to the DOM. var chars = nativeEvent.data; // If it's a spacebar character, assume that we have already handled // it at the keypress level and bail immediately. Android Chrome // doesn't give us keycodes, so we need to blacklist it. if (chars === SPACEBAR_CHAR && hasSpaceKeypress) { return null; } return chars; default: // For other native event types, do nothing. return null; } } /** * For browsers that do not provide the `textInput` event, extract the * appropriate string to use for SyntheticInputEvent. * * @param {string} topLevelType Record from `EventConstants`. * @param {object} nativeEvent Native browser event. * @return {?string} The fallback string for this `beforeInput` event. */ function getFallbackBeforeInputChars(topLevelType, nativeEvent) { // If we are currently composing (IME) and using a fallback to do so, // try to extract the composed characters from the fallback object. if (currentComposition) { if (topLevelType === topLevelTypes.topCompositionEnd || isFallbackCompositionEnd(topLevelType, nativeEvent)) { var chars = currentComposition.getData(); FallbackCompositionState.release(currentComposition); currentComposition = null; return chars; } return null; } switch (topLevelType) { case topLevelTypes.topPaste: // If a paste event occurs after a keypress, throw out the input // chars. Paste events should not lead to BeforeInput events. return null; case topLevelTypes.topKeyPress: /** * As of v27, Firefox may fire keypress events even when no character * will be inserted. A few possibilities: * * - `which` is `0`. Arrow keys, Esc key, etc. * * - `which` is the pressed key code, but no char is available. * Ex: 'AltGr + d` in Polish. There is no modified character for * this key combination and no character is inserted into the * document, but FF fires the keypress for char code `100` anyway. * No `input` event will occur. * * - `which` is the pressed key code, but a command combination is * being used. Ex: `Cmd+C`. No character is inserted, and no * `input` event will occur. */ if (nativeEvent.which && !isKeypressCommand(nativeEvent)) { return String.fromCharCode(nativeEvent.which); } return null; case topLevelTypes.topCompositionEnd: return useFallbackCompositionData ? null : nativeEvent.data; default: return null; } } /** * Extract a SyntheticInputEvent for `beforeInput`, based on either native * `textInput` or fallback behavior. * * @return {?object} A SyntheticInputEvent. */ function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { var chars; if (canUseTextInputEvent) { chars = getNativeBeforeInputChars(topLevelType, nativeEvent); } else { chars = getFallbackBeforeInputChars(topLevelType, nativeEvent); } // If no characters are being inserted, no BeforeInput event should // be fired. if (!chars) { return null; } var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget); event.data = chars; EventPropagators.accumulateTwoPhaseDispatches(event); return event; } /** * Create an `onBeforeInput` event to match * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents. * * This event plugin is based on the native `textInput` event * available in Chrome, Safari, Opera, and IE. This event fires after * `onKeyPress` and `onCompositionEnd`, but before `onInput`. * * `beforeInput` is spec'd but not implemented in any browsers, and * the `input` event does not provide any useful information about what has * actually been added, contrary to the spec. Thus, `textInput` is the best * available event to identify the characters that have actually been inserted * into the target node. * * This plugin is also responsible for emitting `composition` events, thus * allowing us to share composition fallback code for both `beforeInput` and * `composition` event types. */ var BeforeInputEventPlugin = { eventTypes: eventTypes, extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { return [extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget), extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget)]; } }; module.exports = BeforeInputEventPlugin; /***/ }, /* 40 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventConstants */ 'use strict'; var keyMirror = __webpack_require__(24); var PropagationPhases = keyMirror({ bubbled: null, captured: null }); /** * Types of raw signals from the browser caught at the top level. */ var topLevelTypes = keyMirror({ topAbort: null, topAnimationEnd: null, topAnimationIteration: null, topAnimationStart: null, topBlur: null, topCanPlay: null, topCanPlayThrough: null, topChange: null, topClick: null, topCompositionEnd: null, topCompositionStart: null, topCompositionUpdate: null, topContextMenu: null, topCopy: null, topCut: null, topDoubleClick: null, topDrag: null, topDragEnd: null, topDragEnter: null, topDragExit: null, topDragLeave: null, topDragOver: null, topDragStart: null, topDrop: null, topDurationChange: null, topEmptied: null, topEncrypted: null, topEnded: null, topError: null, topFocus: null, topInput: null, topInvalid: null, topKeyDown: null, topKeyPress: null, topKeyUp: null, topLoad: null, topLoadedData: null, topLoadedMetadata: null, topLoadStart: null, topMouseDown: null, topMouseMove: null, topMouseOut: null, topMouseOver: null, topMouseUp: null, topPaste: null, topPause: null, topPlay: null, topPlaying: null, topProgress: null, topRateChange: null, topReset: null, topScroll: null, topSeeked: null, topSeeking: null, topSelectionChange: null, topStalled: null, topSubmit: null, topSuspend: null, topTextInput: null, topTimeUpdate: null, topTouchCancel: null, topTouchEnd: null, topTouchMove: null, topTouchStart: null, topTransitionEnd: null, topVolumeChange: null, topWaiting: null, topWheel: null }); var EventConstants = { topLevelTypes: topLevelTypes, PropagationPhases: PropagationPhases }; module.exports = EventConstants; /***/ }, /* 41 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPropagators */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPluginHub = __webpack_require__(42); var EventPluginUtils = __webpack_require__(44); var accumulateInto = __webpack_require__(46); var forEachAccumulated = __webpack_require__(47); var warning = __webpack_require__(10); var PropagationPhases = EventConstants.PropagationPhases; var getListener = EventPluginHub.getListener; /** * Some event types have a notion of different registration names for different * "phases" of propagation. This finds listeners by a given phase. */ function listenerAtPhase(inst, event, propagationPhase) { var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase]; return getListener(inst, registrationName); } /** * Tags a `SyntheticEvent` with dispatched listeners. Creating this function * here, allows us to not have to bind or create functions for each event. * Mutating the event's members allows us to not have to create a wrapping * "dispatch" object that pairs the event with the listener. */ function accumulateDirectionalDispatches(inst, upwards, event) { if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0; } var phase = upwards ? PropagationPhases.bubbled : PropagationPhases.captured; var listener = listenerAtPhase(inst, event, phase); if (listener) { event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); } } /** * Collect dispatches (must be entirely collected before dispatching - see unit * tests). Lazily allocate the array to conserve memory. We must loop through * each event and perform the traversal for each one. We cannot perform a * single traversal for the entire collection of events because each event may * have a different target. */ function accumulateTwoPhaseDispatchesSingle(event) { if (event && event.dispatchConfig.phasedRegistrationNames) { EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event); } } /** * Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID. */ function accumulateTwoPhaseDispatchesSingleSkipTarget(event) { if (event && event.dispatchConfig.phasedRegistrationNames) { var targetInst = event._targetInst; var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null; EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event); } } /** * Accumulates without regard to direction, does not look for phased * registration names. Same as `accumulateDirectDispatchesSingle` but without * requiring that the `dispatchMarker` be the same as the dispatched ID. */ function accumulateDispatches(inst, ignoredDirection, event) { if (event && event.dispatchConfig.registrationName) { var registrationName = event.dispatchConfig.registrationName; var listener = getListener(inst, registrationName); if (listener) { event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); } } } /** * Accumulates dispatches on an `SyntheticEvent`, but only for the * `dispatchMarker`. * @param {SyntheticEvent} event */ function accumulateDirectDispatchesSingle(event) { if (event && event.dispatchConfig.registrationName) { accumulateDispatches(event._targetInst, null, event); } } function accumulateTwoPhaseDispatches(events) { forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle); } function accumulateTwoPhaseDispatchesSkipTarget(events) { forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget); } function accumulateEnterLeaveDispatches(leave, enter, from, to) { EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter); } function accumulateDirectDispatches(events) { forEachAccumulated(events, accumulateDirectDispatchesSingle); } /** * A small set of propagation patterns, each of which will accept a small amount * of information, and generate a set of "dispatch ready event objects" - which * are sets of events that have already been annotated with a set of dispatched * listener functions/ids. The API is designed this way to discourage these * propagation strategies from actually executing the dispatches, since we * always want to collect the entire set of dispatches before executing event a * single one. * * @constructor EventPropagators */ var EventPropagators = { accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches, accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget, accumulateDirectDispatches: accumulateDirectDispatches, accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatches }; module.exports = EventPropagators; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 42 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPluginHub */ 'use strict'; var EventPluginRegistry = __webpack_require__(43); var EventPluginUtils = __webpack_require__(44); var ReactErrorUtils = __webpack_require__(45); var accumulateInto = __webpack_require__(46); var forEachAccumulated = __webpack_require__(47); var invariant = __webpack_require__(7); /** * Internal store for event listeners */ var listenerBank = {}; /** * Internal queue of events that have accumulated their dispatches and are * waiting to have their dispatches executed. */ var eventQueue = null; /** * Dispatches an event and releases it back into the pool, unless persistent. * * @param {?object} event Synthetic event to be dispatched. * @param {boolean} simulated If the event is simulated (changes exn behavior) * @private */ var executeDispatchesAndRelease = function (event, simulated) { if (event) { EventPluginUtils.executeDispatchesInOrder(event, simulated); if (!event.isPersistent()) { event.constructor.release(event); } } }; var executeDispatchesAndReleaseSimulated = function (e) { return executeDispatchesAndRelease(e, true); }; var executeDispatchesAndReleaseTopLevel = function (e) { return executeDispatchesAndRelease(e, false); }; /** * This is a unified interface for event plugins to be installed and configured. * * Event plugins can implement the following properties: * * `extractEvents` {function(string, DOMEventTarget, string, object): *} * Required. When a top-level event is fired, this method is expected to * extract synthetic events that will in turn be queued and dispatched. * * `eventTypes` {object} * Optional, plugins that fire events must publish a mapping of registration * names that are used to register listeners. Values of this mapping must * be objects that contain `registrationName` or `phasedRegistrationNames`. * * `executeDispatch` {function(object, function, string)} * Optional, allows plugins to override how an event gets dispatched. By * default, the listener is simply invoked. * * Each plugin that is injected into `EventsPluginHub` is immediately operable. * * @public */ var EventPluginHub = { /** * Methods for injecting dependencies. */ injection: { /** * @param {array} InjectedEventPluginOrder * @public */ injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder, /** * @param {object} injectedNamesToPlugins Map from names to plugin modules. */ injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName }, /** * Stores `listener` at `listenerBank[registrationName][id]`. Is idempotent. * * @param {object} inst The instance, which is the source of events. * @param {string} registrationName Name of listener (e.g. `onClick`). * @param {function} listener The callback to store. */ putListener: function (inst, registrationName, listener) { !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : invariant(false) : void 0; var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {}); bankForRegistrationName[inst._rootNodeID] = listener; var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; if (PluginModule && PluginModule.didPutListener) { PluginModule.didPutListener(inst, registrationName, listener); } }, /** * @param {object} inst The instance, which is the source of events. * @param {string} registrationName Name of listener (e.g. `onClick`). * @return {?function} The stored callback. */ getListener: function (inst, registrationName) { var bankForRegistrationName = listenerBank[registrationName]; return bankForRegistrationName && bankForRegistrationName[inst._rootNodeID]; }, /** * Deletes a listener from the registration bank. * * @param {object} inst The instance, which is the source of events. * @param {string} registrationName Name of listener (e.g. `onClick`). */ deleteListener: function (inst, registrationName) { var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; if (PluginModule && PluginModule.willDeleteListener) { PluginModule.willDeleteListener(inst, registrationName); } var bankForRegistrationName = listenerBank[registrationName]; // TODO: This should never be null -- when is it? if (bankForRegistrationName) { delete bankForRegistrationName[inst._rootNodeID]; } }, /** * Deletes all listeners for the DOM element with the supplied ID. * * @param {object} inst The instance, which is the source of events. */ deleteAllListeners: function (inst) { for (var registrationName in listenerBank) { if (!listenerBank[registrationName][inst._rootNodeID]) { continue; } var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; if (PluginModule && PluginModule.willDeleteListener) { PluginModule.willDeleteListener(inst, registrationName); } delete listenerBank[registrationName][inst._rootNodeID]; } }, /** * Allows registered plugins an opportunity to extract events from top-level * native browser events. * * @return {*} An accumulation of synthetic events. * @internal */ extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { var events; var plugins = EventPluginRegistry.plugins; for (var i = 0; i < plugins.length; i++) { // Not every plugin in the ordering may be loaded at runtime. var possiblePlugin = plugins[i]; if (possiblePlugin) { var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget); if (extractedEvents) { events = accumulateInto(events, extractedEvents); } } } return events; }, /** * Enqueues a synthetic event that should be dispatched when * `processEventQueue` is invoked. * * @param {*} events An accumulation of synthetic events. * @internal */ enqueueEvents: function (events) { if (events) { eventQueue = accumulateInto(eventQueue, events); } }, /** * Dispatches all synthetic events on the event queue. * * @internal */ processEventQueue: function (simulated) { // Set `eventQueue` to null before processing it so that we can tell if more // events get enqueued while processing. var processingEventQueue = eventQueue; eventQueue = null; if (simulated) { forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated); } else { forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel); } !!eventQueue ? process.env.NODE_ENV !== 'production' ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing ' + 'an event queue. Support for this has not yet been implemented.') : invariant(false) : void 0; // This would be a good time to rethrow if any of the event handlers threw. ReactErrorUtils.rethrowCaughtError(); }, /** * These are needed for tests only. Do not use! */ __purge: function () { listenerBank = {}; }, __getListenerBank: function () { return listenerBank; } }; module.exports = EventPluginHub; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 43 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPluginRegistry */ 'use strict'; var invariant = __webpack_require__(7); /** * Injectable ordering of event plugins. */ var EventPluginOrder = null; /** * Injectable mapping from names to event plugin modules. */ var namesToPlugins = {}; /** * Recomputes the plugin list using the injected plugins and plugin ordering. * * @private */ function recomputePluginOrdering() { if (!EventPluginOrder) { // Wait until an `EventPluginOrder` is injected. return; } for (var pluginName in namesToPlugins) { var PluginModule = namesToPlugins[pluginName]; var pluginIndex = EventPluginOrder.indexOf(pluginName); !(pluginIndex > -1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in ' + 'the plugin ordering, `%s`.', pluginName) : invariant(false) : void 0; if (EventPluginRegistry.plugins[pluginIndex]) { continue; } !PluginModule.extractEvents ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` ' + 'method, but `%s` does not.', pluginName) : invariant(false) : void 0; EventPluginRegistry.plugins[pluginIndex] = PluginModule; var publishedEvents = PluginModule.eventTypes; for (var eventName in publishedEvents) { !publishEventForPlugin(publishedEvents[eventName], PluginModule, eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : invariant(false) : void 0; } } } /** * Publishes an event so that it can be dispatched by the supplied plugin. * * @param {object} dispatchConfig Dispatch configuration for the event. * @param {object} PluginModule Plugin publishing the event. * @return {boolean} True if the event was successfully published. * @private */ function publishEventForPlugin(dispatchConfig, PluginModule, eventName) { !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'event name, `%s`.', eventName) : invariant(false) : void 0; EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig; var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames; if (phasedRegistrationNames) { for (var phaseName in phasedRegistrationNames) { if (phasedRegistrationNames.hasOwnProperty(phaseName)) { var phasedRegistrationName = phasedRegistrationNames[phaseName]; publishRegistrationName(phasedRegistrationName, PluginModule, eventName); } } return true; } else if (dispatchConfig.registrationName) { publishRegistrationName(dispatchConfig.registrationName, PluginModule, eventName); return true; } return false; } /** * Publishes a registration name that is used to identify dispatched events and * can be used with `EventPluginHub.putListener` to register listeners. * * @param {string} registrationName Registration name to add. * @param {object} PluginModule Plugin publishing the event. * @private */ function publishRegistrationName(registrationName, PluginModule, eventName) { !!EventPluginRegistry.registrationNameModules[registrationName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName) : invariant(false) : void 0; EventPluginRegistry.registrationNameModules[registrationName] = PluginModule; EventPluginRegistry.registrationNameDependencies[registrationName] = PluginModule.eventTypes[eventName].dependencies; if (process.env.NODE_ENV !== 'production') { var lowerCasedName = registrationName.toLowerCase(); EventPluginRegistry.possibleRegistrationNames[lowerCasedName] = registrationName; } } /** * Registers plugins so that they can extract and dispatch events. * * @see {EventPluginHub} */ var EventPluginRegistry = { /** * Ordered list of injected plugins. */ plugins: [], /** * Mapping from event name to dispatch config */ eventNameDispatchConfigs: {}, /** * Mapping from registration name to plugin module */ registrationNameModules: {}, /** * Mapping from registration name to event name */ registrationNameDependencies: {}, /** * Mapping from lowercase registration names to the properly cased version, * used to warn in the case of missing event handlers. Available * only in __DEV__. * @type {Object} */ possibleRegistrationNames: process.env.NODE_ENV !== 'production' ? {} : null, /** * Injects an ordering of plugins (by plugin name). This allows the ordering * to be decoupled from injection of the actual plugins so that ordering is * always deterministic regardless of packaging, on-the-fly injection, etc. * * @param {array} InjectedEventPluginOrder * @internal * @see {EventPluginHub.injection.injectEventPluginOrder} */ injectEventPluginOrder: function (InjectedEventPluginOrder) { !!EventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than ' + 'once. You are likely trying to load more than one copy of React.') : invariant(false) : void 0; // Clone the ordering so it cannot be dynamically mutated. EventPluginOrder = Array.prototype.slice.call(InjectedEventPluginOrder); recomputePluginOrdering(); }, /** * Injects plugins to be used by `EventPluginHub`. The plugin names must be * in the ordering injected by `injectEventPluginOrder`. * * Plugins can be injected as part of page initialization or on-the-fly. * * @param {object} injectedNamesToPlugins Map from names to plugin modules. * @internal * @see {EventPluginHub.injection.injectEventPluginsByName} */ injectEventPluginsByName: function (injectedNamesToPlugins) { var isOrderingDirty = false; for (var pluginName in injectedNamesToPlugins) { if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) { continue; } var PluginModule = injectedNamesToPlugins[pluginName]; if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== PluginModule) { !!namesToPlugins[pluginName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins ' + 'using the same name, `%s`.', pluginName) : invariant(false) : void 0; namesToPlugins[pluginName] = PluginModule; isOrderingDirty = true; } } if (isOrderingDirty) { recomputePluginOrdering(); } }, /** * Looks up the plugin for the supplied event. * * @param {object} event A synthetic event. * @return {?object} The plugin that created the supplied event. * @internal */ getPluginModuleForEvent: function (event) { var dispatchConfig = event.dispatchConfig; if (dispatchConfig.registrationName) { return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null; } for (var phase in dispatchConfig.phasedRegistrationNames) { if (!dispatchConfig.phasedRegistrationNames.hasOwnProperty(phase)) { continue; } var PluginModule = EventPluginRegistry.registrationNameModules[dispatchConfig.phasedRegistrationNames[phase]]; if (PluginModule) { return PluginModule; } } return null; }, /** * Exposed for unit testing. * @private */ _resetEventPlugins: function () { EventPluginOrder = null; for (var pluginName in namesToPlugins) { if (namesToPlugins.hasOwnProperty(pluginName)) { delete namesToPlugins[pluginName]; } } EventPluginRegistry.plugins.length = 0; var eventNameDispatchConfigs = EventPluginRegistry.eventNameDispatchConfigs; for (var eventName in eventNameDispatchConfigs) { if (eventNameDispatchConfigs.hasOwnProperty(eventName)) { delete eventNameDispatchConfigs[eventName]; } } var registrationNameModules = EventPluginRegistry.registrationNameModules; for (var registrationName in registrationNameModules) { if (registrationNameModules.hasOwnProperty(registrationName)) { delete registrationNameModules[registrationName]; } } if (process.env.NODE_ENV !== 'production') { var possibleRegistrationNames = EventPluginRegistry.possibleRegistrationNames; for (var lowerCasedName in possibleRegistrationNames) { if (possibleRegistrationNames.hasOwnProperty(lowerCasedName)) { delete possibleRegistrationNames[lowerCasedName]; } } } } }; module.exports = EventPluginRegistry; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 44 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPluginUtils */ 'use strict'; var EventConstants = __webpack_require__(40); var ReactErrorUtils = __webpack_require__(45); var invariant = __webpack_require__(7); var warning = __webpack_require__(10); /** * Injected dependencies: */ /** * - `ComponentTree`: [required] Module that can convert between React instances * and actual node references. */ var ComponentTree; var TreeTraversal; var injection = { injectComponentTree: function (Injected) { ComponentTree = Injected; if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.getNodeFromInstance && Injected.getInstanceFromNode, 'EventPluginUtils.injection.injectComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.') : void 0; } }, injectTreeTraversal: function (Injected) { TreeTraversal = Injected; if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.isAncestor && Injected.getLowestCommonAncestor, 'EventPluginUtils.injection.injectTreeTraversal(...): Injected ' + 'module is missing isAncestor or getLowestCommonAncestor.') : void 0; } } }; var topLevelTypes = EventConstants.topLevelTypes; function isEndish(topLevelType) { return topLevelType === topLevelTypes.topMouseUp || topLevelType === topLevelTypes.topTouchEnd || topLevelType === topLevelTypes.topTouchCancel; } function isMoveish(topLevelType) { return topLevelType === topLevelTypes.topMouseMove || topLevelType === topLevelTypes.topTouchMove; } function isStartish(topLevelType) { return topLevelType === topLevelTypes.topMouseDown || topLevelType === topLevelTypes.topTouchStart; } var validateEventDispatches; if (process.env.NODE_ENV !== 'production') { validateEventDispatches = function (event) { var dispatchListeners = event._dispatchListeners; var dispatchInstances = event._dispatchInstances; var listenersIsArr = Array.isArray(dispatchListeners); var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0; var instancesIsArr = Array.isArray(dispatchInstances); var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0; process.env.NODE_ENV !== 'production' ? warning(instancesIsArr === listenersIsArr && instancesLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : void 0; }; } /** * Dispatch the event to the listener. * @param {SyntheticEvent} event SyntheticEvent to handle * @param {boolean} simulated If the event is simulated (changes exn behavior) * @param {function} listener Application-level callback * @param {*} inst Internal component instance */ function executeDispatch(event, simulated, listener, inst) { var type = event.type || 'unknown-event'; event.currentTarget = EventPluginUtils.getNodeFromInstance(inst); if (simulated) { ReactErrorUtils.invokeGuardedCallbackWithCatch(type, listener, event); } else { ReactErrorUtils.invokeGuardedCallback(type, listener, event); } event.currentTarget = null; } /** * Standard/simple iteration through an event's collected dispatches. */ function executeDispatchesInOrder(event, simulated) { var dispatchListeners = event._dispatchListeners; var dispatchInstances = event._dispatchInstances; if (process.env.NODE_ENV !== 'production') { validateEventDispatches(event); } if (Array.isArray(dispatchListeners)) { for (var i = 0; i < dispatchListeners.length; i++) { if (event.isPropagationStopped()) { break; } // Listeners and Instances are two parallel arrays that are always in sync. executeDispatch(event, simulated, dispatchListeners[i], dispatchInstances[i]); } } else if (dispatchListeners) { executeDispatch(event, simulated, dispatchListeners, dispatchInstances); } event._dispatchListeners = null; event._dispatchInstances = null; } /** * Standard/simple iteration through an event's collected dispatches, but stops * at the first dispatch execution returning true, and returns that id. * * @return {?string} id of the first dispatch execution who's listener returns * true, or null if no listener returned true. */ function executeDispatchesInOrderStopAtTrueImpl(event) { var dispatchListeners = event._dispatchListeners; var dispatchInstances = event._dispatchInstances; if (process.env.NODE_ENV !== 'production') { validateEventDispatches(event); } if (Array.isArray(dispatchListeners)) { for (var i = 0; i < dispatchListeners.length; i++) { if (event.isPropagationStopped()) { break; } // Listeners and Instances are two parallel arrays that are always in sync. if (dispatchListeners[i](event, dispatchInstances[i])) { return dispatchInstances[i]; } } } else if (dispatchListeners) { if (dispatchListeners(event, dispatchInstances)) { return dispatchInstances; } } return null; } /** * @see executeDispatchesInOrderStopAtTrueImpl */ function executeDispatchesInOrderStopAtTrue(event) { var ret = executeDispatchesInOrderStopAtTrueImpl(event); event._dispatchInstances = null; event._dispatchListeners = null; return ret; } /** * Execution of a "direct" dispatch - there must be at most one dispatch * accumulated on the event or it is considered an error. It doesn't really make * sense for an event with multiple dispatches (bubbled) to keep track of the * return values at each dispatch execution, but it does tend to make sense when * dealing with "direct" dispatches. * * @return {*} The return value of executing the single dispatch. */ function executeDirectDispatch(event) { if (process.env.NODE_ENV !== 'production') { validateEventDispatches(event); } var dispatchListener = event._dispatchListeners; var dispatchInstance = event._dispatchInstances; !!Array.isArray(dispatchListener) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : invariant(false) : void 0; event.currentTarget = dispatchListener ? EventPluginUtils.getNodeFromInstance(dispatchInstance) : null; var res = dispatchListener ? dispatchListener(event) : null; event.currentTarget = null; event._dispatchListeners = null; event._dispatchInstances = null; return res; } /** * @param {SyntheticEvent} event * @return {boolean} True iff number of dispatches accumulated is greater than 0. */ function hasDispatches(event) { return !!event._dispatchListeners; } /** * General utilities that are useful in creating custom Event Plugins. */ var EventPluginUtils = { isEndish: isEndish, isMoveish: isMoveish, isStartish: isStartish, executeDirectDispatch: executeDirectDispatch, executeDispatchesInOrder: executeDispatchesInOrder, executeDispatchesInOrderStopAtTrue: executeDispatchesInOrderStopAtTrue, hasDispatches: hasDispatches, getInstanceFromNode: function (node) { return ComponentTree.getInstanceFromNode(node); }, getNodeFromInstance: function (node) { return ComponentTree.getNodeFromInstance(node); }, isAncestor: function (a, b) { return TreeTraversal.isAncestor(a, b); }, getLowestCommonAncestor: function (a, b) { return TreeTraversal.getLowestCommonAncestor(a, b); }, getParentInstance: function (inst) { return TreeTraversal.getParentInstance(inst); }, traverseTwoPhase: function (target, fn, arg) { return TreeTraversal.traverseTwoPhase(target, fn, arg); }, traverseEnterLeave: function (from, to, fn, argFrom, argTo) { return TreeTraversal.traverseEnterLeave(from, to, fn, argFrom, argTo); }, injection: injection }; module.exports = EventPluginUtils; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 45 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactErrorUtils */ 'use strict'; var caughtError = null; /** * Call a function while guarding against errors that happens within it. * * @param {?String} name of the guard to use for logging or debugging * @param {Function} func The function to invoke * @param {*} a First argument * @param {*} b Second argument */ function invokeGuardedCallback(name, func, a, b) { try { return func(a, b); } catch (x) { if (caughtError === null) { caughtError = x; } return undefined; } } var ReactErrorUtils = { invokeGuardedCallback: invokeGuardedCallback, /** * Invoked by ReactTestUtils.Simulate so that any errors thrown by the event * handler are sure to be rethrown by rethrowCaughtError. */ invokeGuardedCallbackWithCatch: invokeGuardedCallback, /** * During execution of guarded functions we will capture the first error which * we will rethrow to be handled by the top level error handler. */ rethrowCaughtError: function () { if (caughtError) { var error = caughtError; caughtError = null; throw error; } } }; if (process.env.NODE_ENV !== 'production') { /** * To help development we can get better devtools integration by simulating a * real browser event. */ if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') { var fakeNode = document.createElement('react'); ReactErrorUtils.invokeGuardedCallback = function (name, func, a, b) { var boundFunc = func.bind(null, a, b); var evtType = 'react-' + name; fakeNode.addEventListener(evtType, boundFunc, false); var evt = document.createEvent('Event'); evt.initEvent(evtType, false, false); fakeNode.dispatchEvent(evt); fakeNode.removeEventListener(evtType, boundFunc, false); }; } } module.exports = ReactErrorUtils; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 46 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule accumulateInto */ 'use strict'; var invariant = __webpack_require__(7); /** * * Accumulates items that must not be null or undefined into the first one. This * is used to conserve memory by avoiding array allocations, and thus sacrifices * API cleanness. Since `current` can be null before being passed in and not * null after this function, make sure to assign it back to `current`: * * `a = accumulateInto(a, b);` * * This API should be sparingly used. Try `accumulate` for something cleaner. * * @return {*|array<*>} An accumulation of items. */ function accumulateInto(current, next) { !(next != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : invariant(false) : void 0; if (current == null) { return next; } // Both are not empty. Warning: Never call x.concat(y) when you are not // certain that x is an Array (x could be a string with concat method). var currentIsArray = Array.isArray(current); var nextIsArray = Array.isArray(next); if (currentIsArray && nextIsArray) { current.push.apply(current, next); return current; } if (currentIsArray) { current.push(next); return current; } if (nextIsArray) { // A bit too dangerous to mutate `next`. return [current].concat(next); } return [current, next]; } module.exports = accumulateInto; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 47 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule forEachAccumulated */ 'use strict'; /** * @param {array} arr an "accumulation" of items which is either an Array or * a single item. Useful when paired with the `accumulate` module. This is a * simple utility that allows us to reason about a collection of items, but * handling the case when there is exactly one item (and we do not need to * allocate an array). */ var forEachAccumulated = function (arr, cb, scope) { if (Array.isArray(arr)) { arr.forEach(cb, scope); } else if (arr) { cb.call(scope, arr); } }; module.exports = forEachAccumulated; /***/ }, /* 48 */ /***/ function(module, exports) { /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); /** * Simple, lightweight module assisting with the detection and context of * Worker. Helps avoid circular dependencies and allows code to reason about * whether or not they are in a Worker, even if they never include the main * `ReactWorker` dependency. */ var ExecutionEnvironment = { canUseDOM: canUseDOM, canUseWorkers: typeof Worker !== 'undefined', canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent), canUseViewport: canUseDOM && !!window.screen, isInWorker: !canUseDOM // For now, this is true - might change in the future. }; module.exports = ExecutionEnvironment; /***/ }, /* 49 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule FallbackCompositionState */ 'use strict'; var _assign = __webpack_require__(4); var PooledClass = __webpack_require__(6); var getTextContentAccessor = __webpack_require__(50); /** * This helper class stores information about text content of a target node, * allowing comparison of content before and after a given event. * * Identify the node where selection currently begins, then observe * both its text content and its current position in the DOM. Since the * browser may natively replace the target node during composition, we can * use its position to find its replacement. * * @param {DOMEventTarget} root */ function FallbackCompositionState(root) { this._root = root; this._startText = this.getText(); this._fallbackText = null; } _assign(FallbackCompositionState.prototype, { destructor: function () { this._root = null; this._startText = null; this._fallbackText = null; }, /** * Get current text of input. * * @return {string} */ getText: function () { if ('value' in this._root) { return this._root.value; } return this._root[getTextContentAccessor()]; }, /** * Determine the differing substring between the initially stored * text content and the current content. * * @return {string} */ getData: function () { if (this._fallbackText) { return this._fallbackText; } var start; var startValue = this._startText; var startLength = startValue.length; var end; var endValue = this.getText(); var endLength = endValue.length; for (start = 0; start < startLength; start++) { if (startValue[start] !== endValue[start]) { break; } } var minEnd = startLength - start; for (end = 1; end <= minEnd; end++) { if (startValue[startLength - end] !== endValue[endLength - end]) { break; } } var sliceTail = end > 1 ? 1 - end : undefined; this._fallbackText = endValue.slice(start, sliceTail); return this._fallbackText; } }); PooledClass.addPoolingTo(FallbackCompositionState); module.exports = FallbackCompositionState; /***/ }, /* 50 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getTextContentAccessor */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var contentKey = null; /** * Gets the key used to access text content on a DOM node. * * @return {?string} Key used to access text content. * @internal */ function getTextContentAccessor() { if (!contentKey && ExecutionEnvironment.canUseDOM) { // Prefer textContent to innerText because many browsers support both but // SVG elements don't support innerText even when
does. contentKey = 'textContent' in document.documentElement ? 'textContent' : 'innerText'; } return contentKey; } module.exports = getTextContentAccessor; /***/ }, /* 51 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticCompositionEvent */ 'use strict'; var SyntheticEvent = __webpack_require__(52); /** * @interface Event * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents */ var CompositionEventInterface = { data: null }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticUIEvent} */ function SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface); module.exports = SyntheticCompositionEvent; /***/ }, /* 52 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticEvent */ 'use strict'; var _assign = __webpack_require__(4); var PooledClass = __webpack_require__(6); var emptyFunction = __webpack_require__(11); var warning = __webpack_require__(10); var didWarnForAddedNewProperty = false; var isProxySupported = typeof Proxy === 'function'; var shouldBeReleasedProperties = ['dispatchConfig', '_targetInst', 'nativeEvent', 'isDefaultPrevented', 'isPropagationStopped', '_dispatchListeners', '_dispatchInstances']; /** * @interface Event * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var EventInterface = { type: null, target: null, // currentTarget is set when dispatching; no use in copying it here currentTarget: emptyFunction.thatReturnsNull, eventPhase: null, bubbles: null, cancelable: null, timeStamp: function (event) { return event.timeStamp || Date.now(); }, defaultPrevented: null, isTrusted: null }; /** * Synthetic events are dispatched by event plugins, typically in response to a * top-level event delegation handler. * * These systems should generally use pooling to reduce the frequency of garbage * collection. The system should check `isPersistent` to determine whether the * event should be released into the pool after being dispatched. Users that * need a persisted event should invoke `persist`. * * Synthetic events (and subclasses) implement the DOM Level 3 Events API by * normalizing browser quirks. Subclasses do not necessarily have to implement a * DOM interface; custom application-specific events can also subclass this. * * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {*} targetInst Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @param {DOMEventTarget} nativeEventTarget Target node. */ function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) { if (process.env.NODE_ENV !== 'production') { // these have a getter/setter for warnings delete this.nativeEvent; delete this.preventDefault; delete this.stopPropagation; } this.dispatchConfig = dispatchConfig; this._targetInst = targetInst; this.nativeEvent = nativeEvent; var Interface = this.constructor.Interface; for (var propName in Interface) { if (!Interface.hasOwnProperty(propName)) { continue; } if (process.env.NODE_ENV !== 'production') { delete this[propName]; // this has a getter/setter for warnings } var normalize = Interface[propName]; if (normalize) { this[propName] = normalize(nativeEvent); } else { if (propName === 'target') { this.target = nativeEventTarget; } else { this[propName] = nativeEvent[propName]; } } } var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false; if (defaultPrevented) { this.isDefaultPrevented = emptyFunction.thatReturnsTrue; } else { this.isDefaultPrevented = emptyFunction.thatReturnsFalse; } this.isPropagationStopped = emptyFunction.thatReturnsFalse; return this; } _assign(SyntheticEvent.prototype, { preventDefault: function () { this.defaultPrevented = true; var event = this.nativeEvent; if (!event) { return; } if (event.preventDefault) { event.preventDefault(); } else { event.returnValue = false; } this.isDefaultPrevented = emptyFunction.thatReturnsTrue; }, stopPropagation: function () { var event = this.nativeEvent; if (!event) { return; } if (event.stopPropagation) { event.stopPropagation(); } else { event.cancelBubble = true; } this.isPropagationStopped = emptyFunction.thatReturnsTrue; }, /** * We release all dispatched `SyntheticEvent`s after each event loop, adding * them back into the pool. This allows a way to hold onto a reference that * won't be added back into the pool. */ persist: function () { this.isPersistent = emptyFunction.thatReturnsTrue; }, /** * Checks if this event should be released back into the pool. * * @return {boolean} True if this should not be released, false otherwise. */ isPersistent: emptyFunction.thatReturnsFalse, /** * `PooledClass` looks for `destructor` on each instance it releases. */ destructor: function () { var Interface = this.constructor.Interface; for (var propName in Interface) { if (process.env.NODE_ENV !== 'production') { Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName])); } else { this[propName] = null; } } for (var i = 0; i < shouldBeReleasedProperties.length; i++) { this[shouldBeReleasedProperties[i]] = null; } if (process.env.NODE_ENV !== 'production') { var noop = __webpack_require__(11); Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null)); Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', noop)); Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', noop)); } } }); SyntheticEvent.Interface = EventInterface; if (process.env.NODE_ENV !== 'production') { if (isProxySupported) { /*eslint-disable no-func-assign */ SyntheticEvent = new Proxy(SyntheticEvent, { construct: function (target, args) { return this.apply(target, Object.create(target.prototype), args); }, apply: function (constructor, that, args) { return new Proxy(constructor.apply(that, args), { set: function (target, prop, value) { if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) { process.env.NODE_ENV !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), 'This synthetic event is reused for performance reasons. If you\'re ' + 'seeing this, you\'re adding a new property in the synthetic event object. ' + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0; didWarnForAddedNewProperty = true; } target[prop] = value; return true; } }); } }); /*eslint-enable no-func-assign */ } } /** * Helper to reduce boilerplate when creating subclasses. * * @param {function} Class * @param {?object} Interface */ SyntheticEvent.augmentClass = function (Class, Interface) { var Super = this; var E = function () {}; E.prototype = Super.prototype; var prototype = new E(); _assign(prototype, Class.prototype); Class.prototype = prototype; Class.prototype.constructor = Class; Class.Interface = _assign({}, Super.Interface, Interface); Class.augmentClass = Super.augmentClass; PooledClass.addPoolingTo(Class, PooledClass.fourArgumentPooler); }; PooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler); module.exports = SyntheticEvent; /** * Helper to nullify syntheticEvent instance properties when destructing * * @param {object} SyntheticEvent * @param {String} propName * @return {object} defineProperty object */ function getPooledWarningPropertyDefinition(propName, getVal) { var isFunction = typeof getVal === 'function'; return { configurable: true, set: set, get: get }; function set(val) { var action = isFunction ? 'setting the method' : 'setting the property'; warn(action, 'This is effectively a no-op'); return val; } function get() { var action = isFunction ? 'accessing the method' : 'accessing the property'; var result = isFunction ? 'This is a no-op function' : 'This is set to null'; warn(action, result); return getVal; } function warn(action, result) { var warningCondition = false; process.env.NODE_ENV !== 'production' ? warning(warningCondition, 'This synthetic event is reused for performance reasons. If you\'re seeing this, ' + 'you\'re %s `%s` on a released/nullified synthetic event. %s. ' + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0; } } /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 53 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticInputEvent */ 'use strict'; var SyntheticEvent = __webpack_require__(52); /** * @interface Event * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105 * /#events-inputevents */ var InputEventInterface = { data: null }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticUIEvent} */ function SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface); module.exports = SyntheticInputEvent; /***/ }, /* 54 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ChangeEventPlugin */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPluginHub = __webpack_require__(42); var EventPropagators = __webpack_require__(41); var ExecutionEnvironment = __webpack_require__(48); var ReactDOMComponentTree = __webpack_require__(35); var ReactUpdates = __webpack_require__(55); var SyntheticEvent = __webpack_require__(52); var getEventTarget = __webpack_require__(63); var isEventSupported = __webpack_require__(64); var isTextInputElement = __webpack_require__(65); var keyOf = __webpack_require__(26); var topLevelTypes = EventConstants.topLevelTypes; var eventTypes = { change: { phasedRegistrationNames: { bubbled: keyOf({ onChange: null }), captured: keyOf({ onChangeCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topChange, topLevelTypes.topClick, topLevelTypes.topFocus, topLevelTypes.topInput, topLevelTypes.topKeyDown, topLevelTypes.topKeyUp, topLevelTypes.topSelectionChange] } }; /** * For IE shims */ var activeElement = null; var activeElementInst = null; var activeElementValue = null; var activeElementValueProp = null; /** * SECTION: handle `change` event */ function shouldUseChangeEvent(elem) { var nodeName = elem.nodeName && elem.nodeName.toLowerCase(); return nodeName === 'select' || nodeName === 'input' && elem.type === 'file'; } var doesChangeEventBubble = false; if (ExecutionEnvironment.canUseDOM) { // See `handleChange` comment below doesChangeEventBubble = isEventSupported('change') && (!('documentMode' in document) || document.documentMode > 8); } function manualDispatchChangeEvent(nativeEvent) { var event = SyntheticEvent.getPooled(eventTypes.change, activeElementInst, nativeEvent, getEventTarget(nativeEvent)); EventPropagators.accumulateTwoPhaseDispatches(event); // If change and propertychange bubbled, we'd just bind to it like all the // other events and have it go through ReactBrowserEventEmitter. Since it // doesn't, we manually listen for the events and so we have to enqueue and // process the abstract event manually. // // Batching is necessary here in order to ensure that all event handlers run // before the next rerender (including event handlers attached to ancestor // elements instead of directly on the input). Without this, controlled // components don't work properly in conjunction with event bubbling because // the component is rerendered and the value reverted before all the event // handlers can run. See https://github.com/facebook/react/issues/708. ReactUpdates.batchedUpdates(runEventInBatch, event); } function runEventInBatch(event) { EventPluginHub.enqueueEvents(event); EventPluginHub.processEventQueue(false); } function startWatchingForChangeEventIE8(target, targetInst) { activeElement = target; activeElementInst = targetInst; activeElement.attachEvent('onchange', manualDispatchChangeEvent); } function stopWatchingForChangeEventIE8() { if (!activeElement) { return; } activeElement.detachEvent('onchange', manualDispatchChangeEvent); activeElement = null; activeElementInst = null; } function getTargetInstForChangeEvent(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topChange) { return targetInst; } } function handleEventsForChangeEventIE8(topLevelType, target, targetInst) { if (topLevelType === topLevelTypes.topFocus) { // stopWatching() should be a noop here but we call it just in case we // missed a blur event somehow. stopWatchingForChangeEventIE8(); startWatchingForChangeEventIE8(target, targetInst); } else if (topLevelType === topLevelTypes.topBlur) { stopWatchingForChangeEventIE8(); } } /** * SECTION: handle `input` event */ var isInputEventSupported = false; if (ExecutionEnvironment.canUseDOM) { // IE9 claims to support the input event but fails to trigger it when // deleting text, so we ignore its input events. // IE10+ fire input events to often, such when a placeholder // changes or when an input with a placeholder is focused. isInputEventSupported = isEventSupported('input') && (!('documentMode' in document) || document.documentMode > 11); } /** * (For IE <=11) Replacement getter/setter for the `value` property that gets * set on the active element. */ var newValueProp = { get: function () { return activeElementValueProp.get.call(this); }, set: function (val) { // Cast to a string so we can do equality checks. activeElementValue = '' + val; activeElementValueProp.set.call(this, val); } }; /** * (For IE <=11) Starts tracking propertychange events on the passed-in element * and override the value property so that we can distinguish user events from * value changes in JS. */ function startWatchingForValueChange(target, targetInst) { activeElement = target; activeElementInst = targetInst; activeElementValue = target.value; activeElementValueProp = Object.getOwnPropertyDescriptor(target.constructor.prototype, 'value'); // Not guarded in a canDefineProperty check: IE8 supports defineProperty only // on DOM elements Object.defineProperty(activeElement, 'value', newValueProp); if (activeElement.attachEvent) { activeElement.attachEvent('onpropertychange', handlePropertyChange); } else { activeElement.addEventListener('propertychange', handlePropertyChange, false); } } /** * (For IE <=11) Removes the event listeners from the currently-tracked element, * if any exists. */ function stopWatchingForValueChange() { if (!activeElement) { return; } // delete restores the original property definition delete activeElement.value; if (activeElement.detachEvent) { activeElement.detachEvent('onpropertychange', handlePropertyChange); } else { activeElement.removeEventListener('propertychange', handlePropertyChange, false); } activeElement = null; activeElementInst = null; activeElementValue = null; activeElementValueProp = null; } /** * (For IE <=11) Handles a propertychange event, sending a `change` event if * the value of the active element has changed. */ function handlePropertyChange(nativeEvent) { if (nativeEvent.propertyName !== 'value') { return; } var value = nativeEvent.srcElement.value; if (value === activeElementValue) { return; } activeElementValue = value; manualDispatchChangeEvent(nativeEvent); } /** * If a `change` event should be fired, returns the target's ID. */ function getTargetInstForInputEvent(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topInput) { // In modern browsers (i.e., not IE8 or IE9), the input event is exactly // what we want so fall through here and trigger an abstract event return targetInst; } } function handleEventsForInputEventIE(topLevelType, target, targetInst) { if (topLevelType === topLevelTypes.topFocus) { // In IE8, we can capture almost all .value changes by adding a // propertychange handler and looking for events with propertyName // equal to 'value' // In IE9-11, propertychange fires for most input events but is buggy and // doesn't fire when text is deleted, but conveniently, selectionchange // appears to fire in all of the remaining cases so we catch those and // forward the event if the value has changed // In either case, we don't want to call the event handler if the value // is changed from JS so we redefine a setter for `.value` that updates // our activeElementValue variable, allowing us to ignore those changes // // stopWatching() should be a noop here but we call it just in case we // missed a blur event somehow. stopWatchingForValueChange(); startWatchingForValueChange(target, targetInst); } else if (topLevelType === topLevelTypes.topBlur) { stopWatchingForValueChange(); } } // For IE8 and IE9. function getTargetInstForInputEventIE(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topSelectionChange || topLevelType === topLevelTypes.topKeyUp || topLevelType === topLevelTypes.topKeyDown) { // On the selectionchange event, the target is just document which isn't // helpful for us so just check activeElement instead. // // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire // propertychange on the first input event after setting `value` from a // script and fires only keydown, keypress, keyup. Catching keyup usually // gets it and catching keydown lets us fire an event for the first // keystroke if user does a key repeat (it'll be a little delayed: right // before the second keystroke). Other input methods (e.g., paste) seem to // fire selectionchange normally. if (activeElement && activeElement.value !== activeElementValue) { activeElementValue = activeElement.value; return activeElementInst; } } } /** * SECTION: handle `click` event */ function shouldUseClickEvent(elem) { // Use the `click` event to detect changes to checkbox and radio inputs. // This approach works across all browsers, whereas `change` does not fire // until `blur` in IE8. return elem.nodeName && elem.nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio'); } function getTargetInstForClickEvent(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topClick) { return targetInst; } } /** * This plugin creates an `onChange` event that normalizes change events * across form elements. This event fires at a time when it's possible to * change the element's value without seeing a flicker. * * Supported elements are: * - input (see `isTextInputElement`) * - textarea * - select */ var ChangeEventPlugin = { eventTypes: eventTypes, extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window; var getTargetInstFunc, handleEventFunc; if (shouldUseChangeEvent(targetNode)) { if (doesChangeEventBubble) { getTargetInstFunc = getTargetInstForChangeEvent; } else { handleEventFunc = handleEventsForChangeEventIE8; } } else if (isTextInputElement(targetNode)) { if (isInputEventSupported) { getTargetInstFunc = getTargetInstForInputEvent; } else { getTargetInstFunc = getTargetInstForInputEventIE; handleEventFunc = handleEventsForInputEventIE; } } else if (shouldUseClickEvent(targetNode)) { getTargetInstFunc = getTargetInstForClickEvent; } if (getTargetInstFunc) { var inst = getTargetInstFunc(topLevelType, targetInst); if (inst) { var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, nativeEventTarget); event.type = 'change'; EventPropagators.accumulateTwoPhaseDispatches(event); return event; } } if (handleEventFunc) { handleEventFunc(topLevelType, targetNode, targetInst); } } }; module.exports = ChangeEventPlugin; /***/ }, /* 55 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactUpdates */ 'use strict'; var _assign = __webpack_require__(4); var CallbackQueue = __webpack_require__(56); var PooledClass = __webpack_require__(6); var ReactFeatureFlags = __webpack_require__(57); var ReactPerf = __webpack_require__(58); var ReactReconciler = __webpack_require__(59); var Transaction = __webpack_require__(62); var invariant = __webpack_require__(7); var dirtyComponents = []; var asapCallbackQueue = CallbackQueue.getPooled(); var asapEnqueued = false; var batchingStrategy = null; function ensureInjected() { !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching ' + 'strategy') : invariant(false) : void 0; } var NESTED_UPDATES = { initialize: function () { this.dirtyComponentsLength = dirtyComponents.length; }, close: function () { if (this.dirtyComponentsLength !== dirtyComponents.length) { // Additional updates were enqueued by componentDidUpdate handlers or // similar; before our own UPDATE_QUEUEING wrapper closes, we want to run // these new updates so that if A's componentDidUpdate calls setState on // B, B will update before the callback A's updater provided when calling // setState. 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( /* useCreateElement */true); } _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) { // Essentially calls `this.reconcileTransaction.perform(method, scope, a)` // with this transaction's wrappers around it. 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); } /** * Array comparator for ReactComponents by mount ordering. * * @param {ReactComponent} c1 first component you're comparing * @param {ReactComponent} c2 second component you're comparing * @return {number} Return value usable by Array.prototype.sort(). */ function mountOrderComparator(c1, c2) { return c1._mountOrder - c2._mountOrder; } function runBatchedUpdates(transaction) { var len = transaction.dirtyComponentsLength; !(len === dirtyComponents.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected flush transaction\'s stored dirty-components length (%s) to ' + 'match dirty-components array length (%s).', len, dirtyComponents.length) : invariant(false) : void 0; // Since reconciling a component higher in the owner hierarchy usually (not // always -- see shouldComponentUpdate()) will reconcile children, reconcile // them before their children by sorting the array. dirtyComponents.sort(mountOrderComparator); for (var i = 0; i < len; i++) { // If a component is unmounted before pending changes apply, it will still // be here, but we assume that it has cleared its _pendingCallbacks and // that performUpdateIfNecessary is a noop. var component = dirtyComponents[i]; // If performUpdateIfNecessary happens to enqueue any new updates, we // shouldn't execute the callbacks until the next render happens, so // stash the callbacks first var callbacks = component._pendingCallbacks; component._pendingCallbacks = null; var markerName; if (ReactFeatureFlags.logTopLevelRenders) { var namedComponent = component; // Duck type TopLevelWrapper. This is probably always true. if (component._currentElement.props === component._renderedComponent._currentElement) { namedComponent = component._renderedComponent; } markerName = 'React update: ' + namedComponent.getName(); console.time(markerName); } ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction); if (markerName) { console.timeEnd(markerName); } if (callbacks) { for (var j = 0; j < callbacks.length; j++) { transaction.callbackQueue.enqueue(callbacks[j], component.getPublicInstance()); } } } } var flushBatchedUpdates = function () { // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents // array and perform any updates enqueued by mount-ready handlers (i.e., // componentDidUpdate) but we need to check here too in order to catch // updates enqueued by setState callbacks and asap calls. 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); /** * Mark a component as needing a rerender, adding an optional callback to a * list of functions which will be executed once the rerender occurs. */ function enqueueUpdate(component) { ensureInjected(); // Various parts of our code (such as ReactCompositeComponent's // _renderValidatedComponent) assume that calls to render aren't nested; // verify that that's the case. (This is called by each top-level update // function, like setProps, setState, forceUpdate, etc.; creation and // destruction of top-level components is guarded in ReactMount.) if (!batchingStrategy.isBatchingUpdates) { batchingStrategy.batchedUpdates(enqueueUpdate, component); return; } dirtyComponents.push(component); } /** * Enqueue a callback to be run at the end of the current batching cycle. Throws * if no updates are currently being performed. */ function asap(callback, context) { !batchingStrategy.isBatchingUpdates ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context where' + 'updates are not being batched.') : invariant(false) : void 0; asapCallbackQueue.enqueue(callback, context); asapEnqueued = true; } var ReactUpdatesInjection = { injectReconcileTransaction: function (ReconcileTransaction) { !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : invariant(false) : void 0; ReactUpdates.ReactReconcileTransaction = ReconcileTransaction; }, injectBatchingStrategy: function (_batchingStrategy) { !_batchingStrategy ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batching strategy') : invariant(false) : void 0; !(typeof _batchingStrategy.batchedUpdates === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : invariant(false) : void 0; !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : invariant(false) : void 0; batchingStrategy = _batchingStrategy; } }; var ReactUpdates = { /** * React references `ReactReconcileTransaction` using this property in order * to allow dependency injection. * * @internal */ ReactReconcileTransaction: null, batchedUpdates: batchedUpdates, enqueueUpdate: enqueueUpdate, flushBatchedUpdates: flushBatchedUpdates, injection: ReactUpdatesInjection, asap: asap }; module.exports = ReactUpdates; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 56 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule CallbackQueue */ 'use strict'; var _assign = __webpack_require__(4); var PooledClass = __webpack_require__(6); var invariant = __webpack_require__(7); /** * A specialized pseudo-event module to help keep track of components waiting to * be notified when their DOM representations are available for use. * * This implements `PooledClass`, so you should never need to instantiate this. * Instead, use `CallbackQueue.getPooled()`. * * @class ReactMountReady * @implements PooledClass * @internal */ function CallbackQueue() { this._callbacks = null; this._contexts = null; } _assign(CallbackQueue.prototype, { /** * Enqueues a callback to be invoked when `notifyAll` is invoked. * * @param {function} callback Invoked when `notifyAll` is invoked. * @param {?object} context Context to call `callback` with. * @internal */ enqueue: function (callback, context) { this._callbacks = this._callbacks || []; this._contexts = this._contexts || []; this._callbacks.push(callback); this._contexts.push(context); }, /** * Invokes all enqueued callbacks and clears the queue. This is invoked after * the DOM representation of a component has been created or updated. * * @internal */ notifyAll: function () { var callbacks = this._callbacks; var contexts = this._contexts; if (callbacks) { !(callbacks.length === contexts.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Mismatched list of contexts in callback queue') : invariant(false) : void 0; 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; } }, checkpoint: function () { return this._callbacks ? this._callbacks.length : 0; }, rollback: function (len) { if (this._callbacks) { this._callbacks.length = len; this._contexts.length = len; } }, /** * Resets the internal queue. * * @internal */ reset: function () { this._callbacks = null; this._contexts = null; }, /** * `PooledClass` looks for this. */ destructor: function () { this.reset(); } }); PooledClass.addPoolingTo(CallbackQueue); module.exports = CallbackQueue; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 57 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactFeatureFlags */ 'use strict'; var ReactFeatureFlags = { // When true, call console.time() before and .timeEnd() after each top-level // render (both initial renders and updates). Useful when looking at prod-mode // timeline profiles in Chrome, for example. logTopLevelRenders: false }; module.exports = ReactFeatureFlags; /***/ }, /* 58 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPerf */ 'use strict'; /** * ReactPerf is a general AOP system designed to measure performance. This * module only has the hooks: see ReactDefaultPerf for the analysis tool. */ var ReactPerf = { /** * Boolean to enable/disable measurement. Set to false by default to prevent * accidental logging and perf loss. */ enableMeasure: false, /** * Holds onto the measure function in use. By default, don't measure * anything, but we'll override this if we inject a measure function. */ storedMeasure: _noMeasure, /** * @param {object} object * @param {string} objectName * @param {object} methodNames */ measureMethods: function (object, objectName, methodNames) { if (process.env.NODE_ENV !== 'production') { for (var key in methodNames) { if (!methodNames.hasOwnProperty(key)) { continue; } object[key] = ReactPerf.measure(objectName, methodNames[key], object[key]); } } }, /** * Use this to wrap methods you want to measure. Zero overhead in production. * * @param {string} objName * @param {string} fnName * @param {function} func * @return {function} */ measure: function (objName, fnName, func) { if (process.env.NODE_ENV !== 'production') { 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: { /** * @param {function} measure */ injectMeasure: function (measure) { ReactPerf.storedMeasure = measure; } } }; /** * Simply passes through the measured function, without measuring it. * * @param {string} objName * @param {string} fnName * @param {function} func * @return {function} */ function _noMeasure(objName, fnName, func) { return func; } module.exports = ReactPerf; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 59 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactReconciler */ 'use strict'; var ReactRef = __webpack_require__(60); var ReactInstrumentation = __webpack_require__(18); /** * Helper to call ReactRef.attachRefs with this composite component, split out * to avoid allocations in the transaction mount-ready queue. */ function attachRefs() { ReactRef.attachRefs(this, this._currentElement); } var ReactReconciler = { /** * Initializes the component, renders markup, and registers event listeners. * * @param {ReactComponent} internalInstance * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction * @param {?object} the containing native component instance * @param {?object} info about the native container * @return {?string} Rendered markup to be inserted into the DOM. * @final * @internal */ mountComponent: function (internalInstance, transaction, nativeParent, nativeContainerInfo, context) { var markup = internalInstance.mountComponent(transaction, nativeParent, nativeContainerInfo, context); if (internalInstance._currentElement && internalInstance._currentElement.ref != null) { transaction.getReactMountReady().enqueue(attachRefs, internalInstance); } if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onMountComponent(internalInstance); } return markup; }, /** * Returns a value that can be passed to * ReactComponentEnvironment.replaceNodeWithMarkup. */ getNativeNode: function (internalInstance) { return internalInstance.getNativeNode(); }, /** * Releases any resources allocated by `mountComponent`. * * @final * @internal */ unmountComponent: function (internalInstance, safely) { ReactRef.detachRefs(internalInstance, internalInstance._currentElement); internalInstance.unmountComponent(safely); if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onUnmountComponent(internalInstance); } }, /** * Update a component using a new element. * * @param {ReactComponent} internalInstance * @param {ReactElement} nextElement * @param {ReactReconcileTransaction} transaction * @param {object} context * @internal */ receiveComponent: function (internalInstance, nextElement, transaction, context) { var prevElement = internalInstance._currentElement; if (nextElement === prevElement && context === internalInstance._context) { // Since elements are immutable after the owner is rendered, // we can do a cheap identity compare here to determine if this is a // superfluous reconcile. It's possible for state to be mutable but such // change should trigger an update of the owner which would recreate // the element. We explicitly check for the existence of an owner since // it's possible for an element created outside a composite to be // deeply mutated and reused. // TODO: Bailing out early is just a perf optimization right? // TODO: Removing the return statement should affect correctness? 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); } if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onUpdateComponent(internalInstance); } }, /** * Flush any dirty changes in a component. * * @param {ReactComponent} internalInstance * @param {ReactReconcileTransaction} transaction * @internal */ performUpdateIfNecessary: function (internalInstance, transaction) { internalInstance.performUpdateIfNecessary(transaction); if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onUpdateComponent(internalInstance); } } }; module.exports = ReactReconciler; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 60 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactRef */ 'use strict'; var ReactOwner = __webpack_require__(61); var ReactRef = {}; function attachRef(ref, component, owner) { if (typeof ref === 'function') { ref(component.getPublicInstance()); } else { // Legacy ref ReactOwner.addComponentAsRefTo(component, ref, owner); } } function detachRef(ref, component, owner) { if (typeof ref === 'function') { ref(null); } else { // Legacy ref 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) { // If either the owner or a `ref` has changed, make sure the newest owner // has stored a reference to `this`, and the previous owner (if different) // has forgotten the reference to `this`. We use the element instead // of the public this.props because the post processing cannot determine // a ref. The ref conceptually lives on the element. // TODO: Should this even be possible? The owner cannot change because // it's forbidden by shouldUpdateReactComponent. The ref can change // if you swap the keys of but not the refs. Reconsider where this check // is made. It probably belongs where the key checking and // instantiateReactComponent is done. var prevEmpty = prevElement === null || prevElement === false; var nextEmpty = nextElement === null || nextElement === false; return( // This has a few false positives w/r/t empty components. 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; /***/ }, /* 61 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactOwner */ 'use strict'; var invariant = __webpack_require__(7); /** * ReactOwners are capable of storing references to owned components. * * All components are capable of //being// referenced by owner components, but * only ReactOwner components are capable of //referencing// owned components. * The named reference is known as a "ref". * * Refs are available when mounted and updated during reconciliation. * * var MyComponent = React.createClass({ * render: function() { * return ( *
* *
* ); * }, * handleClick: function() { * this.refs.custom.handleClick(); * }, * componentDidMount: function() { * this.refs.custom.initialize(); * } * }); * * Refs should rarely be used. When refs are used, they should only be done to * control data that is not handled by React's data flow. * * @class ReactOwner */ var ReactOwner = { /** * @param {?object} object * @return {boolean} True if `object` is a valid owner. * @final */ isValidOwner: function (object) { return !!(object && typeof object.attachRef === 'function' && typeof object.detachRef === 'function'); }, /** * Adds a component by ref to an owner component. * * @param {ReactComponent} component Component to reference. * @param {string} ref Name by which to refer to the component. * @param {ReactOwner} owner Component on which to record the ref. * @final * @internal */ addComponentAsRefTo: function (component, ref, owner) { !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, '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).') : invariant(false) : void 0; owner.attachRef(ref, component); }, /** * Removes a component by ref from an owner component. * * @param {ReactComponent} component Component to dereference. * @param {string} ref Name of the ref to remove. * @param {ReactOwner} owner Component on which the ref is recorded. * @final * @internal */ removeComponentAsRefFrom: function (component, ref, owner) { !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, '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).') : invariant(false) : void 0; var ownerPublicInstance = owner.getPublicInstance(); // Check that `component`'s owner is still alive and that `component` is still the current ref // because we do not want to detach the ref if another component stole it. if (ownerPublicInstance && ownerPublicInstance.refs[ref] === component.getPublicInstance()) { owner.detachRef(ref); } } }; module.exports = ReactOwner; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 62 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule Transaction */ 'use strict'; var invariant = __webpack_require__(7); /** * `Transaction` creates a black box that is able to wrap any method such that * certain invariants are maintained before and after the method is invoked * (Even if an exception is thrown while invoking the wrapped method). Whoever * instantiates a transaction can provide enforcers of the invariants at * creation time. The `Transaction` class itself will supply one additional * automatic invariant for you - the invariant that any transaction instance * should not be run while it is already being run. You would typically create a * single instance of a `Transaction` for reuse multiple times, that potentially * is used to wrap several different methods. Wrappers are extremely simple - * they only require implementing two methods. * *
	 *                       wrappers (injected at creation time)
	 *                                      +        +
	 *                                      |        |
	 *                    +-----------------|--------|--------------+
	 *                    |                 v        |              |
	 *                    |      +---------------+   |              |
	 *                    |   +--|    wrapper1   |---|----+         |
	 *                    |   |  +---------------+   v    |         |
	 *                    |   |          +-------------+  |         |
	 *                    |   |     +----|   wrapper2  |--------+   |
	 *                    |   |     |    +-------------+  |     |   |
	 *                    |   |     |                     |     |   |
	 *                    |   v     v                     v     v   | wrapper
	 *                    | +---+ +---+   +---------+   +---+ +---+ | invariants
	 * perform(anyMethod) | |   | |   |   |         |   |   | |   | | maintained
	 * +----------------->|-|---|-|---|-->|anyMethod|---|---|-|---|-|-------->
	 *                    | |   | |   |   |         |   |   | |   | |
	 *                    | |   | |   |   |         |   |   | |   | |
	 *                    | |   | |   |   |         |   |   | |   | |
	 *                    | +---+ +---+   +---------+   +---+ +---+ |
	 *                    |  initialize                    close    |
	 *                    +-----------------------------------------+
	 * 
* * Use cases: * - Preserving the input selection ranges before/after reconciliation. * Restoring selection even in the event of an unexpected error. * - Deactivating events while rearranging the DOM, preventing blurs/focuses, * while guaranteeing that afterwards, the event system is reactivated. * - Flushing a queue of collected DOM mutations to the main UI thread after a * reconciliation takes place in a worker thread. * - Invoking any collected `componentDidUpdate` callbacks after rendering new * content. * - (Future use case): Wrapping particular flushes of the `ReactWorker` queue * to preserve the `scrollTop` (an automatic scroll aware DOM). * - (Future use case): Layout calculations before and after DOM updates. * * Transactional plugin API: * - A module that has an `initialize` method that returns any precomputation. * - and a `close` method that accepts the precomputation. `close` is invoked * when the wrapped process is completed, or has failed. * * @param {Array} transactionWrapper Wrapper modules * that implement `initialize` and `close`. * @return {Transaction} Single transaction for reuse in thread. * * @class Transaction */ var Mixin = { /** * Sets up this instance so that it is prepared for collecting metrics. Does * so such that this setup method may be used on an instance that is already * initialized, in a way that does not consume additional memory upon reuse. * That can be useful if you decide to make your subclass of this mixin a * "PooledClass". */ reinitializeTransaction: function () { this.transactionWrappers = this.getTransactionWrappers(); if (this.wrapperInitData) { this.wrapperInitData.length = 0; } else { this.wrapperInitData = []; } this._isInTransaction = false; }, _isInTransaction: false, /** * @abstract * @return {Array} Array of transaction wrappers. */ getTransactionWrappers: null, isInTransaction: function () { return !!this._isInTransaction; }, /** * Executes the function within a safety window. Use this for the top level * methods that result in large amounts of computation/mutations that would * need to be safety checked. The optional arguments helps prevent the need * to bind in many cases. * * @param {function} method Member of scope to call. * @param {Object} scope Scope to invoke from. * @param {Object?=} a Argument to pass to the method. * @param {Object?=} b Argument to pass to the method. * @param {Object?=} c Argument to pass to the method. * @param {Object?=} d Argument to pass to the method. * @param {Object?=} e Argument to pass to the method. * @param {Object?=} f Argument to pass to the method. * * @return {*} Return value from `method`. */ perform: function (method, scope, a, b, c, d, e, f) { !!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there ' + 'is already an outstanding transaction.') : invariant(false) : void 0; var errorThrown; var ret; try { this._isInTransaction = true; // Catching errors makes debugging more difficult, so we start with // errorThrown set to true before setting it to false after calling // close -- if it's still set to true in the finally block, it means // one of these calls threw. errorThrown = true; this.initializeAll(0); ret = method.call(scope, a, b, c, d, e, f); errorThrown = false; } finally { try { if (errorThrown) { // If `method` throws, prefer to show that stack trace over any thrown // by invoking `closeAll`. try { this.closeAll(0); } catch (err) {} } else { // Since `method` didn't throw, we don't want to silence the exception // here. 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 { // Catching errors makes debugging more difficult, so we start with the // OBSERVED_ERROR state before overwriting it with the real return value // of initialize -- if it's still set to OBSERVED_ERROR in the finally // block, it means wrapper.initialize threw. this.wrapperInitData[i] = Transaction.OBSERVED_ERROR; this.wrapperInitData[i] = wrapper.initialize ? wrapper.initialize.call(this) : null; } finally { if (this.wrapperInitData[i] === Transaction.OBSERVED_ERROR) { // The initializer for wrapper i threw an error; initialize the // remaining wrappers but silence any exceptions from them to ensure // that the first error is the one to bubble up. try { this.initializeAll(i + 1); } catch (err) {} } } } }, /** * Invokes each of `this.transactionWrappers.close[i]` functions, passing into * them the respective return values of `this.transactionWrappers.init[i]` * (`close`rs that correspond to initializers that failed will not be * invoked). */ closeAll: function (startIndex) { !this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : invariant(false) : void 0; var transactionWrappers = this.transactionWrappers; for (var i = startIndex; i < transactionWrappers.length; i++) { var wrapper = transactionWrappers[i]; var initData = this.wrapperInitData[i]; var errorThrown; try { // Catching errors makes debugging more difficult, so we start with // errorThrown set to true before setting it to false after calling // close -- if it's still set to true in the finally block, it means // wrapper.close threw. errorThrown = true; if (initData !== Transaction.OBSERVED_ERROR && wrapper.close) { wrapper.close.call(this, initData); } errorThrown = false; } finally { if (errorThrown) { // The closer for wrapper i threw an error; close the remaining // wrappers but silence any exceptions from them to ensure that the // first error is the one to bubble up. try { this.closeAll(i + 1); } catch (e) {} } } } this.wrapperInitData.length = 0; } }; var Transaction = { Mixin: Mixin, /** * Token to look for to determine if an error occurred. */ OBSERVED_ERROR: {} }; module.exports = Transaction; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 63 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getEventTarget */ 'use strict'; /** * Gets the target node from a native browser event by accounting for * inconsistencies in browser DOM APIs. * * @param {object} nativeEvent Native browser event. * @return {DOMEventTarget} Target node. */ function getEventTarget(nativeEvent) { var target = nativeEvent.target || nativeEvent.srcElement || window; // Normalize SVG element events #4963 if (target.correspondingUseElement) { target = target.correspondingUseElement; } // Safari may fire events on text nodes (Node.TEXT_NODE is 3). // @see http://www.quirksmode.org/js/events_properties.html return target.nodeType === 3 ? target.parentNode : target; } module.exports = getEventTarget; /***/ }, /* 64 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule isEventSupported */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var useHasFeature; if (ExecutionEnvironment.canUseDOM) { useHasFeature = document.implementation && document.implementation.hasFeature && // always returns true in newer browsers as per the standard. // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature document.implementation.hasFeature('', '') !== true; } /** * Checks if an event is supported in the current execution environment. * * NOTE: This will not work correctly for non-generic events such as `change`, * `reset`, `load`, `error`, and `select`. * * Borrows from Modernizr. * * @param {string} eventNameSuffix Event name, e.g. "click". * @param {?boolean} capture Check if the capture phase is supported. * @return {boolean} True if the event is supported. * @internal * @license Modernizr 3.0.0pre (Custom Build) | MIT */ function isEventSupported(eventNameSuffix, capture) { if (!ExecutionEnvironment.canUseDOM || capture && !('addEventListener' in document)) { return false; } var eventName = 'on' + eventNameSuffix; var isSupported = eventName in document; if (!isSupported) { var element = document.createElement('div'); element.setAttribute(eventName, 'return;'); isSupported = typeof element[eventName] === 'function'; } if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') { // This is the only way to test support for the `wheel` event in IE9+. isSupported = document.implementation.hasFeature('Events.wheel', '3.0'); } return isSupported; } module.exports = isEventSupported; /***/ }, /* 65 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule isTextInputElement */ 'use strict'; /** * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary */ var supportedInputTypes = { 'color': true, 'date': true, 'datetime': true, 'datetime-local': true, 'email': true, 'month': true, 'number': true, 'password': true, 'range': true, 'search': true, 'tel': true, 'text': true, 'time': true, 'url': true, 'week': true }; function isTextInputElement(elem) { var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); return nodeName && (nodeName === 'input' && supportedInputTypes[elem.type] || nodeName === 'textarea'); } module.exports = isTextInputElement; /***/ }, /* 66 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DefaultEventPluginOrder */ 'use strict'; var keyOf = __webpack_require__(26); /** * Module that is injectable into `EventPluginHub`, that specifies a * deterministic ordering of `EventPlugin`s. A convenient way to reason about * plugins, without having to package every one of them. This is better than * having plugins be ordered in the same order that they are injected because * that ordering would be influenced by the packaging order. * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that * preventing default on events is convenient in `SimpleEventPlugin` handlers. */ var DefaultEventPluginOrder = [keyOf({ ResponderEventPlugin: null }), keyOf({ SimpleEventPlugin: null }), keyOf({ TapEventPlugin: null }), keyOf({ EnterLeaveEventPlugin: null }), keyOf({ ChangeEventPlugin: null }), keyOf({ SelectEventPlugin: null }), keyOf({ BeforeInputEventPlugin: null })]; module.exports = DefaultEventPluginOrder; /***/ }, /* 67 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EnterLeaveEventPlugin */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPropagators = __webpack_require__(41); var ReactDOMComponentTree = __webpack_require__(35); var SyntheticMouseEvent = __webpack_require__(68); var keyOf = __webpack_require__(26); var topLevelTypes = EventConstants.topLevelTypes; var eventTypes = { mouseEnter: { registrationName: keyOf({ onMouseEnter: null }), dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver] }, mouseLeave: { registrationName: keyOf({ onMouseLeave: null }), dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver] } }; var EnterLeaveEventPlugin = { eventTypes: eventTypes, /** * For almost every interaction we care about, there will be both a top-level * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that * we do not extract duplicate events. However, moving the mouse into the * browser from outside will not fire a `mouseout` event. In this case, we use * the `mouseover` top-level event. */ extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { if (topLevelType === topLevelTypes.topMouseOver && (nativeEvent.relatedTarget || nativeEvent.fromElement)) { return null; } if (topLevelType !== topLevelTypes.topMouseOut && topLevelType !== topLevelTypes.topMouseOver) { // Must not be a mouse in or mouse out - ignoring. return null; } var win; if (nativeEventTarget.window === nativeEventTarget) { // `nativeEventTarget` is probably a window object. win = nativeEventTarget; } else { // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. var doc = nativeEventTarget.ownerDocument; if (doc) { win = doc.defaultView || doc.parentWindow; } else { win = window; } } var from; var to; if (topLevelType === topLevelTypes.topMouseOut) { from = targetInst; var related = nativeEvent.relatedTarget || nativeEvent.toElement; to = related ? ReactDOMComponentTree.getClosestInstanceFromNode(related) : null; } else { // Moving to a node from outside the window. from = null; to = targetInst; } if (from === to) { // Nothing pertains to our managed components. return null; } var fromNode = from == null ? win : ReactDOMComponentTree.getNodeFromInstance(from); var toNode = to == null ? win : ReactDOMComponentTree.getNodeFromInstance(to); var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, from, nativeEvent, nativeEventTarget); leave.type = 'mouseleave'; leave.target = fromNode; leave.relatedTarget = toNode; var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, to, nativeEvent, nativeEventTarget); enter.type = 'mouseenter'; enter.target = toNode; enter.relatedTarget = fromNode; EventPropagators.accumulateEnterLeaveDispatches(leave, enter, from, to); return [leave, enter]; } }; module.exports = EnterLeaveEventPlugin; /***/ }, /* 68 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticMouseEvent */ 'use strict'; var SyntheticUIEvent = __webpack_require__(69); var ViewportMetrics = __webpack_require__(70); var getEventModifierState = __webpack_require__(71); /** * @interface MouseEvent * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var MouseEventInterface = { screenX: null, screenY: null, clientX: null, clientY: null, ctrlKey: null, shiftKey: null, altKey: null, metaKey: null, getModifierState: getEventModifierState, button: function (event) { // Webkit, Firefox, IE9+ // which: 1 2 3 // button: 0 1 2 (standard) var button = event.button; if ('which' in event) { return button; } // IE<9 // which: undefined // button: 0 0 0 // button: 1 4 2 (onmouseup) return button === 2 ? 2 : button === 4 ? 1 : 0; }, buttons: null, relatedTarget: function (event) { return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement); }, // "Proprietary" Interface. pageX: function (event) { return 'pageX' in event ? event.pageX : event.clientX + ViewportMetrics.currentScrollLeft; }, pageY: function (event) { return 'pageY' in event ? event.pageY : event.clientY + ViewportMetrics.currentScrollTop; } }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticUIEvent} */ function SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface); module.exports = SyntheticMouseEvent; /***/ }, /* 69 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticUIEvent */ 'use strict'; var SyntheticEvent = __webpack_require__(52); var getEventTarget = __webpack_require__(63); /** * @interface UIEvent * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var UIEventInterface = { view: function (event) { if (event.view) { return event.view; } var target = getEventTarget(event); if (target != null && target.window === target) { // target is a window object return target; } var doc = target.ownerDocument; // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. if (doc) { return doc.defaultView || doc.parentWindow; } else { return window; } }, detail: function (event) { return event.detail || 0; } }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticEvent} */ function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface); module.exports = SyntheticUIEvent; /***/ }, /* 70 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ViewportMetrics */ 'use strict'; var ViewportMetrics = { currentScrollLeft: 0, currentScrollTop: 0, refreshScrollValues: function (scrollPosition) { ViewportMetrics.currentScrollLeft = scrollPosition.x; ViewportMetrics.currentScrollTop = scrollPosition.y; } }; module.exports = ViewportMetrics; /***/ }, /* 71 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getEventModifierState */ 'use strict'; /** * Translation from modifier key to the associated property in the event. * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers */ var modifierKeyToProp = { 'Alt': 'altKey', 'Control': 'ctrlKey', 'Meta': 'metaKey', 'Shift': 'shiftKey' }; // IE8 does not implement getModifierState so we simply map it to the only // modifier keys exposed by the event itself, does not support Lock-keys. // Currently, all major browsers except Chrome seems to support Lock-keys. function modifierStateGetter(keyArg) { var syntheticEvent = this; var nativeEvent = syntheticEvent.nativeEvent; if (nativeEvent.getModifierState) { return nativeEvent.getModifierState(keyArg); } var keyProp = modifierKeyToProp[keyArg]; return keyProp ? !!nativeEvent[keyProp] : false; } function getEventModifierState(nativeEvent) { return modifierStateGetter; } module.exports = getEventModifierState; /***/ }, /* 72 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule HTMLDOMPropertyConfig */ 'use strict'; var DOMProperty = __webpack_require__(36); var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY; var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE; var HAS_SIDE_EFFECTS = DOMProperty.injection.HAS_SIDE_EFFECTS; var HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE; var HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE; var HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE; var HTMLDOMPropertyConfig = { isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')), Properties: { /** * Standard Properties */ accept: 0, acceptCharset: 0, accessKey: 0, action: 0, allowFullScreen: HAS_BOOLEAN_VALUE, allowTransparency: 0, alt: 0, async: HAS_BOOLEAN_VALUE, autoComplete: 0, // autoFocus is polyfilled/normalized by AutoFocusUtils // autoFocus: HAS_BOOLEAN_VALUE, autoPlay: HAS_BOOLEAN_VALUE, capture: HAS_BOOLEAN_VALUE, cellPadding: 0, cellSpacing: 0, charSet: 0, challenge: 0, checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, cite: 0, classID: 0, className: 0, cols: HAS_POSITIVE_NUMERIC_VALUE, colSpan: 0, content: 0, contentEditable: 0, contextMenu: 0, controls: HAS_BOOLEAN_VALUE, coords: 0, crossOrigin: 0, data: 0, // For `` acts as `src`. dateTime: 0, 'default': HAS_BOOLEAN_VALUE, defer: HAS_BOOLEAN_VALUE, dir: 0, disabled: HAS_BOOLEAN_VALUE, download: HAS_OVERLOADED_BOOLEAN_VALUE, draggable: 0, encType: 0, form: 0, formAction: 0, formEncType: 0, formMethod: 0, formNoValidate: HAS_BOOLEAN_VALUE, formTarget: 0, frameBorder: 0, headers: 0, height: 0, hidden: HAS_BOOLEAN_VALUE, high: 0, href: 0, hrefLang: 0, htmlFor: 0, httpEquiv: 0, icon: 0, id: 0, inputMode: 0, integrity: 0, is: 0, keyParams: 0, keyType: 0, kind: 0, label: 0, lang: 0, list: 0, loop: HAS_BOOLEAN_VALUE, low: 0, manifest: 0, marginHeight: 0, marginWidth: 0, max: 0, maxLength: 0, media: 0, mediaGroup: 0, method: 0, min: 0, minLength: 0, // Caution; `option.selected` is not updated if `select.multiple` is // disabled with `removeAttribute`. multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, name: 0, nonce: 0, noValidate: HAS_BOOLEAN_VALUE, open: HAS_BOOLEAN_VALUE, optimum: 0, pattern: 0, placeholder: 0, poster: 0, preload: 0, profile: 0, radioGroup: 0, readOnly: HAS_BOOLEAN_VALUE, rel: 0, required: HAS_BOOLEAN_VALUE, reversed: HAS_BOOLEAN_VALUE, role: 0, rows: HAS_POSITIVE_NUMERIC_VALUE, rowSpan: HAS_NUMERIC_VALUE, sandbox: 0, scope: 0, scoped: HAS_BOOLEAN_VALUE, scrolling: 0, seamless: HAS_BOOLEAN_VALUE, selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, shape: 0, size: HAS_POSITIVE_NUMERIC_VALUE, sizes: 0, span: HAS_POSITIVE_NUMERIC_VALUE, spellCheck: 0, src: 0, srcDoc: 0, srcLang: 0, srcSet: 0, start: HAS_NUMERIC_VALUE, step: 0, style: 0, summary: 0, tabIndex: 0, target: 0, title: 0, // Setting .type throws on non- tags type: 0, useMap: 0, value: MUST_USE_PROPERTY | HAS_SIDE_EFFECTS, width: 0, wmode: 0, wrap: 0, /** * RDFa Properties */ about: 0, datatype: 0, inlist: 0, prefix: 0, // property is also supported for OpenGraph in meta tags. property: 0, resource: 0, 'typeof': 0, vocab: 0, /** * Non-standard Properties */ // autoCapitalize and autoCorrect are supported in Mobile Safari for // keyboard hints. autoCapitalize: 0, autoCorrect: 0, // autoSave allows WebKit/Blink to persist values of input fields on page reloads autoSave: 0, // color is for Safari mask-icon link color: 0, // itemProp, itemScope, itemType are for // Microdata support. See http://schema.org/docs/gs.html itemProp: 0, itemScope: HAS_BOOLEAN_VALUE, itemType: 0, // itemID and itemRef are for Microdata support as well but // only specified in the WHATWG spec document. See // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api itemID: 0, itemRef: 0, // results show looking glass icon and recent searches on input // search fields in WebKit/Blink results: 0, // IE-only attribute that specifies security restrictions on an iframe // as an alternative to the sandbox attribute on IE<10 security: 0, // IE-only attribute that controls focus behavior unselectable: 0 }, DOMAttributeNames: { acceptCharset: 'accept-charset', className: 'class', htmlFor: 'for', httpEquiv: 'http-equiv' }, DOMPropertyNames: {} }; module.exports = HTMLDOMPropertyConfig; /***/ }, /* 73 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactComponentBrowserEnvironment */ 'use strict'; var DOMChildrenOperations = __webpack_require__(74); var ReactDOMIDOperations = __webpack_require__(85); var ReactPerf = __webpack_require__(58); /** * Abstracts away all functionality of the reconciler that requires knowledge of * the browser context. TODO: These callers should be refactored to avoid the * need for this injection. */ var ReactComponentBrowserEnvironment = { processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates, replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup, /** * If a particular environment requires that some resources be cleaned up, * specify this in the injected Mixin. In the DOM, we would likely want to * purge any cached node ID lookups. * * @private */ unmountIDFromEnvironment: function (rootNodeID) {} }; ReactPerf.measureMethods(ReactComponentBrowserEnvironment, 'ReactComponentBrowserEnvironment', { replaceNodeWithMarkup: 'replaceNodeWithMarkup' }); module.exports = ReactComponentBrowserEnvironment; /***/ }, /* 74 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DOMChildrenOperations */ 'use strict'; var DOMLazyTree = __webpack_require__(75); var Danger = __webpack_require__(80); var ReactMultiChildUpdateTypes = __webpack_require__(84); var ReactPerf = __webpack_require__(58); var createMicrosoftUnsafeLocalFunction = __webpack_require__(76); var setInnerHTML = __webpack_require__(79); var setTextContent = __webpack_require__(77); function getNodeAfter(parentNode, node) { // Special case for text components, which return [open, close] comments // from getNativeNode. if (Array.isArray(node)) { node = node[1]; } return node ? node.nextSibling : parentNode.firstChild; } /** * Inserts `childNode` as a child of `parentNode` at the `index`. * * @param {DOMElement} parentNode Parent node in which to insert. * @param {DOMElement} childNode Child node to insert. * @param {number} index Index at which to insert the child. * @internal */ var insertChildAt = createMicrosoftUnsafeLocalFunction(function (parentNode, childNode, referenceNode) { // We rely exclusively on `insertBefore(node, null)` instead of also using // `appendChild(node)`. (Using `undefined` is not allowed by all browsers so // we are careful to use `null`.) parentNode.insertBefore(childNode, referenceNode); }); function insertLazyTreeChildAt(parentNode, childTree, referenceNode) { DOMLazyTree.insertTreeBefore(parentNode, childTree, referenceNode); } function moveChild(parentNode, childNode, referenceNode) { if (Array.isArray(childNode)) { moveDelimitedText(parentNode, childNode[0], childNode[1], referenceNode); } else { insertChildAt(parentNode, childNode, referenceNode); } } function removeChild(parentNode, childNode) { if (Array.isArray(childNode)) { var closingComment = childNode[1]; childNode = childNode[0]; removeDelimitedText(parentNode, childNode, closingComment); parentNode.removeChild(closingComment); } parentNode.removeChild(childNode); } function moveDelimitedText(parentNode, openingComment, closingComment, referenceNode) { var node = openingComment; while (true) { var nextNode = node.nextSibling; insertChildAt(parentNode, node, referenceNode); if (node === closingComment) { break; } node = nextNode; } } function removeDelimitedText(parentNode, startNode, closingComment) { while (true) { var node = startNode.nextSibling; if (node === closingComment) { // The closing comment is removed by ReactMultiChild. break; } else { parentNode.removeChild(node); } } } function replaceDelimitedText(openingComment, closingComment, stringText) { var parentNode = openingComment.parentNode; var nodeAfterComment = openingComment.nextSibling; if (nodeAfterComment === closingComment) { // There are no text nodes between the opening and closing comments; insert // a new one if stringText isn't empty. if (stringText) { insertChildAt(parentNode, document.createTextNode(stringText), nodeAfterComment); } } else { if (stringText) { // Set the text content of the first node after the opening comment, and // remove all following nodes up until the closing comment. setTextContent(nodeAfterComment, stringText); removeDelimitedText(parentNode, nodeAfterComment, closingComment); } else { removeDelimitedText(parentNode, openingComment, closingComment); } } } /** * Operations for updating with DOM children. */ var DOMChildrenOperations = { dangerouslyReplaceNodeWithMarkup: Danger.dangerouslyReplaceNodeWithMarkup, replaceDelimitedText: replaceDelimitedText, /** * Updates a component's children by processing a series of updates. The * update configurations are each expected to have a `parentNode` property. * * @param {array} updates List of update configurations. * @internal */ processUpdates: function (parentNode, updates) { for (var k = 0; k < updates.length; k++) { var update = updates[k]; switch (update.type) { case ReactMultiChildUpdateTypes.INSERT_MARKUP: insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode)); break; case ReactMultiChildUpdateTypes.MOVE_EXISTING: moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode)); break; case ReactMultiChildUpdateTypes.SET_MARKUP: setInnerHTML(parentNode, update.content); break; case ReactMultiChildUpdateTypes.TEXT_CONTENT: setTextContent(parentNode, update.content); break; case ReactMultiChildUpdateTypes.REMOVE_NODE: removeChild(parentNode, update.fromNode); break; } } } }; ReactPerf.measureMethods(DOMChildrenOperations, 'DOMChildrenOperations', { replaceDelimitedText: 'replaceDelimitedText' }); module.exports = DOMChildrenOperations; /***/ }, /* 75 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DOMLazyTree */ 'use strict'; var createMicrosoftUnsafeLocalFunction = __webpack_require__(76); var setTextContent = __webpack_require__(77); /** * In IE (8-11) and Edge, appending nodes with no children is dramatically * faster than appending a full subtree, so we essentially queue up the * .appendChild calls here and apply them so each node is added to its parent * before any children are added. * * In other browsers, doing so is slower or neutral compared to the other order * (in Firefox, twice as slow) so we only do this inversion in IE. * * See https://github.com/spicyj/innerhtml-vs-createelement-vs-clonenode. */ var enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\bEdge\/\d/.test(navigator.userAgent); function insertTreeChildren(tree) { if (!enableLazy) { return; } var node = tree.node; var children = tree.children; if (children.length) { for (var i = 0; i < children.length; i++) { insertTreeBefore(node, children[i], null); } } else if (tree.html != null) { node.innerHTML = tree.html; } else if (tree.text != null) { setTextContent(node, tree.text); } } var insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) { // DocumentFragments aren't actually part of the DOM after insertion so // appending children won't update the DOM. We need to ensure the fragment // is properly populated first, breaking out of our lazy approach for just // this level. if (tree.node.nodeType === 11) { insertTreeChildren(tree); parentNode.insertBefore(tree.node, referenceNode); } else { parentNode.insertBefore(tree.node, referenceNode); insertTreeChildren(tree); } }); function replaceChildWithTree(oldNode, newTree) { oldNode.parentNode.replaceChild(newTree.node, oldNode); insertTreeChildren(newTree); } function queueChild(parentTree, childTree) { if (enableLazy) { parentTree.children.push(childTree); } else { parentTree.node.appendChild(childTree.node); } } function queueHTML(tree, html) { if (enableLazy) { tree.html = html; } else { tree.node.innerHTML = html; } } function queueText(tree, text) { if (enableLazy) { tree.text = text; } else { setTextContent(tree.node, text); } } function DOMLazyTree(node) { return { node: node, children: [], html: null, text: null }; } DOMLazyTree.insertTreeBefore = insertTreeBefore; DOMLazyTree.replaceChildWithTree = replaceChildWithTree; DOMLazyTree.queueChild = queueChild; DOMLazyTree.queueHTML = queueHTML; DOMLazyTree.queueText = queueText; module.exports = DOMLazyTree; /***/ }, /* 76 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule createMicrosoftUnsafeLocalFunction */ /* globals MSApp */ 'use strict'; /** * Create a function which has 'unsafe' privileges (required by windows8 apps) */ var createMicrosoftUnsafeLocalFunction = function (func) { if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) { return function (arg0, arg1, arg2, arg3) { MSApp.execUnsafeLocalFunction(function () { return func(arg0, arg1, arg2, arg3); }); }; } else { return func; } }; module.exports = createMicrosoftUnsafeLocalFunction; /***/ }, /* 77 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule setTextContent */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var escapeTextContentForBrowser = __webpack_require__(78); var setInnerHTML = __webpack_require__(79); /** * Set the textContent property of a node, ensuring that whitespace is preserved * even in IE8. innerText is a poor substitute for textContent and, among many * issues, inserts
instead of the literal newline chars. innerHTML behaves * as it should. * * @param {DOMElement} node * @param {string} text * @internal */ var setTextContent = function (node, text) { node.textContent = text; }; if (ExecutionEnvironment.canUseDOM) { if (!('textContent' in document.documentElement)) { setTextContent = function (node, text) { setInnerHTML(node, escapeTextContentForBrowser(text)); }; } } module.exports = setTextContent; /***/ }, /* 78 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule escapeTextContentForBrowser */ 'use strict'; var ESCAPE_LOOKUP = { '&': '&', '>': '>', '<': '<', '"': '"', '\'': ''' }; var ESCAPE_REGEX = /[&><"']/g; function escaper(match) { return ESCAPE_LOOKUP[match]; } /** * Escapes text to prevent scripting attacks. * * @param {*} text Text value to escape. * @return {string} An escaped string. */ function escapeTextContentForBrowser(text) { return ('' + text).replace(ESCAPE_REGEX, escaper); } module.exports = escapeTextContentForBrowser; /***/ }, /* 79 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule setInnerHTML */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var WHITESPACE_TEST = /^[ \r\n\t\f]/; var NONVISIBLE_TEST = /<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/; var createMicrosoftUnsafeLocalFunction = __webpack_require__(76); /** * Set the innerHTML property of a node, ensuring that whitespace is preserved * even in IE8. * * @param {DOMElement} node * @param {string} html * @internal */ var setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) { node.innerHTML = html; }); if (ExecutionEnvironment.canUseDOM) { // IE8: When updating a just created node with innerHTML only leading // whitespace is removed. When updating an existing node with innerHTML // whitespace in root TextNodes is also collapsed. // @see quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.html // Feature detection; only IE8 is known to behave improperly like this. var testElement = document.createElement('div'); testElement.innerHTML = ' '; if (testElement.innerHTML === '') { setInnerHTML = function (node, html) { // Magic theory: IE8 supposedly differentiates between added and updated // nodes when processing innerHTML, innerHTML on updated nodes suffers // from worse whitespace behavior. Re-adding a node like this triggers // the initial and more favorable whitespace behavior. // TODO: What to do on a detached node? if (node.parentNode) { node.parentNode.replaceChild(node, node); } // We also implement a workaround for non-visible tags disappearing into // thin air on IE8, this only happens if there is no visible text // in-front of the non-visible tags. Piggyback on the whitespace fix // and simply check if any non-visible tags appear in the source. if (WHITESPACE_TEST.test(html) || html[0] === '<' && NONVISIBLE_TEST.test(html)) { // Recover leading whitespace by temporarily prepending any character. // \uFEFF has the potential advantage of being zero-width/invisible. // UglifyJS drops U+FEFF chars when parsing, so use String.fromCharCode // in hopes that this is preserved even if "\uFEFF" is transformed to // the actual Unicode character (by Babel, for example). // https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216 node.innerHTML = String.fromCharCode(0xFEFF) + html; // deleteData leaves an empty `TextNode` which offsets the index of all // children. Definitely want to avoid this. var textNode = node.firstChild; if (textNode.data.length === 1) { node.removeChild(textNode); } else { textNode.deleteData(0, 1); } } else { node.innerHTML = html; } }; } testElement = null; } module.exports = setInnerHTML; /***/ }, /* 80 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule Danger */ 'use strict'; var DOMLazyTree = __webpack_require__(75); var ExecutionEnvironment = __webpack_require__(48); var createNodesFromMarkup = __webpack_require__(81); var emptyFunction = __webpack_require__(11); var getMarkupWrap = __webpack_require__(83); var invariant = __webpack_require__(7); var OPEN_TAG_NAME_EXP = /^(<[^ \/>]+)/; var RESULT_INDEX_ATTR = 'data-danger-index'; /** * Extracts the `nodeName` from a string of markup. * * NOTE: Extracting the `nodeName` does not require a regular expression match * because we make assumptions about React-generated markup (i.e. there are no * spaces surrounding the opening tag and there is at least one attribute). * * @param {string} markup String of markup. * @return {string} Node name of the supplied markup. * @see http://jsperf.com/extract-nodename */ function getNodeName(markup) { return markup.substring(1, markup.indexOf(' ')); } var Danger = { /** * Renders markup into an array of nodes. The markup is expected to render * into a list of root nodes. Also, the length of `resultList` and * `markupList` should be the same. * * @param {array} markupList List of markup strings to render. * @return {array} List of rendered nodes. * @internal */ dangerouslyRenderMarkup: function (markupList) { !ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyRenderMarkup(...): Cannot render markup in a worker ' + 'thread. Make sure `window` and `document` are available globally ' + 'before requiring React when unit testing or use ' + 'ReactDOMServer.renderToString for server rendering.') : invariant(false) : void 0; var nodeName; var markupByNodeName = {}; // Group markup by `nodeName` if a wrap is necessary, else by '*'. for (var i = 0; i < markupList.length; i++) { !markupList[i] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyRenderMarkup(...): Missing markup.') : invariant(false) : void 0; nodeName = getNodeName(markupList[i]); nodeName = getMarkupWrap(nodeName) ? nodeName : '*'; markupByNodeName[nodeName] = markupByNodeName[nodeName] || []; markupByNodeName[nodeName][i] = markupList[i]; } var resultList = []; var resultListAssignmentCount = 0; for (nodeName in markupByNodeName) { if (!markupByNodeName.hasOwnProperty(nodeName)) { continue; } var markupListByNodeName = markupByNodeName[nodeName]; // This for-in loop skips the holes of the sparse array. The order of // iteration should follow the order of assignment, which happens to match // numerical index order, but we don't rely on that. var resultIndex; for (resultIndex in markupListByNodeName) { if (markupListByNodeName.hasOwnProperty(resultIndex)) { var markup = markupListByNodeName[resultIndex]; // Push the requested markup with an additional RESULT_INDEX_ATTR // attribute. If the markup does not start with a < character, it // will be discarded below (with an appropriate console.error). markupListByNodeName[resultIndex] = markup.replace(OPEN_TAG_NAME_EXP, // This index will be parsed back out below. '$1 ' + RESULT_INDEX_ATTR + '="' + resultIndex + '" '); } } // Render each group of markup with similar wrapping `nodeName`. var renderNodes = createNodesFromMarkup(markupListByNodeName.join(''), emptyFunction // Do nothing special with ================================================ FILE: Day 002 - React App with Nav + State Props/webpack.config.js ================================================ module.exports = { entry: "./app/App.js", output: { filename: "public/bundle.js" }, module: { loaders: [ { test: /\.jsx?$/, exclude: /(node_modules|bower_components)/, loader: 'babel', query: { presets: ['react', 'es2015'] } } ] } } ================================================ FILE: Day 003 - React App with Firebase/README.md ================================================ 100DaysOfCode Challenge - React App #DAY 3 -  ReactFire, Firebase for Data Persistence Day 3 focus was to add data persistence to the app using ReactFire and Firebase which provides a realtime JSON database for storing and syncing your app’s data. - Added data persistence to the app using ReactFire and Firebase. - Data was seeded into the realtime JSON database. - Created a notes list component that renders a bootstrapped list using data binding property. Read more about it on medium here: https://medium.com/@harinilabs About me and other interesting projects on my website: http://HariniLabs.com/ ================================================ FILE: Day 003 - React App with Firebase/app/App.js ================================================ var React = require('react'); var ReactDOM = require('react-dom'); var Router = require('react-router').Router; var routes = require('./config/routes'); ReactDOM.render( {routes}, document.getElementById('app') ) ================================================ FILE: Day 003 - React App with Firebase/app/components/Github/Repos.js ================================================ var React = require('react'); var Repos = React.createClass({ render: function(){ return (

REPOS

REPOS: {this.props.repos}
) } }) module.exports = Repos; ================================================ FILE: Day 003 - React App with Firebase/app/components/Github/UserProfile.js ================================================ var React = require('react'); var UserProfile = React.createClass({ render: function(){ return (

USER PROFILE!

Username: {this.props.username}

Bio: {this.props.bio.name}

) } }) module.exports = UserProfile; ================================================ FILE: Day 003 - React App with Firebase/app/components/Home.js ================================================ var React = require('react'); var Home = React.createClass({ render: function(){ return(

Search By Github Username Above

) } }) module.exports = Home; ================================================ FILE: Day 003 - React App with Firebase/app/components/Main.js ================================================ var React = require('react'); var Main = React.createClass({ render: function(){ return (
{this.props.children}
) } }); module.exports = Main; ================================================ FILE: Day 003 - React App with Firebase/app/components/Notes/Notes.js ================================================ var React = require('react'); var NotesList = require('./NotesList'); var Notes = React.createClass({ render: function(){ return (

Notes for {this.props.username}

) } }) module.exports = Notes; ================================================ FILE: Day 003 - React App with Firebase/app/components/Notes/NotesList.js ================================================ var React = require('react') var NotesList = React.createClass({ render: function(){ var notes = this.props.notes.map(function(note, index){ return
  • {note['.value']}
  • }) return (
      {notes}
    ) } }); module.exports = NotesList; ================================================ FILE: Day 003 - React App with Firebase/app/components/Profile.js ================================================ var React = require('react'); var Router = require('react-router'); var Repos = require('./Github/Repos'); var UserProfile = require('./Github/UserProfile'); var Notes = require('./Notes/Notes'); var ReactFireMixin = require('reactfire'); var Firebase = require('firebase'); var Profile = React.createClass({ mixins: [ReactFireMixin], getInitialState: function(){ return { notes: [1,2,3], bio: { name: 'Tyler McGinnis' }, repos: ['a', 'b', 'c'] } }, componentDidMount: function(){ this.ref = new Firebase('https://amber-fire-5168.firebaseio.com/'); var childRef = this.ref.child(this.props.params.username); this.bindAsArray(childRef, 'notes'); }, componentWillUnmount: function(){ this.unbind('notes'); }, render: function(){ console.log(this.props) return (
    ) } }) module.exports = Profile; ================================================ FILE: Day 003 - React App with Firebase/app/config/routes.js ================================================ var React = require('react'); var Main = require('../components/Main'); var Home = require('../components/Home'); var Profile = require('../components/Profile'); var Router = require('react-router'); var Route = Router.Route; var IndexRoute = Router.IndexRoute; module.exports = ( ); ================================================ FILE: Day 003 - React App with Firebase/github-note-taker-export.json ================================================ { "@nhunzaker" : { "-JkEakvIOYoYFrbDNNxC" : "foo", "-JkEalyMWAGllG6FVp-x" : "bar", "-JkEam6GFfmru-FlNehe" : "", "-JkEam8mlUR_RXu5ChTh" : "", "-JkEamB2sc-j5Uwm6QVd" : "", "-JkEamGX_q6yXYoLAIA4" : "", "-JkEamIvT_SbdJB9Z39z" : "" }, "Azubike" : { "-JgVGgCSsj36KFjtfSAD" : "ok" }, "Borillo" : { "-JhGhHVg-WdSsKQOVJMu" : "Test" }, "BrockNeilson" : { "-Jm-PcqBiUfp8OUsbRuM" : "First" }, "Chiqui" : [ "Wow!", "This is nice!", "Hola", "Hey", "Chiqui?" ], "Dedj" : [ "Loud Noises" ], "Froelund" : { "0" : "asd", "-Ju7NGIKwjnDZlmFbDaP" : "asdljas", "-Ju7NHX-kuc2lusd9QXC" : "HAHAHA", "-Ju7NHdUIqlenVxpS0Ji" : "asda", "-Ju7NKhwjbowQG0HQobY" : "HAA", "-JuGtmqfg6Y2l9wmlaUb" : "test" }, "FutureKode" : [ "hello mate" ], "Ggoals" : [ "hi" ], "Github" : [ "Wow!", "This is nice!", "Hola" ], "Grobiou" : [ "Wow!", "This is nice!", "Hola", "Hey", "Paso algo a Chiqui?" ], "Jack_DiCianni" : [ "hello", "", "whats good", "yooo", "", "good guy", "hello", "hello" ], "Jessica" : [ "Whee" ], "JoaoFOliveira" : { "-JivXmW3tvZF42sxIk6B" : "", "-JivXmfYZFs6I0js6oVN" : "", "-JivXmiPoIekS2hYLTAI" : "", "-JivXmlBgCMSehM-ZC-j" : "", "-JivXmnuBmeU8m8uWsri" : "" }, "Miyan0" : [ "test", "adding one" ], "NikoLoza" : [ "yooo", "you are cool", "es 6 refactor worked" ], "Raymond" : [ "", "", "He is charming", "Consitent", "Hard Working" ], "Ricardo" : [ "asdasd", "New note", "note for ricardo", "Adding a new one", "asd", "a", "asd" ], "Steve" : [ "How now?", "Chances are." ], "TheYorickable" : { "-JlLryV4naeOw9kpBzYD" : "joe" }, "Tyler" : [ "asdasd", "New note" ], "a" : [ "a", "b", "b", "a", "a", "holaola!", "sup peeps" ], "acveer" : { "-JkdX74ibQZUdfEPMJNq" : "hi dude", "-JkdX7aIxNB1CYb34XRN" : "asdfasd", "-JkdX7whrIJX6sH4Dwvz" : "asdfasdf", "-JkdX8RM0004F75XZLCE" : "adsfadf" }, "adamaoc" : [ "This guy is cool too!" ], "adambien" : { "-Ju7dWfS-w4lXh6smyFt" : "Cool JavaEE Dude!" }, "adamjcook" : [ "hey buddy", "mechanical engineering" ], "aldeed" : { "-JoqXUnIHJLNdD8W8745" : "este e un salsao" }, "alecmmoore" : { "-JnMrSTWtmgdxMHuLoQa" : "alec!" }, "alemik" : [ "wazup peps?" ], "alexdaube" : [ "tits up", "Moar Tits!", "AGAIN TITS" ], "altuzar" : { "-Jpe7NesCBagfVJYHKhE" : "lucas" }, "amit" : [ "aaa" ], "ammark" : { "-JlKBnT6Db1tnXWzxLpP" : "good one" }, "andrewabogado" : [ "Hello note", "Hello there, Andrew", "Andrew Abogado daw oh!" ], "andrewwho" : { "-JfaaFRM1m0tcXlYvAZk" : "interesting" }, "andybangs" : [ "new note for andy" ], "angela_igreja" : [ "ola" ], "anusha12" : { "-Jnhj2DgAoQnQiZwn_TI" : "anusha" }, "apple" : [ "lol" ], "asaldivar" : [ "adsfaf" ], "astaxie" : { "-Jhp4n9OlkAnLysRpYA3" : "some DB guy", "-Jhp4zUcWzyMcaKC-1Dk" : "works at apple shanghai" }, "ayozebarrera" : [ "okay!" ], "baileyb" : [ "", "New note", "", "Another one", "And another", "Test the note using electron" ], "ben-chin" : { "-JkTtAKr_EU3UxgVo4d8" : "hey ben" }, "bgribbin" : [ "note1" ], "billyct" : { "-JrxcJpt8rnMUbBZUweY" : "Y" }, "blainegunn" : { "-JkETtMVKoi9wV4MFDYM" : "dopecity.com" }, "bobbyangelov" : [ "test", "cool" ], "bornaeon" : [ "new text from my side", "this is my second text", "Third text from es6" ], "bosea" : { "-Jr8mpcAeZ1bRDgo9T9H" : "test" }, "brittanydutra" : [ "she's alright", "where are your repos", "hello!" ], "brunoksato" : { "-Jo67-aamw73bM6mkb9O" : "bruno kenji now", "-Jo671JHoMKpuFI-e0Lq" : "se eh loko que top fico isso meu", "-Jo6726YPR1SFZRfP4TN" : "asidhiohiofowehf doidera", "-Jo67mxZNiBOFkoCi7N_" : "se eh loko saohdioashd", "-JoWAPgHD0oafpv19LwW" : "wehfwuihefuhweuif ", "-JoWAQUFq2ob6lhMtXoz" : "oi oio ioio ", "-JoWARA5f14TAy-78lPG" : "opfjiowe hfiwhefiu ehw", "-Jp89p--ioOr1NfK44lc" : "iowehfiowehfioef", "-Jp8AtHeQhCf5UQeOrkg" : "teste1" }, "bsy" : { "-JkEmcEP_iRc2uTzIE7j" : "awesome dude" }, "busybigwhite" : [ "add note test" ], "cahlan" : { "-JkGQ4vZn7eZVcj4U16_" : "whaaaaa" }, "calebhicks" : { "-JmKmpBeKGm2HbzkKIST" : "Really smart.", "-JmKmq-RiZYuBR74g8am" : "Boom" }, "carlosepp" : { "-JpIu6YCymwZw_XRNoJp" : "Hola", "-JpIu8lAdyoSYzrruBuC" : "Como estas___" }, "cedricgc" : [ "what a cool dude" ], "cendekia" : { "-JsY_qchE6bCRTjSVVYy" : "Coba", "-JsYa-yK5_BgYPL5xugd" : "Nicely done" }, "cheeaun" : [ "He's pretty awesome developer" ], "chentsulin" : [ "他是一哥" ], "chiara-yen" : [ "1", "2", "3", "4" ], "chibird12" : [ "hello", "notes", "asdasd", "asdasd", "asdasd", "asdasd", "dasdasd", "asfsdf", "asdasd" ], "chrisrzhou" : [ "chris first note", "es6 note" ], "christoomey" : { "-JooqRVKxIKhYY0MgFG7" : "Thins and stuff" }, "chumster" : { "-JrBo4E5yIk-HIGef8mX" : "test 12345", "-JrBoF93SRts-34ofEUo" : "", "-JrBoFRpEpMnhd-qpSwm" : "", "-JrBoFUpJ2enQMcoC5Qe" : "", "-JrBoFXiozqfdY36Tq6B" : "" }, "colebowl" : { "-Jnhu8KwfkShx3_9Iwj8" : "zazz!", "-Jnhu9y34SWpEjbJ0aPD" : "bitches ain shit!", "-JnhuJBZIVoqOsMIPBPa" : "wrgwrg" }, "collardeau" : { "-JkEhZN4XyWK0dlbiEB7" : "hello", "-JkEhaLA5xNeMDszRTNc" : "reactweek" }, "controlz" : [ "good guy", "fasdfdsf", "asdfdsfdsaf" ], "cookchristopher" : [ "test" ], "corymsmith" : { "-Jn6u3rKceC34Tl_nri8" : "asdfasdfsdafasdfasdf" }, "crispincornett" : { "-JkZaG8bU6XY6cqg5H82" : "dat profile pic tho", "-JkZaHXOLt_8jv9_OWIK" : "Finished! " }, "daboymarky" : [ "geen" ], "danethurber" : { "-JkEzBJz-TdDmsTGNZKv" : "note" }, "danielkamhi" : { "-Jj5_fAmKZ7Ur0hKMhij" : "hello" }, "danpetruk" : { "-JsUC18wU1Xi6eCMnkbJ" : "Privet, Dan Petruk - great programmer for Android!" }, "davidwells" : { "-JkEpQmDGbKNb52OUT1q" : "fff" }, "dburdick" : { "-Jncha98AE4UMAykbRuT" : "test", "-JnchbGnLScttVIkzShZ" : "yesy" }, "dconger" : { "-Jkir2VFw42wrnXur-os" : "Test", "-Jkt7aAvJeivIrWL5zkt" : "Sassy", "-Jkt7kVaqccH_QD8i8Fw" : "Sassy", "-Jkt7sqTVIudxNRZpACz" : "Sassy2", "-Jkt7zQwJRfrR2nW3qcO" : "Test" }, "dedj" : [ "loud noises", "ttis", "TITIES" ], "derny" : [ "This guy is awesome" ], "df" : { "-Jge6nIaKEHpHpiN-wFg" : "saurav" }, "dfffdfdfd" : [ "fdfdd" ], "dfgfg" : { "-JjLwPFB5WvVc7V15msZ" : "dfgdfg", "-JjLwPSvFeibcEvWznjJ" : "", "-JjLwQ7X9mnyumAjzHyo" : "fdgdfg", "-JjLwQ_eGR7z7wSHKkNh" : "", "-JjLwQdAhDYpdovoyio3" : "", "-JjLwQgAO_vYFyiXVCsn" : "", "-JjLwQjI2Uzahl4Kv_hN" : "", "-JjLwQmQSj8NeLGpshBk" : "", "-JjLwQpYgxzyTgwvc_p_" : "", "-JjLwRDgU1KBzVXgIHYl" : "gdgdfgfd", "-JjLwRLI3PrDFkHfhVyi" : "", "-JjLwROI6Xff9ClaYfAc" : "", "-JjLwRQnRdM9yz8rDOPl" : "" }, "dgoodwin208" : { "-JoX5ez-6hzChEEPf9R3" : "native", "-JoX5fgHRZQjToFYRQTz" : "notes" }, "dhh" : [ "test", "exoerience", "likes to complain", "another test", "note" ], "diazuwi" : [ "g", "e", "d", "e", "x", "i" ], "dmccraw" : [ "Youre awesome" ], "dmtepe" : { "-JkJF1nDq8rA_RwPDsSF" : "he is a fool" }, "dougmacklin" : [ "this guy is cool", "hi doug!", "woah" ], "dougmcclurg" : { "-JjEVxKrCn5adKB_xiCF" : "hey", "-JjEVyaC04u9wsRefkq4" : "yo" }, "dozstudio" : [ "awesome", "", "", "", "", "", "", "" ], "dsacramone" : { "-JkFDxQP8b_EzpzvJPmI" : "test", "-JkFDyL-ijmpMoUbxFE3" : "ppopo" }, "dshefman" : { "-JkEKGl1WInP2cBCdPAG" : "note 1", "-JkEKHvFwEkhEktgk_2u" : "note 2" }, "duma" : { "-JkvBs5lV3Fehk0d5bVb" : "creepy!" }, "dunckr" : { "-JrUYRDedmtFKzwzDIXm" : "hello", "-JrUYSuD6nhVQbz0ETJ5" : "blah blah blah" }, "eanplatter" : [ "Gives good advice about Technology", "Add new note", "asdasda" ], "earandes" : { "-JnfYYnj9nufYC8PaAAH" : "Kiss him :*" }, "eggheadio" : [ "Kult konsept", "Fin på håret" ], "erikthedeveloper" : { "-JibKM0_bDwhQsdwzGg_" : "He basically rocks" }, "erturne" : [ "test", "blah", "foo", "blah blah", "another" ], "etty" : { "-JkE6JKz1eqiFaswEoxG" : "yyy", "-JkE6KL4SLxclBblOOOO" : "yyyr" }, "ettysekhon" : { "-JkE6XV_GSHteQ8TTjze" : "ttt" }, "facebook" : [ "faceb", "test note", "This tutorial is amazing!", "cool", "jdfjfjfjfj", "fjjfjf", "test", "jhgl" ], "fiverr" : [ "cool" ], "fjcadavid" : { "-JhrFb3sqeL9phJSSWDy" : "dadjjjj" }, "flogball00" : { "-JkEhsWvKnwFwXzzeN3H" : "test", "-JkEht97h3XzRu39MQRf" : "what" }, "fnerdrum" : [ "oleole" ], "foo" : [ "kadhdye", "qweqweesdf", "bar" ], "foxandxss" : { "-JgcrRfFO0SONDfXWtxd" : "Foo" }, "franleplant" : { "-JibxLMuBGDE0__qXY2w" : "hi", "-JibxMEVqxgmcWPTNA4b" : "bye" }, "freshl" : { "-JovDgadzEpVD3DbAT2a" : "test", "-JovDhP3_D0ijs0zXx7n" : "test12323" }, "gambleros" : [ "Holla", "yea", "Another One", "Sweet", "It works :D", "Woo", "WooHoo", "Welcome to the Woo girls" ], "gartho" : { "-JiMDe7ofquHqaj9FzAo" : "Some notes" }, "gbezyuk" : { "-JugRww1NjNuLkvBCkKH" : "check me out", "-JugS-bVGMnQkpj5kO1S" : "hmm", "-JugSCcys9s1gHaOgQKn" : "test me", "-JugYUlBTrN5T3IFShMb" : "dasd" }, "gdi2290" : { "-JduQiv4GQMW7kptjBqg" : "The king." }, "gedex" : [ "g", "e", "d", "e", "x" ], "getify" : { "-JiTPERZIK_yJEFpkmEL" : "asd" }, "ghiden" : [ "test test test" ], "git-peng" : { "-JkfDR9PzAmdMOF8QseA" : "hello" }, "gnatok" : { "-JnfYCDRyrVQqR_K_KmR" : "Kiss him" }, "goffreder" : { "-JktQUbHuuGzt1mGd-WG" : "Note to self: go to sleep" }, "google" : { "-Js98EkvPlvq3xBvY8pG" : "123 " }, "gpusnik" : { "-Jll9_4v47jCPhuutjKD" : "koko", "-Jll9_ocJfd7X8Jrn5ZG" : "loko" }, "greg" : [ "Woo", "Foo!" ], "greypants" : { "-JkEoYNabPcSSHizT0pw" : "has a man bun" }, "grobiou" : [ "Wow!", "This is nice!" ], "guido4000" : { "-JkEDYGI_WsIsfT2hE17" : "teset" }, "guioum" : { "-JoyFu1VksqYaDHoWCqX" : { "loc" : { "coordinates" : [ -73.594508227148, 45.430593062372516 ], "type" : "Point" }, "text" : "hello word this is cool." } }, "hanksudo" : [ "test", "yo", "123", "me hanksudo" ], "harry" : [ "aa", "dfdf" ], "heathgr" : { "-JkEUdYGymXtxtqxTraC" : "He is a sexy beast!!!" }, "hello world" : { "-Jk4Y2x0nOj4QUzsnHKw" : "reactjs" }, "heydemo" : [ "wut" ], "hukuuu" : { "-JibeL8fT8Im3mOX_PTd" : "ee", "-JibeLbXafL5_QZMSrO3" : "adsf", "-JibeMYwtIq3imrIG7sL" : "adsfasdfasdf", "-JibeR-hyAZ-hFe2G1ff" : "", "-JibeR734CGy12WfXYJq" : "" }, "hunterc" : { "-JfcoIQzvW9JorsM_YGu" : "abc", "-JfcoIjO5VsmgBIVJHmN" : "", "-JfcoIs--lSotdruCUa9" : "", "-JfcoIxzfxkJw5gqK8g3" : "", "-JfcoJ0qKOYYLxzkg-0V" : "" }, "husainsfabbas" : { "-Jg7VJBq3eGaBpcFBaHy" : "asdf", "-Jg7VJcLOD_mXk8SXoI9" : "adsf", "-Jg7VKHa5-oppfQXvvcr" : "dfdfd" }, "hvdklauw" : [ "Test", "d", "TEst" ], "iammerrick" : [ "The best!", "hi", "Third note", "one more note", "test", "test for add notes", "Hello", "hello", "like this", "woohoo!" ], "icetan" : { "-Ji7Rgowey80Kvpuax2-" : "test" }, "ide" : { "-Jq5f6VTd0bjFodzfKqW" : " This is the boss" }, "ijones16" : { "-JnClpvD7sB8y_tzoXhw" : "new note", "-JnFWpxRBqovEz0f2VAS" : "boom." }, "ikuu" : [ "new note", "Another note" ], "isomoar" : [ "lalala" ], "ivinjose" : [ "superb" ], "jacob-israel-turner" : [ "woo", "Haha", "WTF", "tetttt", "Jacob rockss...." ], "jak" : [ "hai", "hello" ], "jake" : [ "note for jake", "jakke" ], "jakelingwall" : { "0" : "note1", "1" : "note2", "2" : "note 3", "3" : "Note 4", "4" : "note5", "5" : "", "6" : "Note 3", "7" : "helllo there", "8" : "", "-JugSizVlM-1ijz6OPxZ" : "gimmesec", "-JugSlbdwr9jTIZZjurt" : "wat" }, "jakeoverall" : { "-JkDy8De8YY9gWnqPnC1" : "woot!" }, "jaketrent" : { "-JkEGCCocmSasL5cPoiE" : "hello, jake" }, "james" : [ "what", "James note", "cijo" ], "jamischarles" : { "-JkK0lcPixDzcR4MeZTz" : "Testing", "-JkK0nLAqO0fUZvNri-9" : "Pretty cool stuff" }, "jarvisaoieong" : { "-JiaqQG6Cgmna5L-6zTW" : "awesome" }, "jbrunson" : [ "hello" ], "jdiciann" : [ "ciao" ], "jehoshua02" : { "-JkFwQ9qTdn5-0CxZehO" : "This guy is weird.", "-JkFwTLZ73t4q-FyYI7t" : "He's pretty cool though. I guess." }, "jekelingwall" : [ "New Note" ], "jerquiz" : { "-JgjNyQZvD1D1tzxwTs9" : "dfs", "-JgjNzDtsVhlNBkStl_u" : "sdfsdf" }, "jlangston" : { "-JsUFMVwa05_yceChtDR" : "This is This i" }, "jmandzik" : { "-JgHyyFfbuoRDP9Qxsy-" : "asdf" }, "joel100" : { "-JreZrN0_Tuo3VJ7kHQH" : "blah" }, "joelhooks" : { "-JnFWjKFUdz6-ngUoGtp" : "what a cool guy!" }, "jonathanong" : [ "asdfaa" ], "jongleberry" : [ "new note" ], "joseforosz" : { "-JkElJNz0gVSTw7lIWb4" : "test" }, "joshforbes" : [ "test", "test2", "3" ], "jsammarco" : { "-JlOLAdF4CsnWLuUalYP" : "Test Note" }, "jsphkhan" : { "-JnavD3EvRuxp9_ch1uW" : "Hi" }, "justinhernandez" : { "-Jny062q673KPrkWtQaZ" : "gmhjhg" }, "karthikv107" : { "-JnyMunbYNW7YGckbHsd" : "anusha" }, "killfish" : { "-JnPLARi3mA8U1uuPdMP" : "Hhhhhhhhhhhhhhhhhhh", "-JnPLAlXK2_XbPnGhwqs" : "", "-JnPLAy2ho-Fk9MVzn-a" : "" }, "knicklabs" : [ "test", "This is a test of something", "Checking that this works... blah blah", "sdfdsfsdf", "asdfdsaf", "oooh", "test", "fgfdsgfdg", "asdfdsf", "asdfdsf", "asdfdasf" ], "knowbody" : { "-Jjd-0Ixe07Sw2dcqbRD" : "hello" }, "kovcic" : [ "test", "one more test", "works!", "asdasd" ], "kristofmic" : { "-JkE_ue4bA0eq7FUhUB_" : "react week" }, "krol" : [ "fdfdf", "fd", "fd" ], "kyle" : [ "xxsx", "dsd", "dsd", "dsds", "sdsd", "AAS", "rrdd" ], "kyle-ssg" : { "-JoiGSe8IMeEsCfuZUH2" : "Test", "-JoiGUcxPnlkTicr-Uze" : "G" }, "laracasts" : { "-JrSaFgxCBJre3epJWnm" : "React Native - very impressive!" }, "laravel" : { "-JiOrROs-7CFOo33MWwW" : "a", "-JiOrSIDSYSQV16CJs78" : "vvvv" }, "learn" : { "-JhmFqG1yff0OBmixtno" : "learn", "-JhmFrN1XQiXZoNRbNhv" : "it", "-JhmFs63Y5YeUNP7Oe6L" : "well", "-JhmFsraMIZ1s8JxiXo0" : "here" }, "leehsueh" : { "-JkFTQ46hBrXsEhJJ6_Y" : "test" }, "leesus" : [ "helloo", "hey" ], "llanox" : { "-Jp8rmk91NetMZjTU-XF" : "Oe", "-JqAupArgkwy0Gsh2rSk" : "Note 2" }, "loganrice" : [ "adf" ], "logicalguess" : { "-Jr5pOqzdbA_CSUeK-Tq" : "test", "-Jr5pS0MqBIxjdR1-66a" : "another" }, "magalhini" : [ "First note for magalhini", "Another note" ], "magnus-bergman" : { "-Jo4RmcysH484QP_YM4W" : "asdas" }, "maringerov" : [ "That's my profile!" ], "maurisalazar" : { "-JoqXBdZXyD47MEPOGdV" : "bueno como va", "-JoqXDbssBvDp3mTonxE" : "aca andan los pibes", "-JoqYeEeFNEoExNMCbE2" : "este se la come" }, "mazzio97" : [ "He really likes React" ], "michaelghinrichs" : { "-JkE-NBiGmlHsWQiCLL1" : "NARP", "-JkE-Pi37HChVn6Mr6Bt" : "WAT YOU DO NARP" }, "michaelmcmillan" : { "-Jq5eTtPKeXcKD-mD_9X" : "What a great guy", "-JqKhb2BYr4rQXLt_r97" : "Omg. This guy" }, "michaelsyap" : { "-Ji_sTgrCOc8AwCDOlD5" : "Test", "-Ji_sUlqI7_0KgNnujOZ" : "Hey" }, "mikestaub" : { "-JgsH7ZRqzIQoLEl1sjy" : "test" }, "milenkovicm" : [ "marko is idiot", "asd", "asd", "asd", "asd", "123123", "123" ], "minmaxflow" : { "-JngSokRiUIrmN18zVGW" : "Minmaxflow ", "-JngSr5A7KGPLDrFnUo5" : "The " }, "mitchlandreth" : { "-JkZZiYyxqWqA81CGRzt" : "This and that" }, "miyan0" : [ "test34", "tests" ], "mollerjorge" : { "-JoqYkVR4nu0vWg8qv7Z" : "este es un salado" }, "momar" : [ "New Notes!!!", "Yesshhhh!@!@!" ], "moses" : [ "fuck!!!", "lol", "hiohoh", "dfdfd", "ere", "dddd", "moses yo", "sdsd", "soon" ], "muggezifter" : [ "De eerste", "De tweede", "De derde", "De vierde" ], "mvanlonden" : { "-JoX5Baj1j02jDtLM_5o" : "this" }, "mzabriskie" : { "-JkA8vP9tlYsVp4nQUoz" : "Cool stuff dude!!" }, "naartjie" : { "-JkErwZBzUsGP42JuPDE" : "juan note", "-JkErxs19y8Fon1_IsgK" : "ssup" }, "natec8" : { "-JkG7amMB3gX4ZZLf8H9" : "Interview", "-JkG7eCAdYTpq3jAdXCi" : "good skills", "-JkG7fSS5NAG2dMOmAyl" : "likes pizza" }, "nathanharper" : { "-JkEkLPcttOfUGjV_jOH" : "ugly", "-JkEkMg2vZhtmptjbq8R" : "weird" }, "nazanin" : [ "nice" ], "ncerovac" : { "-JiNpAITaNwfZSxJSaiX" : "bilde" }, "nhunzaker" : { "-JkEhLt4Vhh6I5qI6cuj" : "hay" }, "nii236" : { "-JrHM90Gj5n9x8BAZcSC" : "This guy is cool", "-JrHMC44lgVIrn9D4XcY" : "But I can't see the keyboard", "-JrHPgI20GyUuoBsnfbW" : "derp" }, "nimamehanian" : { "-JhSswQclhXS5QYowap9" : "hello" }, "nolvera" : { "-JpIuIlpPSxCGE20XOuJ" : "buena ni'nha" }, "nope" : { "-JkGQ7GYk5bBirHdQAtu" : "nope nope nope" }, "nosch" : [ "aaa", "aa", "Hello, nosch!", "Hi!" ], "notes" : { "123" : { "-JsjDUO5vKDrGNCRkMZm" : "gos.sebastian" }, "Dr-Jerm" : { "-JtiINukJUZBbhEENlkp" : "hello world" }, "Firebase" : { "-JtwYFDdTo6MyP2PcbmP" : "Firebase" }, "a" : { "-JuT_ACmo9b07GvKfrkD" : "no" }, "adenj" : { "-JuO3llstPu4wAUHiZZ0" : "great mate" }, "akkikumar72" : { "-JtCSmOrTNgDE07a57cl" : "Was good" }, "andrew-codes" : { "-JtEL9-cJ5xx2Usw8TVC" : "", "-JtEL978UpwV2_797MsI" : "", "-JtEL99bxZdH1Y9CFbTj" : "", "-JtEL9CEYdwTGQuIsBRk" : "", "-JtEL9EhAhGJD7SHlQGZ" : "", "-JtEL9GzLXGLqKM5UEe3" : "", "-JtEL9JSHowp80vA1nfO" : "", "-JtEL9MRzDlp_VNe45D3" : "" }, "arkadyp" : { "-JuDxVfn6kIpmviwrWPf" : "this dude is a boss" }, "braxtonchristensen" : { "-JugpFnVl3sbZ22h7Rxw" : "hmm", "-JugpH9R71Yz36QhDOAt" : "this is kinda cool" }, "browserify" : { "-Jsd1qGRpoY6QylPzeoP" : "Test Note for browserify" }, "c x x " : { "-JtAyEUNkBqvxHtoDuY6" : "dfdfd", "-JtAyEw4irUrUdalmaO-" : "fdf", "-JtAyFCDioBygDKlXfxq" : "fdf", "-JtAyFRxwha6EyZ0jiLO" : "fdf", "-JtAyFharb-VVsBfhIPQ" : "fdf", "-JtAyG-LDo6rdfaIJDKs" : "fdf", "-JtAyGIaepkQufmusNDa" : "fdf", "-JtAyGbLLvx9PWmu90PG" : "fdf" }, "dimr" : { "-JsiWj83KexWgaxXrMal" : "gfwefgqaga" }, "ego" : { "-JucNKPqwOjuAMCAwWCm" : "aaa" }, "fskinner" : { "-JsxF_213R7OgvOh7tm0" : "teste", "-JsxFaLCIx5wUhhcw8uR" : "good kid", "-JsxFcDDBQySWMPfyK-c" : "bright future" }, "gixty" : { "-JtexffqAfFn7Svo0Fju" : "this is a note!!", "-Jtexu95FT7f8fHbAkI6" : "awesome astuff" }, "gixty7" : { "-JtexAUp9PW7JoPhf5qE" : "this is a note!" }, "jasonpatrick" : { "-Jsv2OpfA_xTs6LuWmDI" : "jasontighe" }, "prbaron" : { "-Jt7X3sOAD65soxGQzh0" : "4r", "-Jt7X4PEhWC3q38ggotf" : "tr", "-Jt7X4l3aoBIVL8hwkS6" : "retrt" }, "rikujjs" : { "-JtdviMH6hr6t-Qm9ZiR" : "asdasd", "-Jtdvj9ZDkiRijiV7XK1" : "dasdas" }, "yangshun" : { "-JtCYdDxT8QtwPZsZ7wh" : "haha" }, "zvitek" : { "-JtoLM0fXY8KfQwldPdi" : "Teste", "-JtoLMgdaYcuRyiv8gC0" : "fds" } }, "nphp101" : { "-JnQaIZHV2oNYJz0FPQL" : "igi" }, "nuclearace" : { "-JkFYseFpANQzm8ZLR8F" : "no way" }, "numso" : { "-Jk8JE6sg0X0YZj0fqzq" : "Freaking Awesome!!" }, "osmanscam" : [ "asd", "asd", "asd", "1234", "123", "asd", "asd", "asd", "", "", "", "", "asd", "", "asd", "", "elama" ], "osmanscma" : [ "asd", "asd" ], "outsideris" : [ "dddd" ], "p2mbot" : { "-Jlog55KuvqRYjA_wwFa" : "dfhgdgfh", "-Jlog5Vj1QUYLZuCQxOH" : "dfghdgf", "-Jlog5rhXVzdi3bYEr7o" : "dfghd" }, "pablobrady" : { "-JoFmzPqsKr1Cc51vKT1" : "Now is the time for all good men to come to the aid of their party." }, "palaniraja" : { "-JpaPBKh5XeP6BuKhGmQ" : "Hello there" }, "pandadragoon" : [ "tacos" ], "panique" : [ "hello!" ], "parker" : [ "might be a nice guy", "first parker note" ], "patrickhaug" : { "-JneBEau3Tl_Sj2LXDWO" : "hi" }, "perminder-klair" : { "-JnVIGMwajd9FCL66f6t" : "Hio" }, "pguth" : { "-JktxKcm450UAH_xvhxa" : "test", "-JktxLLwhGUrfpuExYEZ" : "test" }, "pingid" : { "-Jl8908sZ1exLGlVVEEi" : "fdas" }, "plummat" : { "-JkE4iBpDSeIEqJm8YKt" : "Hey Plum" }, "programng" : { "-JkESPHQZF7XM2b74p2R" : "hias", "-JkESPl4wIBw-iXsHztR" : "lwakegjal;" }, "pufferfishy" : { "-JkEHAFrf1w2Hw-dJaDH" : "hmm, sketchy", "-JkEHCBM7xd866LMP_Jt" : "totally" }, "pzula" : { "-JkFO-szBkgpPzWqh1RW" : "Wow! Lots of repos!" }, "quamen" : { "-JndkIq5Io4iyfQ8trFg" : "lolldkhfaksjdhfsd" }, "raathigeshan" : { "-JjcjkOwcSk54aOipcmh" : "asdasdasd", "-Jjcjl8a6P7jj2OujCTi" : "asdasdasdasdasdasdasd" }, "rahul1346" : [ "test" ], "rails" : { "-JkETftpZprUajRCTpGd" : "Rails is nice", "-JkEThmkJi6ggql8LJy4" : "yeah" }, "ramprasath-v" : [ "hello", "hr" ], "react" : [ "test", "reactive", "", "d", "test", "asdf", "", "", "asdf" ], "reactjs" : { "-JiZ76R4TOWUyl5DAUb4" : "Gooooooood" }, "rinoc" : { "-JiNLbtk83VlN28CHLg1" : "This is a note." }, "roarbb" : { "-JiU8V9S3M6_wvqk5ns2" : "this can be useful" }, "robertwbrown" : [ "one", "two" ], "robinsage" : { "-JofSboC341rcqRQciOv" : "super cool" }, "robsaunders" : [ "ye" ], "rockrep" : { "-JkEZ91ZbVK_vlCqRBQF" : "one" }, "rodw" : { "-JnObCH-EFk9w1Yoheys" : "a", "-JnObCTLhtWFTJ2amtlU" : "b" }, "rs3d" : [ "sadf" ], "rsturim" : { "-Jku3_Vi-MldZn6BxxDd" : "Good looking fella!" }, "ruben1" : [ "nice" ], "ruianderson" : { "-JkxYHyk-KpDddgEiOf6" : "Teste" }, "ryanb" : { "-JkEWUCv_bBrya0Q49VG" : "Ryan, where are you?" }, "ryanflorence" : { "-JkE68uN5GLdR9UYCVhN" : "ReactWeek instructor", "-JkEmlGLNVhU-b-36Fr6" : "Cool dude" }, "rynocouse" : [ "you suck", "hipster", "fdkgndsonfdsfdsdf", "fsdfsdf" ], "sadasd" : { "-JjKyh_e6BVxhigYpKAj" : "fahd" }, "sakoh" : [ "My very first note!", "What's up!" ], "salmanmanekia" : { "-JkEyoyS3XblDVRdPTob" : "what", "-JkFHpGsAd0YVyaH3-Gs" : "this is me" }, "samidarko" : [ "cool", "it works" ], "samuelcouch" : { "-JoQltibiqafe7_7sDrR" : "Awesome" }, "scottdermott" : { "-JoEGhDvnGss5u5x1Whs" : "Cool" }, "seb-b" : { "-JkGMhEyHJ_q1oF_Yu3p" : "cool guy" }, "seoh" : [ "sdf" ], "shiloa" : { "-JkrclNCyQbImMsoCqcS" : "Yer kewl" }, "shock01" : [ "New text from Stef" ], "sitnik" : [ "hi bro", "how's going?", "nonn" ], "slowburnaz" : { "-JnOtIipw4l4DJ3CDXbu" : "This is cool" }, "soffes" : [ "1" ], "sorin" : [ "sorin", "lalala", "it works" ], "spoike" : { "-Jhp4UiFOcWkQynZ1z81" : "really good at that react stuff" }, "statbit" : [ "tes" ], "staturecrane" : { "-JkE9LzXkN35wap0BRxu" : "here is a note" }, "steida" : { "-JkF3nNOI4i2PinADn1w" : "a" }, "steve" : [ "My happiness", "Where are they?" ], "stonetingxin" : { "-Ji6HQMv-loa3Y8wDmGu" : "good" }, "stutzman" : [ "great" ], "sudhama" : [ "first note for Tyler", "second note for Tyler", "Tyler", "another", "fdfd", "sada", "hooray!", "Thanks Tyler, that was great", "ahmadAbadi", "arash zombie", "oword", "Thank you!", "Sweeet", "Need to tweek transition with router part", "a", "julian", "adding after firebase refactor", "Thanks for the great tutorial!", "great tutorial, thanks", "hi hi", "es6 note", "asdfas", "there is an error ..after retrieving notes for tyler, when i type some other name, i still see tylers notes" ], "sulco" : { "-JkE_o2R_PxYXx9OBqUE" : "test1", "-JkE_oj0oH-nuCIMDc_Q" : "test2" }, "superbullock" : { "-JkEIsQJ9DimEZVJauQM" : "such wow, much no0b", "-JkFJLWrJVvjBrfpR_s9" : "haha" }, "sushantmittal" : [ "123456", "testing" ], "susheelkumarv" : { "-JlVldCiUEy1nV2538ok" : "very good" }, "swannodette" : { "-Jg9CcyvfLlCUSbh5Lo1" : "test 001" }, "taahachaudhry" : { "-JhWAHXc5crvX-7QdfQb" : "UI Developer", "-Ji32E2rvA2ghZXsEmAx" : "Junior Developer" }, "tanveerc" : { "-Jli8ffK6OIrSag3TZue" : "testing" }, "tarkanlar" : [ "test" ], "techtolentino " : { "-JjbHjR5DrLq0LyvvBeA" : "hello", "-JjbHkJ4k2MWTrbi7PAS" : "", "-JjbHpH8ZjVeSzZtL25l" : "what is this", "-JjbHpwt6uU4SHrUKxob" : "", "-JjbHrkeHobfBbRITi_6" : "test" }, "teepluss" : { "-JnQMycOx-7fhDTfQZ0g" : "Wow", "-JnQOtOJeUnPairluEz6" : "sssss" }, "terrymcginnis" : { "-JnpNw9MdoJPfXsnrwii" : "GoodDev", "-JnpNyL7AvvvAf5JYB2H" : "EggHeqd 1) { for (var i = 1; i < arguments.length; i++) { args[i - 1] = arguments[i]; } } queue.push(new Item(fun, args)); if (queue.length === 1 && !draining) { setTimeout(drainQueue, 0); } }; // v8 likes predictible objects function Item(fun, array) { this.fun = fun; this.array = array; } Item.prototype.run = function () { this.fun.apply(null, this.array); }; process.title = 'browser'; process.browser = true; process.env = {}; process.argv = []; process.version = ''; // empty string to avoid regexp issues process.versions = {}; function noop() {} process.on = noop; process.addListener = noop; process.once = noop; process.off = noop; process.removeListener = noop; process.removeAllListeners = noop; process.emit = noop; process.binding = function (name) { throw new Error('process.binding is not supported'); }; process.cwd = function () { return '/' }; process.chdir = function (dir) { throw new Error('process.chdir is not supported'); }; process.umask = function() { return 0; }; /***/ }, /* 4 */ /***/ function(module, exports) { 'use strict'; /* eslint-disable no-unused-vars */ var hasOwnProperty = Object.prototype.hasOwnProperty; var propIsEnumerable = Object.prototype.propertyIsEnumerable; function toObject(val) { if (val === null || val === undefined) { throw new TypeError('Object.assign cannot be called with null or undefined'); } return Object(val); } function shouldUseNative() { try { if (!Object.assign) { return false; } // Detect buggy property enumeration order in older V8 versions. // https://bugs.chromium.org/p/v8/issues/detail?id=4118 var test1 = new String('abc'); // eslint-disable-line test1[5] = 'de'; if (Object.getOwnPropertyNames(test1)[0] === '5') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test2 = {}; for (var i = 0; i < 10; i++) { test2['_' + String.fromCharCode(i)] = i; } var order2 = Object.getOwnPropertyNames(test2).map(function (n) { return test2[n]; }); if (order2.join('') !== '0123456789') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test3 = {}; 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { test3[letter] = letter; }); if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') { return false; } return true; } catch (e) { // We don't expect any of the above to throw, but better to be safe. return false; } } module.exports = shouldUseNative() ? Object.assign : function (target, source) { var from; var to = toObject(target); var symbols; for (var s = 1; s < arguments.length; s++) { from = Object(arguments[s]); for (var key in from) { if (hasOwnProperty.call(from, key)) { to[key] = from[key]; } } if (Object.getOwnPropertySymbols) { symbols = Object.getOwnPropertySymbols(from); for (var i = 0; i < symbols.length; i++) { if (propIsEnumerable.call(from, symbols[i])) { to[symbols[i]] = from[symbols[i]]; } } } } return to; }; /***/ }, /* 5 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactChildren */ 'use strict'; var PooledClass = __webpack_require__(6); var ReactElement = __webpack_require__(8); var emptyFunction = __webpack_require__(11); var traverseAllChildren = __webpack_require__(13); var twoArgumentPooler = PooledClass.twoArgumentPooler; var fourArgumentPooler = PooledClass.fourArgumentPooler; var userProvidedKeyEscapeRegex = /\/+/g; function escapeUserProvidedKey(text) { return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/'); } /** * PooledClass representing the bookkeeping associated with performing a child * traversal. Allows avoiding binding callbacks. * * @constructor ForEachBookKeeping * @param {!function} forEachFunction Function to perform traversal with. * @param {?*} forEachContext Context to perform context with. */ function ForEachBookKeeping(forEachFunction, forEachContext) { this.func = forEachFunction; this.context = forEachContext; this.count = 0; } ForEachBookKeeping.prototype.destructor = function () { this.func = null; this.context = null; this.count = 0; }; PooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler); function forEachSingleChild(bookKeeping, child, name) { var func = bookKeeping.func; var context = bookKeeping.context; func.call(context, child, bookKeeping.count++); } /** * Iterates through children that are typically specified as `props.children`. * * The provided forEachFunc(child, index) will be called for each * leaf child. * * @param {?*} children Children tree container. * @param {function(*, int)} forEachFunc * @param {*} forEachContext Context for forEachContext. */ function forEachChildren(children, forEachFunc, forEachContext) { if (children == null) { return children; } var traverseContext = ForEachBookKeeping.getPooled(forEachFunc, forEachContext); traverseAllChildren(children, forEachSingleChild, traverseContext); ForEachBookKeeping.release(traverseContext); } /** * PooledClass representing the bookkeeping associated with performing a child * mapping. Allows avoiding binding callbacks. * * @constructor MapBookKeeping * @param {!*} mapResult Object containing the ordered map of results. * @param {!function} mapFunction Function to perform mapping with. * @param {?*} mapContext Context to perform mapping with. */ function MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) { this.result = mapResult; this.keyPrefix = keyPrefix; this.func = mapFunction; this.context = mapContext; this.count = 0; } MapBookKeeping.prototype.destructor = function () { this.result = null; this.keyPrefix = null; this.func = null; this.context = null; this.count = 0; }; PooledClass.addPoolingTo(MapBookKeeping, fourArgumentPooler); function mapSingleChildIntoContext(bookKeeping, child, childKey) { var result = bookKeeping.result; var keyPrefix = bookKeeping.keyPrefix; var func = bookKeeping.func; var context = bookKeeping.context; var mappedChild = func.call(context, child, bookKeeping.count++); if (Array.isArray(mappedChild)) { mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, emptyFunction.thatReturnsArgument); } else if (mappedChild != null) { if (ReactElement.isValidElement(mappedChild)) { mappedChild = ReactElement.cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as // traverseAllChildren used to do for objects as children keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey); } result.push(mappedChild); } } function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) { var escapedPrefix = ''; if (prefix != null) { escapedPrefix = escapeUserProvidedKey(prefix) + '/'; } var traverseContext = MapBookKeeping.getPooled(array, escapedPrefix, func, context); traverseAllChildren(children, mapSingleChildIntoContext, traverseContext); MapBookKeeping.release(traverseContext); } /** * Maps children that are typically specified as `props.children`. * * The provided mapFunction(child, index) will be called for each * leaf child. * * @param {?*} children Children tree container. * @param {function(*, int)} func The map function. * @param {*} context Context for mapFunction. * @return {object} Object containing the ordered map of results. */ function mapChildren(children, func, context) { if (children == null) { return children; } var result = []; mapIntoWithKeyPrefixInternal(children, result, null, func, context); return result; } function forEachSingleChildDummy(traverseContext, child, name) { return null; } /** * Count the number of children that are typically specified as * `props.children`. * * @param {?*} children Children tree container. * @return {number} The number of children. */ function countChildren(children, context) { return traverseAllChildren(children, forEachSingleChildDummy, null); } /** * Flatten a children object (typically specified as `props.children`) and * return an array with appropriately re-keyed children. */ function toArray(children) { var result = []; mapIntoWithKeyPrefixInternal(children, result, null, emptyFunction.thatReturnsArgument); return result; } var ReactChildren = { forEach: forEachChildren, map: mapChildren, mapIntoWithKeyPrefixInternal: mapIntoWithKeyPrefixInternal, count: countChildren, toArray: toArray }; module.exports = ReactChildren; /***/ }, /* 6 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule PooledClass */ 'use strict'; var invariant = __webpack_require__(7); /** * Static poolers. Several custom versions for each potential number of * arguments. A completely generic pooler is easy to implement, but would * require accessing the `arguments` object. In each of these, `this` refers to * the Class itself, not an instance. If any others are needed, simply add them * here, or in their own files. */ 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; !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : invariant(false) : void 0; instance.destructor(); if (Klass.instancePool.length < Klass.poolSize) { Klass.instancePool.push(instance); } }; var DEFAULT_POOL_SIZE = 10; var DEFAULT_POOLER = oneArgumentPooler; /** * Augments `CopyConstructor` to be a poolable class, augmenting only the class * itself (statically) not adding any prototypical fields. Any CopyConstructor * you give this may have a `poolSize` property, and will look for a * prototypical `destructor` on instances (optional). * * @param {Function} CopyConstructor Constructor that can be used to reset. * @param {Function} pooler Customizable pooler. */ 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; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 7 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; /** * Use invariant() to assert state which your program assumes to be true. * * Provide sprintf-style format (only %s is supported) and arguments * to provide information about what broke and what you were * expecting. * * The invariant message will be stripped in production, but the invariant * will remain to ensure logic does not differ in production. */ function invariant(condition, format, a, b, c, d, e, f) { if (process.env.NODE_ENV !== 'production') { 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(format.replace(/%s/g, function () { return args[argIndex++]; })); error.name = 'Invariant Violation'; } error.framesToPop = 1; // we don't care about invariant's own frame throw error; } } module.exports = invariant; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 8 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactElement */ 'use strict'; var _assign = __webpack_require__(4); var ReactCurrentOwner = __webpack_require__(9); var warning = __webpack_require__(10); var canDefineProperty = __webpack_require__(12); // The Symbol used to tag the ReactElement type. If there is no native Symbol // nor polyfill, then a plain number is used for performance. 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 specialPropKeyWarningShown, specialPropRefWarningShown; /** * Factory method to create a new React element. This no longer adheres to * the class pattern, so do not use new to call it. Also, no instanceof check * will work. Instead test $$typeof field against Symbol.for('react.element') to check * if something is a React Element. * * @param {*} type * @param {*} key * @param {string|object} ref * @param {*} self A *temporary* helper to detect places where `this` is * different from the `owner` when React.createElement is called, so that we * can warn. We want to get rid of owner and replace string `ref`s with arrow * functions, and as long as `this` and owner are the same, there will be no * change in behavior. * @param {*} source An annotation object (added by a transpiler or otherwise) * indicating filename, line number, and/or other information. * @param {*} owner * @param {*} props * @internal */ var ReactElement = function (type, key, ref, self, source, owner, props) { var element = { // This tag allow us to uniquely identify this as a React Element $$typeof: REACT_ELEMENT_TYPE, // Built-in properties that belong on the element type: type, key: key, ref: ref, props: props, // Record the component responsible for creating this element. _owner: owner }; if (process.env.NODE_ENV !== 'production') { // The validation flag is currently mutative. We put it on // an external backing store so that we can freeze the whole object. // This can be replaced with a WeakMap once they are implemented in // commonly used development environments. element._store = {}; // To make comparing ReactElements easier for testing purposes, we make // the validation flag non-enumerable (where possible, which should // include every environment we run tests in), so the test framework // ignores it. if (canDefineProperty) { Object.defineProperty(element._store, 'validated', { configurable: false, enumerable: false, writable: true, value: false }); // self and source are DEV only properties. Object.defineProperty(element, '_self', { configurable: false, enumerable: false, writable: false, value: self }); // Two elements created in two different places should be considered // equal for testing purposes and therefore we hide it from enumeration. Object.defineProperty(element, '_source', { configurable: false, enumerable: false, writable: false, value: source }); } else { element._store.validated = false; element._self = self; element._source = source; } if (Object.freeze) { Object.freeze(element.props); Object.freeze(element); } } return element; }; ReactElement.createElement = function (type, config, children) { var propName; // Reserved names are extracted var props = {}; var key = null; var ref = null; var self = null; var source = null; if (config != null) { if (process.env.NODE_ENV !== 'production') { ref = !config.hasOwnProperty('ref') || Object.getOwnPropertyDescriptor(config, 'ref').get ? null : config.ref; key = !config.hasOwnProperty('key') || Object.getOwnPropertyDescriptor(config, 'key').get ? null : '' + config.key; } else { 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; // Remaining properties are added to a new props object for (propName in config) { if (config.hasOwnProperty(propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { props[propName] = config[propName]; } } } // Children can be more than one argument, and those are transferred onto // the newly allocated props object. 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; } // Resolve default props if (type && type.defaultProps) { var defaultProps = type.defaultProps; for (propName in defaultProps) { if (props[propName] === undefined) { props[propName] = defaultProps[propName]; } } } if (process.env.NODE_ENV !== 'production') { // Create dummy `key` and `ref` property to `props` to warn users // against its use if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) { if (!props.hasOwnProperty('key')) { Object.defineProperty(props, 'key', { get: function () { if (!specialPropKeyWarningShown) { specialPropKeyWarningShown = true; process.env.NODE_ENV !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', typeof type === 'function' && 'displayName' in type ? type.displayName : 'Element') : void 0; } return undefined; }, configurable: true }); } if (!props.hasOwnProperty('ref')) { Object.defineProperty(props, 'ref', { get: function () { if (!specialPropRefWarningShown) { specialPropRefWarningShown = true; process.env.NODE_ENV !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', typeof type === 'function' && 'displayName' in type ? type.displayName : 'Element') : void 0; } return undefined; }, configurable: true }); } } } return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); }; ReactElement.createFactory = function (type) { var factory = ReactElement.createElement.bind(null, type); // Expose the type on the factory and the prototype so that it can be // easily accessed on elements. E.g. `.type === Foo`. // This should not be named `constructor` since this may not be the function // that created the element, and it may not even be a constructor. // Legacy hook TODO: Warn if this is accessed 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.cloneElement = function (element, config, children) { var propName; // Original props are copied var props = _assign({}, element.props); // Reserved names are extracted var key = element.key; var ref = element.ref; // Self is preserved since the owner is preserved. var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a // transpiler, and the original source is probably a better indicator of the // true owner. var source = element._source; // Owner will be preserved, unless ref is overridden var owner = element._owner; if (config != null) { if (config.ref !== undefined) { // Silently steal the ref from the parent. ref = config.ref; owner = ReactCurrentOwner.current; } if (config.key !== undefined) { key = '' + config.key; } // Remaining properties override existing props var defaultProps; if (element.type && element.type.defaultProps) { defaultProps = element.type.defaultProps; } for (propName in config) { if (config.hasOwnProperty(propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { if (config[propName] === undefined && defaultProps !== undefined) { // Resolve default props props[propName] = defaultProps[propName]; } else { props[propName] = config[propName]; } } } } // Children can be more than one argument, and those are transferred onto // the newly allocated props object. 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); }; /** * @param {?object} object * @return {boolean} True if `object` is a valid component. * @final */ ReactElement.isValidElement = function (object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; }; module.exports = ReactElement; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 9 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactCurrentOwner */ 'use strict'; /** * Keeps track of the current owner. * * The current owner is the component who should own any components that are * currently being constructed. */ var ReactCurrentOwner = { /** * @internal * @type {ReactComponent} */ current: null }; module.exports = ReactCurrentOwner; /***/ }, /* 10 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-2015, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var emptyFunction = __webpack_require__(11); /** * Similar to invariant but only logs a warning if the condition is not met. * This can be used to log issues in development environments in critical * paths. Removing the logging code for production environments will keep the * same logic and follow the same code paths. */ var warning = emptyFunction; if (process.env.NODE_ENV !== 'production') { 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; // Ignore CompositeComponent proptype check. } if (!condition) { var argIndex = 0; var message = 'Warning: ' + format.replace(/%s/g, function () { return args[argIndex++]; }); if (typeof console !== 'undefined') { console.error(message); } try { // --- Welcome to debugging React --- // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch (x) {} } }; } module.exports = warning; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 11 */ /***/ function(module, exports) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ function makeEmptyFunction(arg) { return function () { return arg; }; } /** * This function accepts and discards inputs; it has no side effects. This is * primarily useful idiomatically for overridable function endpoints which * always need to be callable, since JS lacks a null-call idiom ala Cocoa. */ 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; /***/ }, /* 12 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule canDefineProperty */ 'use strict'; var canDefineProperty = false; if (process.env.NODE_ENV !== 'production') { try { Object.defineProperty({}, 'x', { get: function () {} }); canDefineProperty = true; } catch (x) { // IE will fail on defineProperty } } module.exports = canDefineProperty; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 13 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule traverseAllChildren */ 'use strict'; var ReactCurrentOwner = __webpack_require__(9); var ReactElement = __webpack_require__(8); var getIteratorFn = __webpack_require__(14); var invariant = __webpack_require__(7); var KeyEscapeUtils = __webpack_require__(15); var warning = __webpack_require__(10); var SEPARATOR = '.'; var SUBSEPARATOR = ':'; /** * TODO: Test that a single child and an array with one item have the same key * pattern. */ var didWarnAboutMaps = false; /** * Generate a key string that identifies a component within a set. * * @param {*} component A component that could contain a manual key. * @param {number} index Index that is used if a manual key is not provided. * @return {string} */ function getComponentKey(component, index) { // Do some typechecking here since we call this blindly. We want to ensure // that we don't block potential future ES APIs. if (component && typeof component === 'object' && component.key != null) { // Explicit key return KeyEscapeUtils.escape(component.key); } // Implicit key determined by the index in the set return index.toString(36); } /** * @param {?*} children Children tree container. * @param {!string} nameSoFar Name of the key path so far. * @param {!function} callback Callback to invoke with each child found. * @param {?*} traverseContext Used to pass information throughout the traversal * process. * @return {!number} The number of children in this subtree. */ function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) { var type = typeof children; if (type === 'undefined' || type === 'boolean') { // All of the above are perceived as null. children = null; } if (children === null || type === 'string' || type === 'number' || ReactElement.isValidElement(children)) { callback(traverseContext, children, // If it's the only child, treat the name as if it was wrapped in an array // so that it's consistent if the number of children grows. nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar); return 1; } var child; var nextName; var subtreeCount = 0; // Count of children found in the current subtree. var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR; if (Array.isArray(children)) { for (var i = 0; i < children.length; i++) { child = children[i]; nextName = nextNamePrefix + getComponentKey(child, i); subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); } } else { var iteratorFn = getIteratorFn(children); if (iteratorFn) { var iterator = iteratorFn.call(children); var step; if (iteratorFn !== children.entries) { var ii = 0; while (!(step = iterator.next()).done) { child = step.value; nextName = nextNamePrefix + getComponentKey(child, ii++); subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); } } else { if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.') : void 0; didWarnAboutMaps = true; } // Iterator will provide entry [k,v] tuples rather than values. while (!(step = iterator.next()).done) { var entry = step.value; if (entry) { child = entry[1]; nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0); subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); } } } } else if (type === 'object') { var addendum = ''; if (process.env.NODE_ENV !== 'production') { addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.'; if (children._isReactElement) { addendum = ' It looks like you\'re using an element created by a different ' + 'version of React. Make sure to use only one copy of React.'; } if (ReactCurrentOwner.current) { var name = ReactCurrentOwner.current.getName(); if (name) { addendum += ' Check the render method of `' + name + '`.'; } } } var childrenString = String(children); true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : invariant(false) : void 0; } } return subtreeCount; } /** * Traverses children that are typically specified as `props.children`, but * might also be specified through attributes: * * - `traverseAllChildren(this.props.children, ...)` * - `traverseAllChildren(this.props.leftPanelChildren, ...)` * * The `traverseContext` is an optional argument that is passed through the * entire traversal. It can be used to store accumulations or anything else that * the callback might find relevant. * * @param {?*} children Children tree object. * @param {!function} callback To invoke upon traversing each child. * @param {?*} traverseContext Context for traversal. * @return {!number} The number of children in this subtree. */ function traverseAllChildren(children, callback, traverseContext) { if (children == null) { return 0; } return traverseAllChildrenImpl(children, '', callback, traverseContext); } module.exports = traverseAllChildren; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 14 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getIteratorFn */ 'use strict'; /* global Symbol */ var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. /** * Returns the iterator method function contained on the iterable object. * * Be sure to invoke the function with the iterable as context: * * var iteratorFn = getIteratorFn(myIterable); * if (iteratorFn) { * var iterator = iteratorFn.call(myIterable); * ... * } * * @param {?object} maybeIterable * @return {?function} */ function getIteratorFn(maybeIterable) { var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); if (typeof iteratorFn === 'function') { return iteratorFn; } } module.exports = getIteratorFn; /***/ }, /* 15 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule KeyEscapeUtils */ 'use strict'; /** * Escape and wrap key so it is safe to use as a reactid * * @param {*} key to be escaped. * @return {string} the escaped key. */ function escape(key) { var escapeRegex = /[=:]/g; var escaperLookup = { '=': '=0', ':': '=2' }; var escapedString = ('' + key).replace(escapeRegex, function (match) { return escaperLookup[match]; }); return '$' + escapedString; } /** * Unescape and unwrap key for human-readable display * * @param {string} key to unescape. * @return {string} the unescaped key. */ function unescape(key) { var unescapeRegex = /(=0|=2)/g; var unescaperLookup = { '=0': '=', '=2': ':' }; var keySubstring = key[0] === '.' && key[1] === '$' ? key.substring(2) : key.substring(1); return ('' + keySubstring).replace(unescapeRegex, function (match) { return unescaperLookup[match]; }); } var KeyEscapeUtils = { escape: escape, unescape: unescape }; module.exports = KeyEscapeUtils; /***/ }, /* 16 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactComponent */ 'use strict'; var ReactNoopUpdateQueue = __webpack_require__(17); var ReactInstrumentation = __webpack_require__(18); var canDefineProperty = __webpack_require__(12); var emptyObject = __webpack_require__(21); var invariant = __webpack_require__(7); var warning = __webpack_require__(10); /** * Base class helpers for the updating state of a component. */ function ReactComponent(props, context, updater) { this.props = props; this.context = context; this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the // renderer. this.updater = updater || ReactNoopUpdateQueue; } ReactComponent.prototype.isReactComponent = {}; /** * Sets a subset of the state. Always use this to mutate * state. You should treat `this.state` as immutable. * * There is no guarantee that `this.state` will be immediately updated, so * accessing `this.state` after calling this method may return the old value. * * There is no guarantee that calls to `setState` will run synchronously, * as they may eventually be batched together. You can provide an optional * callback that will be executed when the call to setState is actually * completed. * * When a function is provided to setState, it will be called at some point in * the future (not synchronously). It will be called with the up to date * component arguments (state, props, context). These values can be different * from this.* because your function may be called after receiveProps but before * shouldComponentUpdate, and this new state, props, and context will not yet be * assigned to this. * * @param {object|function} partialState Next partial state or function to * produce next partial state to be merged with current state. * @param {?function} callback Called after state is updated. * @final * @protected */ ReactComponent.prototype.setState = function (partialState, callback) { !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.') : invariant(false) : void 0; if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onSetState(); process.env.NODE_ENV !== 'production' ? warning(partialState != null, 'setState(...): You passed an undefined or null state object; ' + 'instead, use forceUpdate().') : void 0; } this.updater.enqueueSetState(this, partialState); if (callback) { this.updater.enqueueCallback(this, callback, 'setState'); } }; /** * Forces an update. This should only be invoked when it is known with * certainty that we are **not** in a DOM transaction. * * You may want to call this when you know that some deeper aspect of the * component's state has changed but `setState` was not called. * * This will not invoke `shouldComponentUpdate`, but it will invoke * `componentWillUpdate` and `componentDidUpdate`. * * @param {?function} callback Called after update is complete. * @final * @protected */ ReactComponent.prototype.forceUpdate = function (callback) { this.updater.enqueueForceUpdate(this); if (callback) { this.updater.enqueueCallback(this, callback, 'forceUpdate'); } }; /** * Deprecated APIs. These APIs used to exist on classic React classes but since * we would like to deprecate them, we're not going to move them over to this * modern base class. Instead, we define a getter that warns if it's accessed. */ if (process.env.NODE_ENV !== 'production') { var deprecatedAPIs = { isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'], replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).'] }; var defineDeprecationWarning = function (methodName, info) { if (canDefineProperty) { Object.defineProperty(ReactComponent.prototype, methodName, { get: function () { process.env.NODE_ENV !== 'production' ? warning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]) : void 0; return undefined; } }); } }; for (var fnName in deprecatedAPIs) { if (deprecatedAPIs.hasOwnProperty(fnName)) { defineDeprecationWarning(fnName, deprecatedAPIs[fnName]); } } } module.exports = ReactComponent; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 17 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactNoopUpdateQueue */ 'use strict'; var warning = __webpack_require__(10); function warnTDZ(publicInstance, callerName) { if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, publicInstance.constructor && publicInstance.constructor.displayName || '') : void 0; } } /** * This is the abstract API for an update queue. */ var ReactNoopUpdateQueue = { /** * Checks whether or not this composite component is mounted. * @param {ReactClass} publicInstance The instance we want to test. * @return {boolean} True if mounted, false otherwise. * @protected * @final */ isMounted: function (publicInstance) { return false; }, /** * Enqueue a callback that will be executed after all the pending updates * have processed. * * @param {ReactClass} publicInstance The instance to use as `this` context. * @param {?function} callback Called after state is updated. * @internal */ enqueueCallback: function (publicInstance, callback) {}, /** * Forces an update. This should only be invoked when it is known with * certainty that we are **not** in a DOM transaction. * * You may want to call this when you know that some deeper aspect of the * component's state has changed but `setState` was not called. * * This will not invoke `shouldComponentUpdate`, but it will invoke * `componentWillUpdate` and `componentDidUpdate`. * * @param {ReactClass} publicInstance The instance that should rerender. * @internal */ enqueueForceUpdate: function (publicInstance) { warnTDZ(publicInstance, 'forceUpdate'); }, /** * Replaces all of the state. Always use this or `setState` to mutate state. * You should treat `this.state` as immutable. * * There is no guarantee that `this.state` will be immediately updated, so * accessing `this.state` after calling this method may return the old value. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {object} completeState Next state. * @internal */ enqueueReplaceState: function (publicInstance, completeState) { warnTDZ(publicInstance, 'replaceState'); }, /** * Sets a subset of the state. This only exists because _pendingState is * internal. This provides a merging strategy that is not available to deep * properties which is confusing. TODO: Expose pendingState or don't use it * during the merge. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {object} partialState Next partial state to be merged with state. * @internal */ enqueueSetState: function (publicInstance, partialState) { warnTDZ(publicInstance, 'setState'); } }; module.exports = ReactNoopUpdateQueue; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 18 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactInstrumentation */ 'use strict'; var ReactDebugTool = __webpack_require__(19); module.exports = { debugTool: ReactDebugTool }; /***/ }, /* 19 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDebugTool */ 'use strict'; var ReactInvalidSetStateWarningDevTool = __webpack_require__(20); var warning = __webpack_require__(10); var eventHandlers = []; var handlerDoesThrowForEvent = {}; function emitEvent(handlerFunctionName, arg1, arg2, arg3, arg4, arg5) { if (process.env.NODE_ENV !== 'production') { eventHandlers.forEach(function (handler) { try { if (handler[handlerFunctionName]) { handler[handlerFunctionName](arg1, arg2, arg3, arg4, arg5); } } catch (e) { process.env.NODE_ENV !== 'production' ? warning(!handlerDoesThrowForEvent[handlerFunctionName], 'exception thrown by devtool while handling %s: %s', handlerFunctionName, e.message) : void 0; handlerDoesThrowForEvent[handlerFunctionName] = true; } }); } } var ReactDebugTool = { addDevtool: function (devtool) { eventHandlers.push(devtool); }, removeDevtool: function (devtool) { for (var i = 0; i < eventHandlers.length; i++) { if (eventHandlers[i] === devtool) { eventHandlers.splice(i, 1); i--; } } }, onBeginProcessingChildContext: function () { emitEvent('onBeginProcessingChildContext'); }, onEndProcessingChildContext: function () { emitEvent('onEndProcessingChildContext'); }, onSetState: function () { emitEvent('onSetState'); }, onMountRootComponent: function (internalInstance) { emitEvent('onMountRootComponent', internalInstance); }, onMountComponent: function (internalInstance) { emitEvent('onMountComponent', internalInstance); }, onUpdateComponent: function (internalInstance) { emitEvent('onUpdateComponent', internalInstance); }, onUnmountComponent: function (internalInstance) { emitEvent('onUnmountComponent', internalInstance); } }; ReactDebugTool.addDevtool(ReactInvalidSetStateWarningDevTool); module.exports = ReactDebugTool; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 20 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactInvalidSetStateWarningDevTool */ 'use strict'; var warning = __webpack_require__(10); if (process.env.NODE_ENV !== 'production') { var processingChildContext = false; var warnInvalidSetState = function () { process.env.NODE_ENV !== 'production' ? warning(!processingChildContext, 'setState(...): Cannot call setState() inside getChildContext()') : void 0; }; } var ReactInvalidSetStateWarningDevTool = { onBeginProcessingChildContext: function () { processingChildContext = true; }, onEndProcessingChildContext: function () { processingChildContext = false; }, onSetState: function () { warnInvalidSetState(); } }; module.exports = ReactInvalidSetStateWarningDevTool; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 21 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var emptyObject = {}; if (process.env.NODE_ENV !== 'production') { Object.freeze(emptyObject); } module.exports = emptyObject; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 22 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactClass */ 'use strict'; var _assign = __webpack_require__(4); var ReactComponent = __webpack_require__(16); var ReactElement = __webpack_require__(8); var ReactPropTypeLocations = __webpack_require__(23); var ReactPropTypeLocationNames = __webpack_require__(25); var ReactNoopUpdateQueue = __webpack_require__(17); var emptyObject = __webpack_require__(21); var invariant = __webpack_require__(7); var keyMirror = __webpack_require__(24); var keyOf = __webpack_require__(26); var warning = __webpack_require__(10); var MIXINS_KEY = keyOf({ mixins: null }); /** * Policies that describe methods in `ReactClassInterface`. */ var SpecPolicy = keyMirror({ /** * These methods may be defined only once by the class specification or mixin. */ DEFINE_ONCE: null, /** * These methods may be defined by both the class specification and mixins. * Subsequent definitions will be chained. These methods must return void. */ DEFINE_MANY: null, /** * These methods are overriding the base class. */ OVERRIDE_BASE: null, /** * These methods are similar to DEFINE_MANY, except we assume they return * objects. We try to merge the keys of the return values of all the mixed in * functions. If there is a key conflict we throw. */ DEFINE_MANY_MERGED: null }); var injectedMixins = []; /** * Composite components are higher-level components that compose other composite * or native components. * * To create a new type of `ReactClass`, pass a specification of * your new class to `React.createClass`. The only requirement of your class * specification is that you implement a `render` method. * * var MyComponent = React.createClass({ * render: function() { * return
    Hello World
    ; * } * }); * * The class specification supports a specific protocol of methods that have * special meaning (e.g. `render`). See `ReactClassInterface` for * more the comprehensive protocol. Any other properties and methods in the * class specification will be available on the prototype. * * @interface ReactClassInterface * @internal */ var ReactClassInterface = { /** * An array of Mixin objects to include when defining your component. * * @type {array} * @optional */ mixins: SpecPolicy.DEFINE_MANY, /** * An object containing properties and methods that should be defined on * the component's constructor instead of its prototype (static methods). * * @type {object} * @optional */ statics: SpecPolicy.DEFINE_MANY, /** * Definition of prop types for this component. * * @type {object} * @optional */ propTypes: SpecPolicy.DEFINE_MANY, /** * Definition of context types for this component. * * @type {object} * @optional */ contextTypes: SpecPolicy.DEFINE_MANY, /** * Definition of context types this component sets for its children. * * @type {object} * @optional */ childContextTypes: SpecPolicy.DEFINE_MANY, // ==== Definition methods ==== /** * Invoked when the component is mounted. Values in the mapping will be set on * `this.props` if that prop is not specified (i.e. using an `in` check). * * This method is invoked before `getInitialState` and therefore cannot rely * on `this.state` or use `this.setState`. * * @return {object} * @optional */ getDefaultProps: SpecPolicy.DEFINE_MANY_MERGED, /** * Invoked once before the component is mounted. The return value will be used * as the initial value of `this.state`. * * getInitialState: function() { * return { * isOn: false, * fooBaz: new BazFoo() * } * } * * @return {object} * @optional */ getInitialState: SpecPolicy.DEFINE_MANY_MERGED, /** * @return {object} * @optional */ getChildContext: SpecPolicy.DEFINE_MANY_MERGED, /** * Uses props from `this.props` and state from `this.state` to render the * structure of the component. * * No guarantees are made about when or how often this method is invoked, so * it must not have side effects. * * render: function() { * var name = this.props.name; * return
    Hello, {name}!
    ; * } * * @return {ReactComponent} * @nosideeffects * @required */ render: SpecPolicy.DEFINE_ONCE, // ==== Delegate methods ==== /** * Invoked when the component is initially created and about to be mounted. * This may have side effects, but any external subscriptions or data created * by this method must be cleaned up in `componentWillUnmount`. * * @optional */ componentWillMount: SpecPolicy.DEFINE_MANY, /** * Invoked when the component has been mounted and has a DOM representation. * However, there is no guarantee that the DOM node is in the document. * * Use this as an opportunity to operate on the DOM when the component has * been mounted (initialized and rendered) for the first time. * * @param {DOMElement} rootNode DOM element representing the component. * @optional */ componentDidMount: SpecPolicy.DEFINE_MANY, /** * Invoked before the component receives new props. * * Use this as an opportunity to react to a prop transition by updating the * state using `this.setState`. Current props are accessed via `this.props`. * * componentWillReceiveProps: function(nextProps, nextContext) { * this.setState({ * likesIncreasing: nextProps.likeCount > this.props.likeCount * }); * } * * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop * transition may cause a state change, but the opposite is not true. If you * need it, you are probably looking for `componentWillUpdate`. * * @param {object} nextProps * @optional */ componentWillReceiveProps: SpecPolicy.DEFINE_MANY, /** * Invoked while deciding if the component should be updated as a result of * receiving new props, state and/or context. * * Use this as an opportunity to `return false` when you're certain that the * transition to the new props/state/context will not require a component * update. * * shouldComponentUpdate: function(nextProps, nextState, nextContext) { * return !equal(nextProps, this.props) || * !equal(nextState, this.state) || * !equal(nextContext, this.context); * } * * @param {object} nextProps * @param {?object} nextState * @param {?object} nextContext * @return {boolean} True if the component should update. * @optional */ shouldComponentUpdate: SpecPolicy.DEFINE_ONCE, /** * Invoked when the component is about to update due to a transition from * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState` * and `nextContext`. * * Use this as an opportunity to perform preparation before an update occurs. * * NOTE: You **cannot** use `this.setState()` in this method. * * @param {object} nextProps * @param {?object} nextState * @param {?object} nextContext * @param {ReactReconcileTransaction} transaction * @optional */ componentWillUpdate: SpecPolicy.DEFINE_MANY, /** * Invoked when the component's DOM representation has been updated. * * Use this as an opportunity to operate on the DOM when the component has * been updated. * * @param {object} prevProps * @param {?object} prevState * @param {?object} prevContext * @param {DOMElement} rootNode DOM element representing the component. * @optional */ componentDidUpdate: SpecPolicy.DEFINE_MANY, /** * Invoked when the component is about to be removed from its parent and have * its DOM representation destroyed. * * Use this as an opportunity to deallocate any external resources. * * NOTE: There is no `componentDidUnmount` since your component will have been * destroyed by that point. * * @optional */ componentWillUnmount: SpecPolicy.DEFINE_MANY, // ==== Advanced methods ==== /** * Updates the component's currently mounted DOM representation. * * By default, this implements React's rendering and reconciliation algorithm. * Sophisticated clients may wish to override this. * * @param {ReactReconcileTransaction} transaction * @internal * @overridable */ updateComponent: SpecPolicy.OVERRIDE_BASE }; /** * Mapping from class specification keys to special processing functions. * * Although these are declared like instance properties in the specification * when defining classes using `React.createClass`, they are actually static * and are accessible on the constructor instead of the prototype. Despite * being static, they must be defined outside of the "statics" key under * which all other static methods are defined. */ var RESERVED_SPEC_KEYS = { displayName: function (Constructor, displayName) { Constructor.displayName = displayName; }, mixins: function (Constructor, mixins) { if (mixins) { for (var i = 0; i < mixins.length; i++) { mixSpecIntoComponent(Constructor, mixins[i]); } } }, childContextTypes: function (Constructor, childContextTypes) { if (process.env.NODE_ENV !== 'production') { validateTypeDef(Constructor, childContextTypes, ReactPropTypeLocations.childContext); } Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, childContextTypes); }, contextTypes: function (Constructor, contextTypes) { if (process.env.NODE_ENV !== 'production') { validateTypeDef(Constructor, contextTypes, ReactPropTypeLocations.context); } Constructor.contextTypes = _assign({}, Constructor.contextTypes, contextTypes); }, /** * Special case getDefaultProps which should move into statics but requires * automatic merging. */ getDefaultProps: function (Constructor, getDefaultProps) { if (Constructor.getDefaultProps) { Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps); } else { Constructor.getDefaultProps = getDefaultProps; } }, propTypes: function (Constructor, propTypes) { if (process.env.NODE_ENV !== 'production') { validateTypeDef(Constructor, propTypes, ReactPropTypeLocations.prop); } Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes); }, statics: function (Constructor, statics) { mixStaticSpecIntoComponent(Constructor, statics); }, autobind: function () {} }; // noop function validateTypeDef(Constructor, typeDef, location) { for (var propName in typeDef) { if (typeDef.hasOwnProperty(propName)) { // use a warning instead of an invariant so components // don't show up in prod but only in __DEV__ process.env.NODE_ENV !== 'production' ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : void 0; } } } function validateMethodOverride(isAlreadyDefined, name) { var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null; // Disallow overriding of base class methods unless explicitly allowed. if (ReactClassMixin.hasOwnProperty(name)) { !(specPolicy === SpecPolicy.OVERRIDE_BASE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to override ' + '`%s` from your class specification. Ensure that your method names ' + 'do not overlap with React methods.', name) : invariant(false) : void 0; } // Disallow defining methods more than once unless explicitly allowed. if (isAlreadyDefined) { !(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to define ' + '`%s` on your component more than once. This conflict may be due ' + 'to a mixin.', name) : invariant(false) : void 0; } } /** * Mixin helper which handles policy validation and reserved * specification keys when building React classes. */ function mixSpecIntoComponent(Constructor, spec) { if (!spec) { return; } !(typeof spec !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to ' + 'use a component class or function as a mixin. Instead, just use a ' + 'regular object.') : invariant(false) : void 0; !!ReactElement.isValidElement(spec) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to ' + 'use a component as a mixin. Instead, just use a regular object.') : invariant(false) : void 0; var proto = Constructor.prototype; var autoBindPairs = proto.__reactAutoBindPairs; // By handling mixins before any other properties, we ensure the same // chaining order is applied to methods with DEFINE_MANY policy, whether // mixins are listed before or after these methods in the spec. if (spec.hasOwnProperty(MIXINS_KEY)) { RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins); } for (var name in spec) { if (!spec.hasOwnProperty(name)) { continue; } if (name === MIXINS_KEY) { // We have already handled mixins in a special case above. continue; } var property = spec[name]; var isAlreadyDefined = proto.hasOwnProperty(name); validateMethodOverride(isAlreadyDefined, name); if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) { RESERVED_SPEC_KEYS[name](Constructor, property); } else { // Setup methods on prototype: // The following member methods should not be automatically bound: // 1. Expected ReactClass methods (in the "interface"). // 2. Overridden methods (that were mixed in). var isReactClassMethod = ReactClassInterface.hasOwnProperty(name); var isFunction = typeof property === 'function'; var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false; if (shouldAutoBind) { autoBindPairs.push(name, property); proto[name] = property; } else { if (isAlreadyDefined) { var specPolicy = ReactClassInterface[name]; // These cases should already be caught by validateMethodOverride. !(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name) : invariant(false) : void 0; // For methods which are defined more than once, call the existing // methods before calling the new property, merging if appropriate. if (specPolicy === SpecPolicy.DEFINE_MANY_MERGED) { proto[name] = createMergedResultFunction(proto[name], property); } else if (specPolicy === SpecPolicy.DEFINE_MANY) { proto[name] = createChainedFunction(proto[name], property); } } else { proto[name] = property; if (process.env.NODE_ENV !== 'production') { // Add verbose displayName to the function, which helps when looking // at profiling tools. if (typeof property === 'function' && spec.displayName) { proto[name].displayName = spec.displayName + '_' + name; } } } } } } } function mixStaticSpecIntoComponent(Constructor, statics) { if (!statics) { return; } for (var name in statics) { var property = statics[name]; if (!statics.hasOwnProperty(name)) { continue; } var isReserved = name in RESERVED_SPEC_KEYS; !!isReserved ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define a reserved ' + 'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' + 'as an instance property instead; it will still be accessible on the ' + 'constructor.', name) : invariant(false) : void 0; var isInherited = name in Constructor; !!isInherited ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define ' + '`%s` on your component more than once. This conflict may be ' + 'due to a mixin.', name) : invariant(false) : void 0; Constructor[name] = property; } } /** * Merge two objects, but throw if both contain the same key. * * @param {object} one The first object, which is mutated. * @param {object} two The second object * @return {object} one after it has been mutated to contain everything in two. */ function mergeIntoWithNoDuplicateKeys(one, two) { !(one && two && typeof one === 'object' && typeof two === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : invariant(false) : void 0; for (var key in two) { if (two.hasOwnProperty(key)) { !(one[key] === undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): ' + 'Tried to merge two objects with the same key: `%s`. This conflict ' + 'may be due to a mixin; in particular, this may be caused by two ' + 'getInitialState() or getDefaultProps() methods returning objects ' + 'with clashing keys.', key) : invariant(false) : void 0; one[key] = two[key]; } } return one; } /** * Creates a function that invokes two functions and merges their return values. * * @param {function} one Function to invoke first. * @param {function} two Function to invoke second. * @return {function} Function that invokes the two argument functions. * @private */ function createMergedResultFunction(one, two) { return function mergedResult() { var a = one.apply(this, arguments); var b = two.apply(this, arguments); if (a == null) { return b; } else if (b == null) { return a; } var c = {}; mergeIntoWithNoDuplicateKeys(c, a); mergeIntoWithNoDuplicateKeys(c, b); return c; }; } /** * Creates a function that invokes two functions and ignores their return vales. * * @param {function} one Function to invoke first. * @param {function} two Function to invoke second. * @return {function} Function that invokes the two argument functions. * @private */ function createChainedFunction(one, two) { return function chainedFunction() { one.apply(this, arguments); two.apply(this, arguments); }; } /** * Binds a method to the component. * * @param {object} component Component whose method is going to be bound. * @param {function} method Method to be bound. * @return {function} The bound method. */ function bindAutoBindMethod(component, method) { var boundMethod = method.bind(component); if (process.env.NODE_ENV !== 'production') { boundMethod.__reactBoundContext = component; boundMethod.__reactBoundMethod = method; boundMethod.__reactBoundArguments = null; var componentName = component.constructor.displayName; var _bind = boundMethod.bind; boundMethod.bind = function (newThis) { for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } // User is trying to bind() an autobound method; we effectively will // ignore the value of "this" that the user is trying to use, so // let's warn. if (newThis !== component && newThis !== null) { process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : void 0; } else if (!args.length) { process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : void 0; return boundMethod; } var reboundMethod = _bind.apply(boundMethod, arguments); reboundMethod.__reactBoundContext = component; reboundMethod.__reactBoundMethod = method; reboundMethod.__reactBoundArguments = args; return reboundMethod; }; } return boundMethod; } /** * Binds all auto-bound methods in a component. * * @param {object} component Component whose method is going to be bound. */ function bindAutoBindMethods(component) { var pairs = component.__reactAutoBindPairs; for (var i = 0; i < pairs.length; i += 2) { var autoBindKey = pairs[i]; var method = pairs[i + 1]; component[autoBindKey] = bindAutoBindMethod(component, method); } } /** * Add more to the ReactClass base class. These are all legacy features and * therefore not already part of the modern ReactComponent. */ var ReactClassMixin = { /** * TODO: This will be deprecated because state should always keep a consistent * type signature and the only use case for this, is to avoid that. */ replaceState: function (newState, callback) { this.updater.enqueueReplaceState(this, newState); if (callback) { this.updater.enqueueCallback(this, callback, 'replaceState'); } }, /** * Checks whether or not this composite component is mounted. * @return {boolean} True if mounted, false otherwise. * @protected * @final */ isMounted: function () { return this.updater.isMounted(this); } }; var ReactClassComponent = function () {}; _assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin); /** * Module for creating composite components. * * @class ReactClass */ var ReactClass = { /** * Creates a composite component class given a class specification. * * @param {object} spec Class specification (which must define `render`). * @return {function} Component constructor function. * @public */ createClass: function (spec) { var Constructor = function (props, context, updater) { // This constructor gets overridden by mocks. The argument is used // by mocks to assert on what gets mounted. if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : void 0; } // Wire up auto-binding if (this.__reactAutoBindPairs.length) { bindAutoBindMethods(this); } this.props = props; this.context = context; this.refs = emptyObject; this.updater = updater || ReactNoopUpdateQueue; this.state = null; // ReactClasses doesn't have constructors. Instead, they use the // getInitialState and componentWillMount methods for initialization. var initialState = this.getInitialState ? this.getInitialState() : null; if (process.env.NODE_ENV !== 'production') { // We allow auto-mocks to proceed as if they're returning null. if (initialState === undefined && this.getInitialState._isMockFunction) { // This is probably bad practice. Consider warning here and // deprecating this convenience. initialState = null; } } !(typeof initialState === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : invariant(false) : void 0; this.state = initialState; }; Constructor.prototype = new ReactClassComponent(); Constructor.prototype.constructor = Constructor; Constructor.prototype.__reactAutoBindPairs = []; injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor)); mixSpecIntoComponent(Constructor, spec); // Initialize the defaultProps property after all mixins have been merged. if (Constructor.getDefaultProps) { Constructor.defaultProps = Constructor.getDefaultProps(); } if (process.env.NODE_ENV !== 'production') { // This is a tag to indicate that the use of these method names is ok, // since it's used with createClass. If it's not, then it's likely a // mistake so we'll warn you to use the static property, property // initializer or constructor respectively. if (Constructor.getDefaultProps) { Constructor.getDefaultProps.isReactClassApproved = {}; } if (Constructor.prototype.getInitialState) { Constructor.prototype.getInitialState.isReactClassApproved = {}; } } !Constructor.prototype.render ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createClass(...): Class specification must implement a `render` method.') : invariant(false) : void 0; if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component') : void 0; process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component') : void 0; } // Reduce time spent doing lookups by setting these on the prototype. for (var methodName in ReactClassInterface) { if (!Constructor.prototype[methodName]) { Constructor.prototype[methodName] = null; } } return Constructor; }, injection: { injectMixin: function (mixin) { injectedMixins.push(mixin); } } }; module.exports = ReactClass; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 23 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPropTypeLocations */ 'use strict'; var keyMirror = __webpack_require__(24); var ReactPropTypeLocations = keyMirror({ prop: null, context: null, childContext: null }); module.exports = ReactPropTypeLocations; /***/ }, /* 24 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @typechecks static-only */ 'use strict'; var invariant = __webpack_require__(7); /** * Constructs an enumeration with keys equal to their value. * * For example: * * var COLORS = keyMirror({blue: null, red: null}); * var myColor = COLORS.blue; * var isColorValid = !!COLORS[myColor]; * * The last line could not be performed if the values of the generated enum were * not equal to their keys. * * Input: {key1: val1, key2: val2} * Output: {key1: key1, key2: key2} * * @param {object} obj * @return {object} */ var keyMirror = function (obj) { var ret = {}; var key; !(obj instanceof Object && !Array.isArray(obj)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'keyMirror(...): Argument must be an object.') : invariant(false) : void 0; for (key in obj) { if (!obj.hasOwnProperty(key)) { continue; } ret[key] = key; } return ret; }; module.exports = keyMirror; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 25 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPropTypeLocationNames */ 'use strict'; var ReactPropTypeLocationNames = {}; if (process.env.NODE_ENV !== 'production') { ReactPropTypeLocationNames = { prop: 'prop', context: 'context', childContext: 'child context' }; } module.exports = ReactPropTypeLocationNames; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 26 */ /***/ function(module, exports) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ /** * Allows extraction of a minified key. Let's the build system minify keys * without losing the ability to dynamically use key strings as values * themselves. Pass in an object with a single key/val pair and it will return * you the string key of that single record. Suppose you want to grab the * value for a key 'className' inside of an object. Key/val minification may * have aliased that key to be 'xa12'. keyOf({className: null}) will return * 'xa12' in that case. Resolve keys you want to use once at startup time, then * reuse those resolutions. */ var keyOf = function (oneKeyObj) { var key; for (key in oneKeyObj) { if (!oneKeyObj.hasOwnProperty(key)) { continue; } return key; } return null; }; module.exports = keyOf; /***/ }, /* 27 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOMFactories */ 'use strict'; var ReactElement = __webpack_require__(8); var ReactElementValidator = __webpack_require__(28); var mapObject = __webpack_require__(29); /** * Create a factory that creates HTML tag elements. * * @param {string} tag Tag name (e.g. `div`). * @private */ function createDOMFactory(tag) { if (process.env.NODE_ENV !== 'production') { return ReactElementValidator.createFactory(tag); } return ReactElement.createFactory(tag); } /** * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes. * This is also accessible via `React.DOM`. * * @public */ var ReactDOMFactories = mapObject({ a: 'a', abbr: 'abbr', address: 'address', area: 'area', article: 'article', aside: 'aside', audio: 'audio', b: 'b', base: 'base', bdi: 'bdi', bdo: 'bdo', big: 'big', blockquote: 'blockquote', body: 'body', br: 'br', button: 'button', canvas: 'canvas', caption: 'caption', cite: 'cite', code: 'code', col: 'col', colgroup: 'colgroup', data: 'data', datalist: 'datalist', dd: 'dd', del: 'del', details: 'details', dfn: 'dfn', dialog: 'dialog', div: 'div', dl: 'dl', dt: 'dt', em: 'em', embed: 'embed', fieldset: 'fieldset', figcaption: 'figcaption', figure: 'figure', footer: 'footer', form: 'form', h1: 'h1', h2: 'h2', h3: 'h3', h4: 'h4', h5: 'h5', h6: 'h6', head: 'head', header: 'header', hgroup: 'hgroup', hr: 'hr', html: 'html', i: 'i', iframe: 'iframe', img: 'img', input: 'input', ins: 'ins', kbd: 'kbd', keygen: 'keygen', label: 'label', legend: 'legend', li: 'li', link: 'link', main: 'main', map: 'map', mark: 'mark', menu: 'menu', menuitem: 'menuitem', meta: 'meta', meter: 'meter', nav: 'nav', noscript: 'noscript', object: 'object', ol: 'ol', optgroup: 'optgroup', option: 'option', output: 'output', p: 'p', param: 'param', picture: 'picture', pre: 'pre', progress: 'progress', q: 'q', rp: 'rp', rt: 'rt', ruby: 'ruby', s: 's', samp: 'samp', script: 'script', section: 'section', select: 'select', small: 'small', source: 'source', span: 'span', strong: 'strong', style: 'style', sub: 'sub', summary: 'summary', sup: 'sup', table: 'table', tbody: 'tbody', td: 'td', textarea: 'textarea', tfoot: 'tfoot', th: 'th', thead: 'thead', time: 'time', title: 'title', tr: 'tr', track: 'track', u: 'u', ul: 'ul', 'var': 'var', video: 'video', wbr: 'wbr', // SVG circle: 'circle', clipPath: 'clipPath', defs: 'defs', ellipse: 'ellipse', g: 'g', image: 'image', line: 'line', linearGradient: 'linearGradient', mask: 'mask', path: 'path', pattern: 'pattern', polygon: 'polygon', polyline: 'polyline', radialGradient: 'radialGradient', rect: 'rect', stop: 'stop', svg: 'svg', text: 'text', tspan: 'tspan' }, createDOMFactory); module.exports = ReactDOMFactories; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 28 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactElementValidator */ /** * ReactElementValidator provides a wrapper around a element factory * which validates the props passed to the element. This is intended to be * used only in DEV and could be replaced by a static type checker for languages * that support it. */ 'use strict'; var ReactElement = __webpack_require__(8); var ReactPropTypeLocations = __webpack_require__(23); var ReactPropTypeLocationNames = __webpack_require__(25); var ReactCurrentOwner = __webpack_require__(9); var canDefineProperty = __webpack_require__(12); var getIteratorFn = __webpack_require__(14); var invariant = __webpack_require__(7); var warning = __webpack_require__(10); function getDeclarationErrorAddendum() { if (ReactCurrentOwner.current) { var name = ReactCurrentOwner.current.getName(); if (name) { return ' Check the render method of `' + name + '`.'; } } return ''; } /** * Warn if there's no key explicitly set on dynamic arrays of children or * object keys are not valid. This allows us to keep track of children between * updates. */ var ownerHasKeyUseWarning = {}; var loggedTypeFailures = {}; /** * Warn if the element doesn't have an explicit key assigned to it. * This element is in an array. The array could grow and shrink or be * reordered. All children that haven't already been validated are required to * have a "key" property assigned to it. * * @internal * @param {ReactElement} element Element that requires a key. * @param {*} parentType element's parent's type. */ function validateExplicitKey(element, parentType) { if (!element._store || element._store.validated || element.key != null) { return; } element._store.validated = true; var addenda = getAddendaForKeyUse('uniqueKey', element, parentType); if (addenda === null) { // we already showed the warning return; } process.env.NODE_ENV !== 'production' ? warning(false, 'Each child in an array or iterator should have a unique "key" prop.' + '%s%s%s', addenda.parentOrOwner || '', addenda.childOwner || '', addenda.url || '') : void 0; } /** * Shared warning and monitoring code for the key warnings. * * @internal * @param {string} messageType A key used for de-duping warnings. * @param {ReactElement} element Component that requires a key. * @param {*} parentType element's parent's type. * @returns {?object} A set of addenda to use in the warning message, or null * if the warning has already been shown before (and shouldn't be shown again). */ function getAddendaForKeyUse(messageType, element, parentType) { var addendum = getDeclarationErrorAddendum(); if (!addendum) { var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name; if (parentName) { addendum = ' Check the top-level render call using <' + parentName + '>.'; } } var memoizer = ownerHasKeyUseWarning[messageType] || (ownerHasKeyUseWarning[messageType] = {}); if (memoizer[addendum]) { return null; } memoizer[addendum] = true; var addenda = { parentOrOwner: addendum, url: ' See https://fb.me/react-warning-keys for more information.', childOwner: null }; // Usually the current owner is the offender, but if it accepts children as a // property, it may be the creator of the child that's responsible for // assigning it a key. if (element && element._owner && element._owner !== ReactCurrentOwner.current) { // Give the component that originally created this child. addenda.childOwner = ' It was passed a child from ' + element._owner.getName() + '.'; } return addenda; } /** * Ensure that every element either is passed in a static location, in an * array with an explicit keys property defined, or in an object literal * with valid key property. * * @internal * @param {ReactNode} node Statically passed child of any type. * @param {*} parentType node's parent's type. */ function validateChildKeys(node, parentType) { if (typeof node !== 'object') { return; } if (Array.isArray(node)) { for (var i = 0; i < node.length; i++) { var child = node[i]; if (ReactElement.isValidElement(child)) { validateExplicitKey(child, parentType); } } } else if (ReactElement.isValidElement(node)) { // This element was passed in a valid location. if (node._store) { node._store.validated = true; } } else if (node) { var iteratorFn = getIteratorFn(node); // Entry iterators provide implicit keys. if (iteratorFn) { if (iteratorFn !== node.entries) { var iterator = iteratorFn.call(node); var step; while (!(step = iterator.next()).done) { if (ReactElement.isValidElement(step.value)) { validateExplicitKey(step.value, parentType); } } } } } } /** * Assert that the props are valid * * @param {string} componentName Name of the component for error messages. * @param {object} propTypes Map of prop name to a ReactPropType * @param {object} props * @param {string} location e.g. "prop", "context", "child context" * @private */ function checkPropTypes(componentName, propTypes, props, location) { for (var propName in propTypes) { if (propTypes.hasOwnProperty(propName)) { var error; // Prop type validation may throw. In case they do, we don't want to // fail the render phase where it didn't fail before. So we log it. // After these have been cleaned up, we'll let them throw. try { // This is intentionally an invariant that gets caught. It's the same // behavior as without this statement except with a better message. !(typeof propTypes[propName] === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], propName) : invariant(false) : void 0; error = propTypes[propName](props, propName, componentName, location); } catch (ex) { error = ex; } process.env.NODE_ENV !== 'production' ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', ReactPropTypeLocationNames[location], propName, typeof error) : void 0; if (error instanceof Error && !(error.message in loggedTypeFailures)) { // Only monitor this failure once because there tends to be a lot of the // same error. loggedTypeFailures[error.message] = true; var addendum = getDeclarationErrorAddendum(); process.env.NODE_ENV !== 'production' ? warning(false, 'Failed propType: %s%s', error.message, addendum) : void 0; } } } } /** * Given an element, validate that its props follow the propTypes definition, * provided by the type. * * @param {ReactElement} element */ function validatePropTypes(element) { var componentClass = element.type; if (typeof componentClass !== 'function') { return; } var name = componentClass.displayName || componentClass.name; if (componentClass.propTypes) { checkPropTypes(name, componentClass.propTypes, element.props, ReactPropTypeLocations.prop); } if (typeof componentClass.getDefaultProps === 'function') { process.env.NODE_ENV !== 'production' ? warning(componentClass.getDefaultProps.isReactClassApproved, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : void 0; } } var ReactElementValidator = { createElement: function (type, props, children) { var validType = typeof type === 'string' || typeof type === 'function'; // We warn in this case but don't throw. We expect the element creation to // succeed and there will likely be errors in render. process.env.NODE_ENV !== 'production' ? warning(validType, 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : void 0; var element = ReactElement.createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used. // TODO: Drop this when these are no longer allowed as the type argument. if (element == null) { return element; } // Skip key warning if the type isn't valid since our key validation logic // doesn't expect a non-string/function type and can throw confusing errors. // We don't want exception behavior to differ between dev and prod. // (Rendering will throw with a helpful message and as soon as the type is // fixed, the key warnings will appear.) if (validType) { for (var i = 2; i < arguments.length; i++) { validateChildKeys(arguments[i], type); } } validatePropTypes(element); return element; }, createFactory: function (type) { var validatedFactory = ReactElementValidator.createElement.bind(null, type); // Legacy hook TODO: Warn if this is accessed validatedFactory.type = type; if (process.env.NODE_ENV !== 'production') { if (canDefineProperty) { Object.defineProperty(validatedFactory, 'type', { enumerable: false, get: function () { process.env.NODE_ENV !== 'production' ? warning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.') : void 0; Object.defineProperty(this, 'type', { value: type }); return type; } }); } } return validatedFactory; }, cloneElement: function (element, props, children) { var newElement = ReactElement.cloneElement.apply(this, arguments); for (var i = 2; i < arguments.length; i++) { validateChildKeys(arguments[i], newElement.type); } validatePropTypes(newElement); return newElement; } }; module.exports = ReactElementValidator; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 29 */ /***/ function(module, exports) { /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var hasOwnProperty = Object.prototype.hasOwnProperty; /** * Executes the provided `callback` once for each enumerable own property in the * object and constructs a new object from the results. The `callback` is * invoked with three arguments: * * - the property value * - the property name * - the object being traversed * * Properties that are added after the call to `mapObject` will not be visited * by `callback`. If the values of existing properties are changed, the value * passed to `callback` will be the value at the time `mapObject` visits them. * Properties that are deleted before being visited are not visited. * * @grep function objectMap() * @grep function objMap() * * @param {?object} object * @param {function} callback * @param {*} context * @return {?object} */ function mapObject(object, callback, context) { if (!object) { return null; } var result = {}; for (var name in object) { if (hasOwnProperty.call(object, name)) { result[name] = callback.call(context, object[name], name, object); } } return result; } module.exports = mapObject; /***/ }, /* 30 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPropTypes */ 'use strict'; var ReactElement = __webpack_require__(8); var ReactPropTypeLocationNames = __webpack_require__(25); var emptyFunction = __webpack_require__(11); var getIteratorFn = __webpack_require__(14); /** * Collection of methods that allow declaration and validation of props that are * supplied to React components. Example usage: * * var Props = require('ReactPropTypes'); * var MyArticle = React.createClass({ * propTypes: { * // An optional string prop named "description". * description: Props.string, * * // A required enum prop named "category". * category: Props.oneOf(['News','Photos']).isRequired, * * // A prop named "dialog" that requires an instance of Dialog. * dialog: Props.instanceOf(Dialog).isRequired * }, * render: function() { ... } * }); * * A more formal specification of how these methods are used: * * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) * decl := ReactPropTypes.{type}(.isRequired)? * * Each and every declaration produces a function with the same signature. This * allows the creation of custom validation functions. For example: * * var MyLink = React.createClass({ * propTypes: { * // An optional string or URI prop named "href". * href: function(props, propName, componentName) { * var propValue = props[propName]; * if (propValue != null && typeof propValue !== 'string' && * !(propValue instanceof URI)) { * return new Error( * 'Expected a string or an URI for ' + propName + ' in ' + * componentName * ); * } * } * }, * render: function() {...} * }); * * @internal */ var ANONYMOUS = '<>'; var ReactPropTypes = { array: createPrimitiveTypeChecker('array'), bool: createPrimitiveTypeChecker('boolean'), func: createPrimitiveTypeChecker('function'), number: createPrimitiveTypeChecker('number'), object: createPrimitiveTypeChecker('object'), string: createPrimitiveTypeChecker('string'), any: createAnyTypeChecker(), arrayOf: createArrayOfTypeChecker, element: createElementTypeChecker(), instanceOf: createInstanceTypeChecker, node: createNodeChecker(), objectOf: createObjectOfTypeChecker, oneOf: createEnumTypeChecker, oneOfType: createUnionTypeChecker, shape: createShapeTypeChecker }; /** * inlined Object.is polyfill to avoid requiring consumers ship their own * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is */ /*eslint-disable no-self-compare*/ function is(x, y) { // SameValue algorithm if (x === y) { // Steps 1-5, 7-10 // Steps 6.b-6.e: +0 != -0 return x !== 0 || 1 / x === 1 / y; } else { // Step 6.a: NaN == NaN return x !== x && y !== y; } } /*eslint-enable no-self-compare*/ function createChainableTypeChecker(validate) { function checkType(isRequired, props, propName, componentName, location, propFullName) { componentName = componentName || ANONYMOUS; propFullName = propFullName || propName; if (props[propName] == null) { var locationName = ReactPropTypeLocationNames[location]; if (isRequired) { return new Error('Required ' + locationName + ' `' + propFullName + '` was not specified in ' + ('`' + componentName + '`.')); } return null; } else { return validate(props, propName, componentName, location, propFullName); } } var chainedCheckType = checkType.bind(null, false); chainedCheckType.isRequired = checkType.bind(null, true); return chainedCheckType; } function createPrimitiveTypeChecker(expectedType) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== expectedType) { var locationName = ReactPropTypeLocationNames[location]; // `propValue` being instance of, say, date/regexp, pass the 'object' // check, but we can offer a more precise error message here rather than // 'of type `object`'. var preciseType = getPreciseType(propValue); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); } return null; } return createChainableTypeChecker(validate); } function createAnyTypeChecker() { return createChainableTypeChecker(emptyFunction.thatReturns(null)); } function createArrayOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new Error('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); } var propValue = props[propName]; if (!Array.isArray(propValue)) { var locationName = ReactPropTypeLocationNames[location]; var propType = getPropType(propValue); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); } for (var i = 0; i < propValue.length; i++) { var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']'); if (error instanceof Error) { return error; } } return null; } return createChainableTypeChecker(validate); } function createElementTypeChecker() { function validate(props, propName, componentName, location, propFullName) { if (!ReactElement.isValidElement(props[propName])) { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a single ReactElement.')); } return null; } return createChainableTypeChecker(validate); } function createInstanceTypeChecker(expectedClass) { function validate(props, propName, componentName, location, propFullName) { if (!(props[propName] instanceof expectedClass)) { var locationName = ReactPropTypeLocationNames[location]; var expectedClassName = expectedClass.name || ANONYMOUS; var actualClassName = getClassName(props[propName]); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); } return null; } return createChainableTypeChecker(validate); } function createEnumTypeChecker(expectedValues) { if (!Array.isArray(expectedValues)) { return createChainableTypeChecker(function () { return new Error('Invalid argument supplied to oneOf, expected an instance of array.'); }); } function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; for (var i = 0; i < expectedValues.length; i++) { if (is(propValue, expectedValues[i])) { return null; } } var locationName = ReactPropTypeLocationNames[location]; var valuesString = JSON.stringify(expectedValues); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); } return createChainableTypeChecker(validate); } function createObjectOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new Error('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); } var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); } for (var key in propValue) { if (propValue.hasOwnProperty(key)) { var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key); if (error instanceof Error) { return error; } } } return null; } return createChainableTypeChecker(validate); } function createUnionTypeChecker(arrayOfTypeCheckers) { if (!Array.isArray(arrayOfTypeCheckers)) { return createChainableTypeChecker(function () { return new Error('Invalid argument supplied to oneOfType, expected an instance of array.'); }); } function validate(props, propName, componentName, location, propFullName) { for (var i = 0; i < arrayOfTypeCheckers.length; i++) { var checker = arrayOfTypeCheckers[i]; if (checker(props, propName, componentName, location, propFullName) == null) { return null; } } var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); } return createChainableTypeChecker(validate); } function createNodeChecker() { function validate(props, propName, componentName, location, propFullName) { if (!isNode(props[propName])) { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); } return null; } return createChainableTypeChecker(validate); } function createShapeTypeChecker(shapeTypes) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); } for (var key in shapeTypes) { var checker = shapeTypes[key]; if (!checker) { continue; } var error = checker(propValue, key, componentName, location, propFullName + '.' + key); if (error) { return error; } } return null; } return createChainableTypeChecker(validate); } function isNode(propValue) { switch (typeof propValue) { case 'number': case 'string': case 'undefined': return true; case 'boolean': return !propValue; case 'object': if (Array.isArray(propValue)) { return propValue.every(isNode); } if (propValue === null || ReactElement.isValidElement(propValue)) { return true; } var iteratorFn = getIteratorFn(propValue); if (iteratorFn) { var iterator = iteratorFn.call(propValue); var step; if (iteratorFn !== propValue.entries) { while (!(step = iterator.next()).done) { if (!isNode(step.value)) { return false; } } } else { // Iterator will provide entry [k,v] tuples rather than values. while (!(step = iterator.next()).done) { var entry = step.value; if (entry) { if (!isNode(entry[1])) { return false; } } } } } else { return false; } return true; default: return false; } } // Equivalent of `typeof` but with special handling for array and regexp. function getPropType(propValue) { var propType = typeof propValue; if (Array.isArray(propValue)) { return 'array'; } if (propValue instanceof RegExp) { // Old webkits (at least until Android 4.0) return 'function' rather than // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ // passes PropTypes.object. return 'object'; } return propType; } // This handles more types than `getPropType`. Only used for error messages. // See `createPrimitiveTypeChecker`. function getPreciseType(propValue) { var propType = getPropType(propValue); if (propType === 'object') { if (propValue instanceof Date) { return 'date'; } else if (propValue instanceof RegExp) { return 'regexp'; } } return propType; } // Returns class name of the object, if any. function getClassName(propValue) { if (!propValue.constructor || !propValue.constructor.name) { return ANONYMOUS; } return propValue.constructor.name; } module.exports = ReactPropTypes; /***/ }, /* 31 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactVersion */ 'use strict'; module.exports = '15.0.2'; /***/ }, /* 32 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule onlyChild */ 'use strict'; var ReactElement = __webpack_require__(8); var invariant = __webpack_require__(7); /** * Returns the first child in a collection of children and verifies that there * is only one child in the collection. The current implementation of this * function assumes that a single child gets passed without a wrapper, but the * purpose of this helper function is to abstract away the particular structure * of children. * * @param {?object} children Child collection structure. * @return {ReactElement} The first and only `ReactElement` contained in the * structure. */ function onlyChild(children) { !ReactElement.isValidElement(children) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'onlyChild must be passed a children with exactly one child.') : invariant(false) : void 0; return children; } module.exports = onlyChild; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 33 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; module.exports = __webpack_require__(34); /***/ }, /* 34 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOM */ /* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/ 'use strict'; var ReactDOMComponentTree = __webpack_require__(35); var ReactDefaultInjection = __webpack_require__(38); var ReactMount = __webpack_require__(158); var ReactPerf = __webpack_require__(58); var ReactReconciler = __webpack_require__(59); var ReactUpdates = __webpack_require__(55); var ReactVersion = __webpack_require__(31); var findDOMNode = __webpack_require__(165); var getNativeComponentFromComposite = __webpack_require__(166); var renderSubtreeIntoContainer = __webpack_require__(167); var warning = __webpack_require__(10); ReactDefaultInjection.inject(); var render = ReactPerf.measure('React', 'render', ReactMount.render); var React = { findDOMNode: findDOMNode, render: render, unmountComponentAtNode: ReactMount.unmountComponentAtNode, version: ReactVersion, /* eslint-disable camelcase */ unstable_batchedUpdates: ReactUpdates.batchedUpdates, unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer }; // Inject the runtime into a devtools global hook regardless of browser. // Allows for debugging when the hook is injected on the page. /* eslint-enable camelcase */ if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') { __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ ComponentTree: { getClosestInstanceFromNode: ReactDOMComponentTree.getClosestInstanceFromNode, getNodeFromInstance: function (inst) { // inst is an internal instance (but could be a composite) if (inst._renderedComponent) { inst = getNativeComponentFromComposite(inst); } if (inst) { return ReactDOMComponentTree.getNodeFromInstance(inst); } else { return null; } } }, Mount: ReactMount, Reconciler: ReactReconciler }); } if (process.env.NODE_ENV !== 'production') { var ExecutionEnvironment = __webpack_require__(48); if (ExecutionEnvironment.canUseDOM && window.top === window.self) { // First check if devtools is not installed if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') { // If we're in Chrome or Firefox, provide a download link if not installed. if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) { // Firefox does not have the issue with devtools loaded over file:// var showFileUrlMessage = window.location.protocol.indexOf('http') === -1 && navigator.userAgent.indexOf('Firefox') === -1; console.debug('Download the React DevTools ' + (showFileUrlMessage ? 'and use an HTTP server (instead of a file: URL) ' : '') + 'for a better development experience: ' + 'https://fb.me/react-devtools'); } } var testFunc = function testFn() {}; process.env.NODE_ENV !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, 'It looks like you\'re using a minified copy of the development build ' + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0; // If we're in IE8, check to see if we are in compatibility mode and provide // information on preventing compatibility mode var ieCompatibilityMode = document.documentMode && document.documentMode < 8; process.env.NODE_ENV !== 'production' ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '') : void 0; var expectedFeatures = [ // shims Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.split, String.prototype.trim]; for (var i = 0; i < expectedFeatures.length; i++) { if (!expectedFeatures[i]) { process.env.NODE_ENV !== 'production' ? warning(false, 'One or more ES5 shims expected by React are not available: ' + 'https://fb.me/react-warning-polyfills') : void 0; break; } } } } module.exports = React; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 35 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOMComponentTree */ 'use strict'; var DOMProperty = __webpack_require__(36); var ReactDOMComponentFlags = __webpack_require__(37); var invariant = __webpack_require__(7); var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME; var Flags = ReactDOMComponentFlags; var internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2); /** * Drill down (through composites and empty components) until we get a native or * native text component. * * This is pretty polymorphic but unavoidable with the current structure we have * for `_renderedChildren`. */ function getRenderedNativeOrTextFromComponent(component) { var rendered; while (rendered = component._renderedComponent) { component = rendered; } return component; } /** * Populate `_nativeNode` on the rendered native/text component with the given * DOM node. The passed `inst` can be a composite. */ function precacheNode(inst, node) { var nativeInst = getRenderedNativeOrTextFromComponent(inst); nativeInst._nativeNode = node; node[internalInstanceKey] = nativeInst; } function uncacheNode(inst) { var node = inst._nativeNode; if (node) { delete node[internalInstanceKey]; inst._nativeNode = null; } } /** * Populate `_nativeNode` on each child of `inst`, assuming that the children * match up with the DOM (element) children of `node`. * * We cache entire levels at once to avoid an n^2 problem where we access the * children of a node sequentially and have to walk from the start to our target * node every time. * * Since we update `_renderedChildren` and the actual DOM at (slightly) * different times, we could race here and see a newer `_renderedChildren` than * the DOM nodes we see. To avoid this, ReactMultiChild calls * `prepareToManageChildren` before we change `_renderedChildren`, at which * time the container's child nodes are always cached (until it unmounts). */ function precacheChildNodes(inst, node) { if (inst._flags & Flags.hasCachedChildNodes) { return; } var children = inst._renderedChildren; var childNode = node.firstChild; outer: for (var name in children) { if (!children.hasOwnProperty(name)) { continue; } var childInst = children[name]; var childID = getRenderedNativeOrTextFromComponent(childInst)._domID; if (childID == null) { // We're currently unmounting this child in ReactMultiChild; skip it. continue; } // We assume the child nodes are in the same order as the child instances. for (; childNode !== null; childNode = childNode.nextSibling) { if (childNode.nodeType === 1 && childNode.getAttribute(ATTR_NAME) === String(childID) || childNode.nodeType === 8 && childNode.nodeValue === ' react-text: ' + childID + ' ' || childNode.nodeType === 8 && childNode.nodeValue === ' react-empty: ' + childID + ' ') { precacheNode(childInst, childNode); continue outer; } } // We reached the end of the DOM children without finding an ID match. true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unable to find element with ID %s.', childID) : invariant(false) : void 0; } inst._flags |= Flags.hasCachedChildNodes; } /** * Given a DOM node, return the closest ReactDOMComponent or * ReactDOMTextComponent instance ancestor. */ function getClosestInstanceFromNode(node) { if (node[internalInstanceKey]) { return node[internalInstanceKey]; } // Walk up the tree until we find an ancestor whose instance we have cached. var parents = []; while (!node[internalInstanceKey]) { parents.push(node); if (node.parentNode) { node = node.parentNode; } else { // Top of the tree. This node must not be part of a React tree (or is // unmounted, potentially). return null; } } var closest; var inst; for (; node && (inst = node[internalInstanceKey]); node = parents.pop()) { closest = inst; if (parents.length) { precacheChildNodes(inst, node); } } return closest; } /** * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent * instance, or null if the node was not rendered by this React. */ function getInstanceFromNode(node) { var inst = getClosestInstanceFromNode(node); if (inst != null && inst._nativeNode === node) { return inst; } else { return null; } } /** * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding * DOM node. */ function getNodeFromInstance(inst) { // Without this first invariant, passing a non-DOM-component triggers the next // invariant for a missing parent, which is super confusing. !(inst._nativeNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : invariant(false) : void 0; if (inst._nativeNode) { return inst._nativeNode; } // Walk up the tree until we find an ancestor whose DOM node we have cached. var parents = []; while (!inst._nativeNode) { parents.push(inst); !inst._nativeParent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React DOM tree root should always have a node reference.') : invariant(false) : void 0; inst = inst._nativeParent; } // Now parents contains each ancestor that does *not* have a cached native // node, and `inst` is the deepest ancestor that does. for (; parents.length; inst = parents.pop()) { precacheChildNodes(inst, inst._nativeNode); } return inst._nativeNode; } var ReactDOMComponentTree = { getClosestInstanceFromNode: getClosestInstanceFromNode, getInstanceFromNode: getInstanceFromNode, getNodeFromInstance: getNodeFromInstance, precacheChildNodes: precacheChildNodes, precacheNode: precacheNode, uncacheNode: uncacheNode }; module.exports = ReactDOMComponentTree; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 36 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DOMProperty */ 'use strict'; var invariant = __webpack_require__(7); function checkMask(value, bitmask) { return (value & bitmask) === bitmask; } var DOMPropertyInjection = { /** * Mapping from normalized, camelcased property names to a configuration that * specifies how the associated DOM property should be accessed or rendered. */ MUST_USE_PROPERTY: 0x1, HAS_SIDE_EFFECTS: 0x2, HAS_BOOLEAN_VALUE: 0x4, HAS_NUMERIC_VALUE: 0x8, HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8, HAS_OVERLOADED_BOOLEAN_VALUE: 0x20, /** * Inject some specialized knowledge about the DOM. This takes a config object * with the following properties: * * isCustomAttribute: function that given an attribute name will return true * if it can be inserted into the DOM verbatim. Useful for data-* or aria-* * attributes where it's impossible to enumerate all of the possible * attribute names, * * Properties: object mapping DOM property name to one of the * DOMPropertyInjection constants or null. If your attribute isn't in here, * it won't get written to the DOM. * * DOMAttributeNames: object mapping React attribute name to the DOM * attribute name. Attribute names not specified use the **lowercase** * normalized name. * * DOMAttributeNamespaces: object mapping React attribute name to the DOM * attribute namespace URL. (Attribute names not specified use no namespace.) * * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties. * Property names not specified use the normalized name. * * DOMMutationMethods: Properties that require special mutation methods. If * `value` is undefined, the mutation method should unset the property. * * @param {object} domPropertyConfig the config as described above. */ injectDOMPropertyConfig: function (domPropertyConfig) { var Injection = DOMPropertyInjection; var Properties = domPropertyConfig.Properties || {}; var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {}; var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {}; var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {}; var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {}; if (domPropertyConfig.isCustomAttribute) { DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute); } for (var propName in Properties) { !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'injectDOMPropertyConfig(...): You\'re trying to inject DOM property ' + '\'%s\' which has already been injected. You may be accidentally ' + 'injecting the same DOM property config twice, or you may be ' + 'injecting two configs that have conflicting property names.', propName) : invariant(false) : void 0; var lowerCased = propName.toLowerCase(); var propConfig = Properties[propName]; var propertyInfo = { attributeName: lowerCased, attributeNamespace: null, propertyName: propName, mutationMethod: null, mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY), hasSideEffects: checkMask(propConfig, Injection.HAS_SIDE_EFFECTS), hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE), hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE), hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE), hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE) }; !(propertyInfo.mustUseProperty || !propertyInfo.hasSideEffects) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Properties that have side effects must use property: %s', propName) : invariant(false) : void 0; !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or ' + 'numeric value, but not a combination: %s', propName) : invariant(false) : void 0; if (process.env.NODE_ENV !== 'production') { DOMProperty.getPossibleStandardName[lowerCased] = propName; } if (DOMAttributeNames.hasOwnProperty(propName)) { var attributeName = DOMAttributeNames[propName]; propertyInfo.attributeName = attributeName; if (process.env.NODE_ENV !== 'production') { DOMProperty.getPossibleStandardName[attributeName] = propName; } } if (DOMAttributeNamespaces.hasOwnProperty(propName)) { propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName]; } if (DOMPropertyNames.hasOwnProperty(propName)) { propertyInfo.propertyName = DOMPropertyNames[propName]; } if (DOMMutationMethods.hasOwnProperty(propName)) { propertyInfo.mutationMethod = DOMMutationMethods[propName]; } DOMProperty.properties[propName] = propertyInfo; } } }; /* eslint-disable max-len */ var ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD'; /* eslint-enable max-len */ /** * DOMProperty exports lookup objects that can be used like functions: * * > DOMProperty.isValid['id'] * true * > DOMProperty.isValid['foobar'] * undefined * * Although this may be confusing, it performs better in general. * * @see http://jsperf.com/key-exists * @see http://jsperf.com/key-missing */ var DOMProperty = { ID_ATTRIBUTE_NAME: 'data-reactid', ROOT_ATTRIBUTE_NAME: 'data-reactroot', ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR, ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\uB7\\u0300-\\u036F\\u203F-\\u2040', /** * Map from property "standard name" to an object with info about how to set * the property in the DOM. Each object contains: * * attributeName: * Used when rendering markup or with `*Attribute()`. * attributeNamespace * propertyName: * Used on DOM node instances. (This includes properties that mutate due to * external factors.) * mutationMethod: * If non-null, used instead of the property or `setAttribute()` after * initial render. * mustUseProperty: * Whether the property must be accessed and mutated as an object property. * hasSideEffects: * Whether or not setting a value causes side effects such as triggering * resources to be loaded or text selection changes. If true, we read from * the DOM before updating to ensure that the value is only set if it has * changed. * hasBooleanValue: * Whether the property should be removed when set to a falsey value. * hasNumericValue: * Whether the property must be numeric or parse as a numeric and should be * removed when set to a falsey value. * hasPositiveNumericValue: * Whether the property must be positive numeric or parse as a positive * numeric and should be removed when set to a falsey value. * hasOverloadedBooleanValue: * Whether the property can be used as a flag as well as with a value. * Removed when strictly equal to false; present without a value when * strictly equal to true; present with a value otherwise. */ properties: {}, /** * Mapping from lowercase property names to the properly cased version, used * to warn in the case of missing properties. Available only in __DEV__. * @type {Object} */ getPossibleStandardName: process.env.NODE_ENV !== 'production' ? {} : null, /** * All of the isCustomAttribute() functions that have been injected. */ _isCustomAttributeFunctions: [], /** * Checks whether a property name is a custom attribute. * @method */ isCustomAttribute: function (attributeName) { for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) { var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i]; if (isCustomAttributeFn(attributeName)) { return true; } } return false; }, injection: DOMPropertyInjection }; module.exports = DOMProperty; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 37 */ /***/ function(module, exports) { /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOMComponentFlags */ 'use strict'; var ReactDOMComponentFlags = { hasCachedChildNodes: 1 << 0 }; module.exports = ReactDOMComponentFlags; /***/ }, /* 38 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDefaultInjection */ 'use strict'; var BeforeInputEventPlugin = __webpack_require__(39); var ChangeEventPlugin = __webpack_require__(54); var DefaultEventPluginOrder = __webpack_require__(66); var EnterLeaveEventPlugin = __webpack_require__(67); var ExecutionEnvironment = __webpack_require__(48); var HTMLDOMPropertyConfig = __webpack_require__(72); var ReactComponentBrowserEnvironment = __webpack_require__(73); var ReactDOMComponent = __webpack_require__(86); var ReactDOMComponentTree = __webpack_require__(35); var ReactDOMEmptyComponent = __webpack_require__(127); var ReactDOMTreeTraversal = __webpack_require__(128); var ReactDOMTextComponent = __webpack_require__(129); var ReactDefaultBatchingStrategy = __webpack_require__(130); var ReactEventListener = __webpack_require__(131); var ReactInjection = __webpack_require__(134); var ReactReconcileTransaction = __webpack_require__(135); var SVGDOMPropertyConfig = __webpack_require__(143); var SelectEventPlugin = __webpack_require__(144); var SimpleEventPlugin = __webpack_require__(145); var alreadyInjected = false; function inject() { if (alreadyInjected) { // TODO: This is currently true because these injections are shared between // the client and the server package. They should be built independently // and not share any injection state. Then this problem will be solved. return; } alreadyInjected = true; ReactInjection.EventEmitter.injectReactEventListener(ReactEventListener); /** * Inject modules for resolving DOM hierarchy and plugin ordering. */ ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder); ReactInjection.EventPluginUtils.injectComponentTree(ReactDOMComponentTree); ReactInjection.EventPluginUtils.injectTreeTraversal(ReactDOMTreeTraversal); /** * Some important event plugins included by default (without having to require * them). */ ReactInjection.EventPluginHub.injectEventPluginsByName({ SimpleEventPlugin: SimpleEventPlugin, EnterLeaveEventPlugin: EnterLeaveEventPlugin, ChangeEventPlugin: ChangeEventPlugin, SelectEventPlugin: SelectEventPlugin, BeforeInputEventPlugin: BeforeInputEventPlugin }); ReactInjection.NativeComponent.injectGenericComponentClass(ReactDOMComponent); ReactInjection.NativeComponent.injectTextComponentClass(ReactDOMTextComponent); ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig); ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig); ReactInjection.EmptyComponent.injectEmptyComponentFactory(function (instantiate) { return new ReactDOMEmptyComponent(instantiate); }); ReactInjection.Updates.injectReconcileTransaction(ReactReconcileTransaction); ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy); ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment); if (process.env.NODE_ENV !== 'production') { var url = ExecutionEnvironment.canUseDOM && window.location.href || ''; if (/[?&]react_perf\b/.test(url)) { var ReactDefaultPerf = __webpack_require__(156); ReactDefaultPerf.start(); } } } module.exports = { inject: inject }; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 39 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule BeforeInputEventPlugin */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPropagators = __webpack_require__(41); var ExecutionEnvironment = __webpack_require__(48); var FallbackCompositionState = __webpack_require__(49); var SyntheticCompositionEvent = __webpack_require__(51); var SyntheticInputEvent = __webpack_require__(53); var keyOf = __webpack_require__(26); var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space var START_KEYCODE = 229; var canUseCompositionEvent = ExecutionEnvironment.canUseDOM && 'CompositionEvent' in window; var documentMode = null; if (ExecutionEnvironment.canUseDOM && 'documentMode' in document) { documentMode = document.documentMode; } // Webkit offers a very useful `textInput` event that can be used to // directly represent `beforeInput`. The IE `textinput` event is not as // useful, so we don't use it. var canUseTextInputEvent = ExecutionEnvironment.canUseDOM && 'TextEvent' in window && !documentMode && !isPresto(); // In IE9+, we have access to composition events, but the data supplied // by the native compositionend event may be incorrect. Japanese ideographic // spaces, for instance (\u3000) are not recorded correctly. var useFallbackCompositionData = ExecutionEnvironment.canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11); /** * Opera <= 12 includes TextEvent in window, but does not fire * text input events. Rely on keypress instead. */ function isPresto() { var opera = window.opera; return typeof opera === 'object' && typeof opera.version === 'function' && parseInt(opera.version(), 10) <= 12; } var SPACEBAR_CODE = 32; var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE); var topLevelTypes = EventConstants.topLevelTypes; // Events and their corresponding property names. var eventTypes = { beforeInput: { phasedRegistrationNames: { bubbled: keyOf({ onBeforeInput: null }), captured: keyOf({ onBeforeInputCapture: null }) }, dependencies: [topLevelTypes.topCompositionEnd, topLevelTypes.topKeyPress, topLevelTypes.topTextInput, topLevelTypes.topPaste] }, compositionEnd: { phasedRegistrationNames: { bubbled: keyOf({ onCompositionEnd: null }), captured: keyOf({ onCompositionEndCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionEnd, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] }, compositionStart: { phasedRegistrationNames: { bubbled: keyOf({ onCompositionStart: null }), captured: keyOf({ onCompositionStartCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionStart, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] }, compositionUpdate: { phasedRegistrationNames: { bubbled: keyOf({ onCompositionUpdate: null }), captured: keyOf({ onCompositionUpdateCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionUpdate, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] } }; // Track whether we've ever handled a keypress on the space key. var hasSpaceKeypress = false; /** * Return whether a native keypress event is assumed to be a command. * This is required because Firefox fires `keypress` events for key commands * (cut, copy, select-all, etc.) even though no character is inserted. */ function isKeypressCommand(nativeEvent) { return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command. !(nativeEvent.ctrlKey && nativeEvent.altKey); } /** * Translate native top level events into event types. * * @param {string} topLevelType * @return {object} */ function getCompositionEventType(topLevelType) { switch (topLevelType) { case topLevelTypes.topCompositionStart: return eventTypes.compositionStart; case topLevelTypes.topCompositionEnd: return eventTypes.compositionEnd; case topLevelTypes.topCompositionUpdate: return eventTypes.compositionUpdate; } } /** * Does our fallback best-guess model think this event signifies that * composition has begun? * * @param {string} topLevelType * @param {object} nativeEvent * @return {boolean} */ function isFallbackCompositionStart(topLevelType, nativeEvent) { return topLevelType === topLevelTypes.topKeyDown && nativeEvent.keyCode === START_KEYCODE; } /** * Does our fallback mode think that this event is the end of composition? * * @param {string} topLevelType * @param {object} nativeEvent * @return {boolean} */ function isFallbackCompositionEnd(topLevelType, nativeEvent) { switch (topLevelType) { case topLevelTypes.topKeyUp: // Command keys insert or clear IME input. return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1; case topLevelTypes.topKeyDown: // Expect IME keyCode on each keydown. If we get any other // code we must have exited earlier. return nativeEvent.keyCode !== START_KEYCODE; case topLevelTypes.topKeyPress: case topLevelTypes.topMouseDown: case topLevelTypes.topBlur: // Events are not possible without cancelling IME. return true; default: return false; } } /** * Google Input Tools provides composition data via a CustomEvent, * with the `data` property populated in the `detail` object. If this * is available on the event object, use it. If not, this is a plain * composition event and we have nothing special to extract. * * @param {object} nativeEvent * @return {?string} */ function getDataFromCustomEvent(nativeEvent) { var detail = nativeEvent.detail; if (typeof detail === 'object' && 'data' in detail) { return detail.data; } return null; } // Track the current IME composition fallback object, if any. var currentComposition = null; /** * @return {?object} A SyntheticCompositionEvent. */ function extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { var eventType; var fallbackData; if (canUseCompositionEvent) { eventType = getCompositionEventType(topLevelType); } else if (!currentComposition) { if (isFallbackCompositionStart(topLevelType, nativeEvent)) { eventType = eventTypes.compositionStart; } } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) { eventType = eventTypes.compositionEnd; } if (!eventType) { return null; } if (useFallbackCompositionData) { // The current composition is stored statically and must not be // overwritten while composition continues. if (!currentComposition && eventType === eventTypes.compositionStart) { currentComposition = FallbackCompositionState.getPooled(nativeEventTarget); } else if (eventType === eventTypes.compositionEnd) { if (currentComposition) { fallbackData = currentComposition.getData(); } } } var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget); if (fallbackData) { // Inject data generated from fallback path into the synthetic event. // This matches the property of native CompositionEventInterface. event.data = fallbackData; } else { var customData = getDataFromCustomEvent(nativeEvent); if (customData !== null) { event.data = customData; } } EventPropagators.accumulateTwoPhaseDispatches(event); return event; } /** * @param {string} topLevelType Record from `EventConstants`. * @param {object} nativeEvent Native browser event. * @return {?string} The string corresponding to this `beforeInput` event. */ function getNativeBeforeInputChars(topLevelType, nativeEvent) { switch (topLevelType) { case topLevelTypes.topCompositionEnd: return getDataFromCustomEvent(nativeEvent); case topLevelTypes.topKeyPress: /** * If native `textInput` events are available, our goal is to make * use of them. However, there is a special case: the spacebar key. * In Webkit, preventing default on a spacebar `textInput` event * cancels character insertion, but it *also* causes the browser * to fall back to its default spacebar behavior of scrolling the * page. * * Tracking at: * https://code.google.com/p/chromium/issues/detail?id=355103 * * To avoid this issue, use the keypress event as if no `textInput` * event is available. */ var which = nativeEvent.which; if (which !== SPACEBAR_CODE) { return null; } hasSpaceKeypress = true; return SPACEBAR_CHAR; case topLevelTypes.topTextInput: // Record the characters to be added to the DOM. var chars = nativeEvent.data; // If it's a spacebar character, assume that we have already handled // it at the keypress level and bail immediately. Android Chrome // doesn't give us keycodes, so we need to blacklist it. if (chars === SPACEBAR_CHAR && hasSpaceKeypress) { return null; } return chars; default: // For other native event types, do nothing. return null; } } /** * For browsers that do not provide the `textInput` event, extract the * appropriate string to use for SyntheticInputEvent. * * @param {string} topLevelType Record from `EventConstants`. * @param {object} nativeEvent Native browser event. * @return {?string} The fallback string for this `beforeInput` event. */ function getFallbackBeforeInputChars(topLevelType, nativeEvent) { // If we are currently composing (IME) and using a fallback to do so, // try to extract the composed characters from the fallback object. if (currentComposition) { if (topLevelType === topLevelTypes.topCompositionEnd || isFallbackCompositionEnd(topLevelType, nativeEvent)) { var chars = currentComposition.getData(); FallbackCompositionState.release(currentComposition); currentComposition = null; return chars; } return null; } switch (topLevelType) { case topLevelTypes.topPaste: // If a paste event occurs after a keypress, throw out the input // chars. Paste events should not lead to BeforeInput events. return null; case topLevelTypes.topKeyPress: /** * As of v27, Firefox may fire keypress events even when no character * will be inserted. A few possibilities: * * - `which` is `0`. Arrow keys, Esc key, etc. * * - `which` is the pressed key code, but no char is available. * Ex: 'AltGr + d` in Polish. There is no modified character for * this key combination and no character is inserted into the * document, but FF fires the keypress for char code `100` anyway. * No `input` event will occur. * * - `which` is the pressed key code, but a command combination is * being used. Ex: `Cmd+C`. No character is inserted, and no * `input` event will occur. */ if (nativeEvent.which && !isKeypressCommand(nativeEvent)) { return String.fromCharCode(nativeEvent.which); } return null; case topLevelTypes.topCompositionEnd: return useFallbackCompositionData ? null : nativeEvent.data; default: return null; } } /** * Extract a SyntheticInputEvent for `beforeInput`, based on either native * `textInput` or fallback behavior. * * @return {?object} A SyntheticInputEvent. */ function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { var chars; if (canUseTextInputEvent) { chars = getNativeBeforeInputChars(topLevelType, nativeEvent); } else { chars = getFallbackBeforeInputChars(topLevelType, nativeEvent); } // If no characters are being inserted, no BeforeInput event should // be fired. if (!chars) { return null; } var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget); event.data = chars; EventPropagators.accumulateTwoPhaseDispatches(event); return event; } /** * Create an `onBeforeInput` event to match * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents. * * This event plugin is based on the native `textInput` event * available in Chrome, Safari, Opera, and IE. This event fires after * `onKeyPress` and `onCompositionEnd`, but before `onInput`. * * `beforeInput` is spec'd but not implemented in any browsers, and * the `input` event does not provide any useful information about what has * actually been added, contrary to the spec. Thus, `textInput` is the best * available event to identify the characters that have actually been inserted * into the target node. * * This plugin is also responsible for emitting `composition` events, thus * allowing us to share composition fallback code for both `beforeInput` and * `composition` event types. */ var BeforeInputEventPlugin = { eventTypes: eventTypes, extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { return [extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget), extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget)]; } }; module.exports = BeforeInputEventPlugin; /***/ }, /* 40 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventConstants */ 'use strict'; var keyMirror = __webpack_require__(24); var PropagationPhases = keyMirror({ bubbled: null, captured: null }); /** * Types of raw signals from the browser caught at the top level. */ var topLevelTypes = keyMirror({ topAbort: null, topAnimationEnd: null, topAnimationIteration: null, topAnimationStart: null, topBlur: null, topCanPlay: null, topCanPlayThrough: null, topChange: null, topClick: null, topCompositionEnd: null, topCompositionStart: null, topCompositionUpdate: null, topContextMenu: null, topCopy: null, topCut: null, topDoubleClick: null, topDrag: null, topDragEnd: null, topDragEnter: null, topDragExit: null, topDragLeave: null, topDragOver: null, topDragStart: null, topDrop: null, topDurationChange: null, topEmptied: null, topEncrypted: null, topEnded: null, topError: null, topFocus: null, topInput: null, topInvalid: null, topKeyDown: null, topKeyPress: null, topKeyUp: null, topLoad: null, topLoadedData: null, topLoadedMetadata: null, topLoadStart: null, topMouseDown: null, topMouseMove: null, topMouseOut: null, topMouseOver: null, topMouseUp: null, topPaste: null, topPause: null, topPlay: null, topPlaying: null, topProgress: null, topRateChange: null, topReset: null, topScroll: null, topSeeked: null, topSeeking: null, topSelectionChange: null, topStalled: null, topSubmit: null, topSuspend: null, topTextInput: null, topTimeUpdate: null, topTouchCancel: null, topTouchEnd: null, topTouchMove: null, topTouchStart: null, topTransitionEnd: null, topVolumeChange: null, topWaiting: null, topWheel: null }); var EventConstants = { topLevelTypes: topLevelTypes, PropagationPhases: PropagationPhases }; module.exports = EventConstants; /***/ }, /* 41 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPropagators */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPluginHub = __webpack_require__(42); var EventPluginUtils = __webpack_require__(44); var accumulateInto = __webpack_require__(46); var forEachAccumulated = __webpack_require__(47); var warning = __webpack_require__(10); var PropagationPhases = EventConstants.PropagationPhases; var getListener = EventPluginHub.getListener; /** * Some event types have a notion of different registration names for different * "phases" of propagation. This finds listeners by a given phase. */ function listenerAtPhase(inst, event, propagationPhase) { var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase]; return getListener(inst, registrationName); } /** * Tags a `SyntheticEvent` with dispatched listeners. Creating this function * here, allows us to not have to bind or create functions for each event. * Mutating the event's members allows us to not have to create a wrapping * "dispatch" object that pairs the event with the listener. */ function accumulateDirectionalDispatches(inst, upwards, event) { if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0; } var phase = upwards ? PropagationPhases.bubbled : PropagationPhases.captured; var listener = listenerAtPhase(inst, event, phase); if (listener) { event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); } } /** * Collect dispatches (must be entirely collected before dispatching - see unit * tests). Lazily allocate the array to conserve memory. We must loop through * each event and perform the traversal for each one. We cannot perform a * single traversal for the entire collection of events because each event may * have a different target. */ function accumulateTwoPhaseDispatchesSingle(event) { if (event && event.dispatchConfig.phasedRegistrationNames) { EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event); } } /** * Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID. */ function accumulateTwoPhaseDispatchesSingleSkipTarget(event) { if (event && event.dispatchConfig.phasedRegistrationNames) { var targetInst = event._targetInst; var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null; EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event); } } /** * Accumulates without regard to direction, does not look for phased * registration names. Same as `accumulateDirectDispatchesSingle` but without * requiring that the `dispatchMarker` be the same as the dispatched ID. */ function accumulateDispatches(inst, ignoredDirection, event) { if (event && event.dispatchConfig.registrationName) { var registrationName = event.dispatchConfig.registrationName; var listener = getListener(inst, registrationName); if (listener) { event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); } } } /** * Accumulates dispatches on an `SyntheticEvent`, but only for the * `dispatchMarker`. * @param {SyntheticEvent} event */ function accumulateDirectDispatchesSingle(event) { if (event && event.dispatchConfig.registrationName) { accumulateDispatches(event._targetInst, null, event); } } function accumulateTwoPhaseDispatches(events) { forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle); } function accumulateTwoPhaseDispatchesSkipTarget(events) { forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget); } function accumulateEnterLeaveDispatches(leave, enter, from, to) { EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter); } function accumulateDirectDispatches(events) { forEachAccumulated(events, accumulateDirectDispatchesSingle); } /** * A small set of propagation patterns, each of which will accept a small amount * of information, and generate a set of "dispatch ready event objects" - which * are sets of events that have already been annotated with a set of dispatched * listener functions/ids. The API is designed this way to discourage these * propagation strategies from actually executing the dispatches, since we * always want to collect the entire set of dispatches before executing event a * single one. * * @constructor EventPropagators */ var EventPropagators = { accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches, accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget, accumulateDirectDispatches: accumulateDirectDispatches, accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatches }; module.exports = EventPropagators; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 42 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPluginHub */ 'use strict'; var EventPluginRegistry = __webpack_require__(43); var EventPluginUtils = __webpack_require__(44); var ReactErrorUtils = __webpack_require__(45); var accumulateInto = __webpack_require__(46); var forEachAccumulated = __webpack_require__(47); var invariant = __webpack_require__(7); /** * Internal store for event listeners */ var listenerBank = {}; /** * Internal queue of events that have accumulated their dispatches and are * waiting to have their dispatches executed. */ var eventQueue = null; /** * Dispatches an event and releases it back into the pool, unless persistent. * * @param {?object} event Synthetic event to be dispatched. * @param {boolean} simulated If the event is simulated (changes exn behavior) * @private */ var executeDispatchesAndRelease = function (event, simulated) { if (event) { EventPluginUtils.executeDispatchesInOrder(event, simulated); if (!event.isPersistent()) { event.constructor.release(event); } } }; var executeDispatchesAndReleaseSimulated = function (e) { return executeDispatchesAndRelease(e, true); }; var executeDispatchesAndReleaseTopLevel = function (e) { return executeDispatchesAndRelease(e, false); }; /** * This is a unified interface for event plugins to be installed and configured. * * Event plugins can implement the following properties: * * `extractEvents` {function(string, DOMEventTarget, string, object): *} * Required. When a top-level event is fired, this method is expected to * extract synthetic events that will in turn be queued and dispatched. * * `eventTypes` {object} * Optional, plugins that fire events must publish a mapping of registration * names that are used to register listeners. Values of this mapping must * be objects that contain `registrationName` or `phasedRegistrationNames`. * * `executeDispatch` {function(object, function, string)} * Optional, allows plugins to override how an event gets dispatched. By * default, the listener is simply invoked. * * Each plugin that is injected into `EventsPluginHub` is immediately operable. * * @public */ var EventPluginHub = { /** * Methods for injecting dependencies. */ injection: { /** * @param {array} InjectedEventPluginOrder * @public */ injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder, /** * @param {object} injectedNamesToPlugins Map from names to plugin modules. */ injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName }, /** * Stores `listener` at `listenerBank[registrationName][id]`. Is idempotent. * * @param {object} inst The instance, which is the source of events. * @param {string} registrationName Name of listener (e.g. `onClick`). * @param {function} listener The callback to store. */ putListener: function (inst, registrationName, listener) { !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : invariant(false) : void 0; var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {}); bankForRegistrationName[inst._rootNodeID] = listener; var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; if (PluginModule && PluginModule.didPutListener) { PluginModule.didPutListener(inst, registrationName, listener); } }, /** * @param {object} inst The instance, which is the source of events. * @param {string} registrationName Name of listener (e.g. `onClick`). * @return {?function} The stored callback. */ getListener: function (inst, registrationName) { var bankForRegistrationName = listenerBank[registrationName]; return bankForRegistrationName && bankForRegistrationName[inst._rootNodeID]; }, /** * Deletes a listener from the registration bank. * * @param {object} inst The instance, which is the source of events. * @param {string} registrationName Name of listener (e.g. `onClick`). */ deleteListener: function (inst, registrationName) { var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; if (PluginModule && PluginModule.willDeleteListener) { PluginModule.willDeleteListener(inst, registrationName); } var bankForRegistrationName = listenerBank[registrationName]; // TODO: This should never be null -- when is it? if (bankForRegistrationName) { delete bankForRegistrationName[inst._rootNodeID]; } }, /** * Deletes all listeners for the DOM element with the supplied ID. * * @param {object} inst The instance, which is the source of events. */ deleteAllListeners: function (inst) { for (var registrationName in listenerBank) { if (!listenerBank[registrationName][inst._rootNodeID]) { continue; } var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; if (PluginModule && PluginModule.willDeleteListener) { PluginModule.willDeleteListener(inst, registrationName); } delete listenerBank[registrationName][inst._rootNodeID]; } }, /** * Allows registered plugins an opportunity to extract events from top-level * native browser events. * * @return {*} An accumulation of synthetic events. * @internal */ extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { var events; var plugins = EventPluginRegistry.plugins; for (var i = 0; i < plugins.length; i++) { // Not every plugin in the ordering may be loaded at runtime. var possiblePlugin = plugins[i]; if (possiblePlugin) { var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget); if (extractedEvents) { events = accumulateInto(events, extractedEvents); } } } return events; }, /** * Enqueues a synthetic event that should be dispatched when * `processEventQueue` is invoked. * * @param {*} events An accumulation of synthetic events. * @internal */ enqueueEvents: function (events) { if (events) { eventQueue = accumulateInto(eventQueue, events); } }, /** * Dispatches all synthetic events on the event queue. * * @internal */ processEventQueue: function (simulated) { // Set `eventQueue` to null before processing it so that we can tell if more // events get enqueued while processing. var processingEventQueue = eventQueue; eventQueue = null; if (simulated) { forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated); } else { forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel); } !!eventQueue ? process.env.NODE_ENV !== 'production' ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing ' + 'an event queue. Support for this has not yet been implemented.') : invariant(false) : void 0; // This would be a good time to rethrow if any of the event handlers threw. ReactErrorUtils.rethrowCaughtError(); }, /** * These are needed for tests only. Do not use! */ __purge: function () { listenerBank = {}; }, __getListenerBank: function () { return listenerBank; } }; module.exports = EventPluginHub; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 43 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPluginRegistry */ 'use strict'; var invariant = __webpack_require__(7); /** * Injectable ordering of event plugins. */ var EventPluginOrder = null; /** * Injectable mapping from names to event plugin modules. */ var namesToPlugins = {}; /** * Recomputes the plugin list using the injected plugins and plugin ordering. * * @private */ function recomputePluginOrdering() { if (!EventPluginOrder) { // Wait until an `EventPluginOrder` is injected. return; } for (var pluginName in namesToPlugins) { var PluginModule = namesToPlugins[pluginName]; var pluginIndex = EventPluginOrder.indexOf(pluginName); !(pluginIndex > -1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in ' + 'the plugin ordering, `%s`.', pluginName) : invariant(false) : void 0; if (EventPluginRegistry.plugins[pluginIndex]) { continue; } !PluginModule.extractEvents ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` ' + 'method, but `%s` does not.', pluginName) : invariant(false) : void 0; EventPluginRegistry.plugins[pluginIndex] = PluginModule; var publishedEvents = PluginModule.eventTypes; for (var eventName in publishedEvents) { !publishEventForPlugin(publishedEvents[eventName], PluginModule, eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : invariant(false) : void 0; } } } /** * Publishes an event so that it can be dispatched by the supplied plugin. * * @param {object} dispatchConfig Dispatch configuration for the event. * @param {object} PluginModule Plugin publishing the event. * @return {boolean} True if the event was successfully published. * @private */ function publishEventForPlugin(dispatchConfig, PluginModule, eventName) { !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'event name, `%s`.', eventName) : invariant(false) : void 0; EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig; var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames; if (phasedRegistrationNames) { for (var phaseName in phasedRegistrationNames) { if (phasedRegistrationNames.hasOwnProperty(phaseName)) { var phasedRegistrationName = phasedRegistrationNames[phaseName]; publishRegistrationName(phasedRegistrationName, PluginModule, eventName); } } return true; } else if (dispatchConfig.registrationName) { publishRegistrationName(dispatchConfig.registrationName, PluginModule, eventName); return true; } return false; } /** * Publishes a registration name that is used to identify dispatched events and * can be used with `EventPluginHub.putListener` to register listeners. * * @param {string} registrationName Registration name to add. * @param {object} PluginModule Plugin publishing the event. * @private */ function publishRegistrationName(registrationName, PluginModule, eventName) { !!EventPluginRegistry.registrationNameModules[registrationName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName) : invariant(false) : void 0; EventPluginRegistry.registrationNameModules[registrationName] = PluginModule; EventPluginRegistry.registrationNameDependencies[registrationName] = PluginModule.eventTypes[eventName].dependencies; if (process.env.NODE_ENV !== 'production') { var lowerCasedName = registrationName.toLowerCase(); EventPluginRegistry.possibleRegistrationNames[lowerCasedName] = registrationName; } } /** * Registers plugins so that they can extract and dispatch events. * * @see {EventPluginHub} */ var EventPluginRegistry = { /** * Ordered list of injected plugins. */ plugins: [], /** * Mapping from event name to dispatch config */ eventNameDispatchConfigs: {}, /** * Mapping from registration name to plugin module */ registrationNameModules: {}, /** * Mapping from registration name to event name */ registrationNameDependencies: {}, /** * Mapping from lowercase registration names to the properly cased version, * used to warn in the case of missing event handlers. Available * only in __DEV__. * @type {Object} */ possibleRegistrationNames: process.env.NODE_ENV !== 'production' ? {} : null, /** * Injects an ordering of plugins (by plugin name). This allows the ordering * to be decoupled from injection of the actual plugins so that ordering is * always deterministic regardless of packaging, on-the-fly injection, etc. * * @param {array} InjectedEventPluginOrder * @internal * @see {EventPluginHub.injection.injectEventPluginOrder} */ injectEventPluginOrder: function (InjectedEventPluginOrder) { !!EventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than ' + 'once. You are likely trying to load more than one copy of React.') : invariant(false) : void 0; // Clone the ordering so it cannot be dynamically mutated. EventPluginOrder = Array.prototype.slice.call(InjectedEventPluginOrder); recomputePluginOrdering(); }, /** * Injects plugins to be used by `EventPluginHub`. The plugin names must be * in the ordering injected by `injectEventPluginOrder`. * * Plugins can be injected as part of page initialization or on-the-fly. * * @param {object} injectedNamesToPlugins Map from names to plugin modules. * @internal * @see {EventPluginHub.injection.injectEventPluginsByName} */ injectEventPluginsByName: function (injectedNamesToPlugins) { var isOrderingDirty = false; for (var pluginName in injectedNamesToPlugins) { if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) { continue; } var PluginModule = injectedNamesToPlugins[pluginName]; if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== PluginModule) { !!namesToPlugins[pluginName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins ' + 'using the same name, `%s`.', pluginName) : invariant(false) : void 0; namesToPlugins[pluginName] = PluginModule; isOrderingDirty = true; } } if (isOrderingDirty) { recomputePluginOrdering(); } }, /** * Looks up the plugin for the supplied event. * * @param {object} event A synthetic event. * @return {?object} The plugin that created the supplied event. * @internal */ getPluginModuleForEvent: function (event) { var dispatchConfig = event.dispatchConfig; if (dispatchConfig.registrationName) { return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null; } for (var phase in dispatchConfig.phasedRegistrationNames) { if (!dispatchConfig.phasedRegistrationNames.hasOwnProperty(phase)) { continue; } var PluginModule = EventPluginRegistry.registrationNameModules[dispatchConfig.phasedRegistrationNames[phase]]; if (PluginModule) { return PluginModule; } } return null; }, /** * Exposed for unit testing. * @private */ _resetEventPlugins: function () { EventPluginOrder = null; for (var pluginName in namesToPlugins) { if (namesToPlugins.hasOwnProperty(pluginName)) { delete namesToPlugins[pluginName]; } } EventPluginRegistry.plugins.length = 0; var eventNameDispatchConfigs = EventPluginRegistry.eventNameDispatchConfigs; for (var eventName in eventNameDispatchConfigs) { if (eventNameDispatchConfigs.hasOwnProperty(eventName)) { delete eventNameDispatchConfigs[eventName]; } } var registrationNameModules = EventPluginRegistry.registrationNameModules; for (var registrationName in registrationNameModules) { if (registrationNameModules.hasOwnProperty(registrationName)) { delete registrationNameModules[registrationName]; } } if (process.env.NODE_ENV !== 'production') { var possibleRegistrationNames = EventPluginRegistry.possibleRegistrationNames; for (var lowerCasedName in possibleRegistrationNames) { if (possibleRegistrationNames.hasOwnProperty(lowerCasedName)) { delete possibleRegistrationNames[lowerCasedName]; } } } } }; module.exports = EventPluginRegistry; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 44 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPluginUtils */ 'use strict'; var EventConstants = __webpack_require__(40); var ReactErrorUtils = __webpack_require__(45); var invariant = __webpack_require__(7); var warning = __webpack_require__(10); /** * Injected dependencies: */ /** * - `ComponentTree`: [required] Module that can convert between React instances * and actual node references. */ var ComponentTree; var TreeTraversal; var injection = { injectComponentTree: function (Injected) { ComponentTree = Injected; if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.getNodeFromInstance && Injected.getInstanceFromNode, 'EventPluginUtils.injection.injectComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.') : void 0; } }, injectTreeTraversal: function (Injected) { TreeTraversal = Injected; if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.isAncestor && Injected.getLowestCommonAncestor, 'EventPluginUtils.injection.injectTreeTraversal(...): Injected ' + 'module is missing isAncestor or getLowestCommonAncestor.') : void 0; } } }; var topLevelTypes = EventConstants.topLevelTypes; function isEndish(topLevelType) { return topLevelType === topLevelTypes.topMouseUp || topLevelType === topLevelTypes.topTouchEnd || topLevelType === topLevelTypes.topTouchCancel; } function isMoveish(topLevelType) { return topLevelType === topLevelTypes.topMouseMove || topLevelType === topLevelTypes.topTouchMove; } function isStartish(topLevelType) { return topLevelType === topLevelTypes.topMouseDown || topLevelType === topLevelTypes.topTouchStart; } var validateEventDispatches; if (process.env.NODE_ENV !== 'production') { validateEventDispatches = function (event) { var dispatchListeners = event._dispatchListeners; var dispatchInstances = event._dispatchInstances; var listenersIsArr = Array.isArray(dispatchListeners); var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0; var instancesIsArr = Array.isArray(dispatchInstances); var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0; process.env.NODE_ENV !== 'production' ? warning(instancesIsArr === listenersIsArr && instancesLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : void 0; }; } /** * Dispatch the event to the listener. * @param {SyntheticEvent} event SyntheticEvent to handle * @param {boolean} simulated If the event is simulated (changes exn behavior) * @param {function} listener Application-level callback * @param {*} inst Internal component instance */ function executeDispatch(event, simulated, listener, inst) { var type = event.type || 'unknown-event'; event.currentTarget = EventPluginUtils.getNodeFromInstance(inst); if (simulated) { ReactErrorUtils.invokeGuardedCallbackWithCatch(type, listener, event); } else { ReactErrorUtils.invokeGuardedCallback(type, listener, event); } event.currentTarget = null; } /** * Standard/simple iteration through an event's collected dispatches. */ function executeDispatchesInOrder(event, simulated) { var dispatchListeners = event._dispatchListeners; var dispatchInstances = event._dispatchInstances; if (process.env.NODE_ENV !== 'production') { validateEventDispatches(event); } if (Array.isArray(dispatchListeners)) { for (var i = 0; i < dispatchListeners.length; i++) { if (event.isPropagationStopped()) { break; } // Listeners and Instances are two parallel arrays that are always in sync. executeDispatch(event, simulated, dispatchListeners[i], dispatchInstances[i]); } } else if (dispatchListeners) { executeDispatch(event, simulated, dispatchListeners, dispatchInstances); } event._dispatchListeners = null; event._dispatchInstances = null; } /** * Standard/simple iteration through an event's collected dispatches, but stops * at the first dispatch execution returning true, and returns that id. * * @return {?string} id of the first dispatch execution who's listener returns * true, or null if no listener returned true. */ function executeDispatchesInOrderStopAtTrueImpl(event) { var dispatchListeners = event._dispatchListeners; var dispatchInstances = event._dispatchInstances; if (process.env.NODE_ENV !== 'production') { validateEventDispatches(event); } if (Array.isArray(dispatchListeners)) { for (var i = 0; i < dispatchListeners.length; i++) { if (event.isPropagationStopped()) { break; } // Listeners and Instances are two parallel arrays that are always in sync. if (dispatchListeners[i](event, dispatchInstances[i])) { return dispatchInstances[i]; } } } else if (dispatchListeners) { if (dispatchListeners(event, dispatchInstances)) { return dispatchInstances; } } return null; } /** * @see executeDispatchesInOrderStopAtTrueImpl */ function executeDispatchesInOrderStopAtTrue(event) { var ret = executeDispatchesInOrderStopAtTrueImpl(event); event._dispatchInstances = null; event._dispatchListeners = null; return ret; } /** * Execution of a "direct" dispatch - there must be at most one dispatch * accumulated on the event or it is considered an error. It doesn't really make * sense for an event with multiple dispatches (bubbled) to keep track of the * return values at each dispatch execution, but it does tend to make sense when * dealing with "direct" dispatches. * * @return {*} The return value of executing the single dispatch. */ function executeDirectDispatch(event) { if (process.env.NODE_ENV !== 'production') { validateEventDispatches(event); } var dispatchListener = event._dispatchListeners; var dispatchInstance = event._dispatchInstances; !!Array.isArray(dispatchListener) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : invariant(false) : void 0; event.currentTarget = dispatchListener ? EventPluginUtils.getNodeFromInstance(dispatchInstance) : null; var res = dispatchListener ? dispatchListener(event) : null; event.currentTarget = null; event._dispatchListeners = null; event._dispatchInstances = null; return res; } /** * @param {SyntheticEvent} event * @return {boolean} True iff number of dispatches accumulated is greater than 0. */ function hasDispatches(event) { return !!event._dispatchListeners; } /** * General utilities that are useful in creating custom Event Plugins. */ var EventPluginUtils = { isEndish: isEndish, isMoveish: isMoveish, isStartish: isStartish, executeDirectDispatch: executeDirectDispatch, executeDispatchesInOrder: executeDispatchesInOrder, executeDispatchesInOrderStopAtTrue: executeDispatchesInOrderStopAtTrue, hasDispatches: hasDispatches, getInstanceFromNode: function (node) { return ComponentTree.getInstanceFromNode(node); }, getNodeFromInstance: function (node) { return ComponentTree.getNodeFromInstance(node); }, isAncestor: function (a, b) { return TreeTraversal.isAncestor(a, b); }, getLowestCommonAncestor: function (a, b) { return TreeTraversal.getLowestCommonAncestor(a, b); }, getParentInstance: function (inst) { return TreeTraversal.getParentInstance(inst); }, traverseTwoPhase: function (target, fn, arg) { return TreeTraversal.traverseTwoPhase(target, fn, arg); }, traverseEnterLeave: function (from, to, fn, argFrom, argTo) { return TreeTraversal.traverseEnterLeave(from, to, fn, argFrom, argTo); }, injection: injection }; module.exports = EventPluginUtils; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 45 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactErrorUtils */ 'use strict'; var caughtError = null; /** * Call a function while guarding against errors that happens within it. * * @param {?String} name of the guard to use for logging or debugging * @param {Function} func The function to invoke * @param {*} a First argument * @param {*} b Second argument */ function invokeGuardedCallback(name, func, a, b) { try { return func(a, b); } catch (x) { if (caughtError === null) { caughtError = x; } return undefined; } } var ReactErrorUtils = { invokeGuardedCallback: invokeGuardedCallback, /** * Invoked by ReactTestUtils.Simulate so that any errors thrown by the event * handler are sure to be rethrown by rethrowCaughtError. */ invokeGuardedCallbackWithCatch: invokeGuardedCallback, /** * During execution of guarded functions we will capture the first error which * we will rethrow to be handled by the top level error handler. */ rethrowCaughtError: function () { if (caughtError) { var error = caughtError; caughtError = null; throw error; } } }; if (process.env.NODE_ENV !== 'production') { /** * To help development we can get better devtools integration by simulating a * real browser event. */ if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') { var fakeNode = document.createElement('react'); ReactErrorUtils.invokeGuardedCallback = function (name, func, a, b) { var boundFunc = func.bind(null, a, b); var evtType = 'react-' + name; fakeNode.addEventListener(evtType, boundFunc, false); var evt = document.createEvent('Event'); evt.initEvent(evtType, false, false); fakeNode.dispatchEvent(evt); fakeNode.removeEventListener(evtType, boundFunc, false); }; } } module.exports = ReactErrorUtils; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 46 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule accumulateInto */ 'use strict'; var invariant = __webpack_require__(7); /** * * Accumulates items that must not be null or undefined into the first one. This * is used to conserve memory by avoiding array allocations, and thus sacrifices * API cleanness. Since `current` can be null before being passed in and not * null after this function, make sure to assign it back to `current`: * * `a = accumulateInto(a, b);` * * This API should be sparingly used. Try `accumulate` for something cleaner. * * @return {*|array<*>} An accumulation of items. */ function accumulateInto(current, next) { !(next != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : invariant(false) : void 0; if (current == null) { return next; } // Both are not empty. Warning: Never call x.concat(y) when you are not // certain that x is an Array (x could be a string with concat method). var currentIsArray = Array.isArray(current); var nextIsArray = Array.isArray(next); if (currentIsArray && nextIsArray) { current.push.apply(current, next); return current; } if (currentIsArray) { current.push(next); return current; } if (nextIsArray) { // A bit too dangerous to mutate `next`. return [current].concat(next); } return [current, next]; } module.exports = accumulateInto; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 47 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule forEachAccumulated */ 'use strict'; /** * @param {array} arr an "accumulation" of items which is either an Array or * a single item. Useful when paired with the `accumulate` module. This is a * simple utility that allows us to reason about a collection of items, but * handling the case when there is exactly one item (and we do not need to * allocate an array). */ var forEachAccumulated = function (arr, cb, scope) { if (Array.isArray(arr)) { arr.forEach(cb, scope); } else if (arr) { cb.call(scope, arr); } }; module.exports = forEachAccumulated; /***/ }, /* 48 */ /***/ function(module, exports) { /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); /** * Simple, lightweight module assisting with the detection and context of * Worker. Helps avoid circular dependencies and allows code to reason about * whether or not they are in a Worker, even if they never include the main * `ReactWorker` dependency. */ var ExecutionEnvironment = { canUseDOM: canUseDOM, canUseWorkers: typeof Worker !== 'undefined', canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent), canUseViewport: canUseDOM && !!window.screen, isInWorker: !canUseDOM // For now, this is true - might change in the future. }; module.exports = ExecutionEnvironment; /***/ }, /* 49 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule FallbackCompositionState */ 'use strict'; var _assign = __webpack_require__(4); var PooledClass = __webpack_require__(6); var getTextContentAccessor = __webpack_require__(50); /** * This helper class stores information about text content of a target node, * allowing comparison of content before and after a given event. * * Identify the node where selection currently begins, then observe * both its text content and its current position in the DOM. Since the * browser may natively replace the target node during composition, we can * use its position to find its replacement. * * @param {DOMEventTarget} root */ function FallbackCompositionState(root) { this._root = root; this._startText = this.getText(); this._fallbackText = null; } _assign(FallbackCompositionState.prototype, { destructor: function () { this._root = null; this._startText = null; this._fallbackText = null; }, /** * Get current text of input. * * @return {string} */ getText: function () { if ('value' in this._root) { return this._root.value; } return this._root[getTextContentAccessor()]; }, /** * Determine the differing substring between the initially stored * text content and the current content. * * @return {string} */ getData: function () { if (this._fallbackText) { return this._fallbackText; } var start; var startValue = this._startText; var startLength = startValue.length; var end; var endValue = this.getText(); var endLength = endValue.length; for (start = 0; start < startLength; start++) { if (startValue[start] !== endValue[start]) { break; } } var minEnd = startLength - start; for (end = 1; end <= minEnd; end++) { if (startValue[startLength - end] !== endValue[endLength - end]) { break; } } var sliceTail = end > 1 ? 1 - end : undefined; this._fallbackText = endValue.slice(start, sliceTail); return this._fallbackText; } }); PooledClass.addPoolingTo(FallbackCompositionState); module.exports = FallbackCompositionState; /***/ }, /* 50 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getTextContentAccessor */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var contentKey = null; /** * Gets the key used to access text content on a DOM node. * * @return {?string} Key used to access text content. * @internal */ function getTextContentAccessor() { if (!contentKey && ExecutionEnvironment.canUseDOM) { // Prefer textContent to innerText because many browsers support both but // SVG elements don't support innerText even when
    does. contentKey = 'textContent' in document.documentElement ? 'textContent' : 'innerText'; } return contentKey; } module.exports = getTextContentAccessor; /***/ }, /* 51 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticCompositionEvent */ 'use strict'; var SyntheticEvent = __webpack_require__(52); /** * @interface Event * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents */ var CompositionEventInterface = { data: null }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticUIEvent} */ function SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface); module.exports = SyntheticCompositionEvent; /***/ }, /* 52 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticEvent */ 'use strict'; var _assign = __webpack_require__(4); var PooledClass = __webpack_require__(6); var emptyFunction = __webpack_require__(11); var warning = __webpack_require__(10); var didWarnForAddedNewProperty = false; var isProxySupported = typeof Proxy === 'function'; var shouldBeReleasedProperties = ['dispatchConfig', '_targetInst', 'nativeEvent', 'isDefaultPrevented', 'isPropagationStopped', '_dispatchListeners', '_dispatchInstances']; /** * @interface Event * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var EventInterface = { type: null, target: null, // currentTarget is set when dispatching; no use in copying it here currentTarget: emptyFunction.thatReturnsNull, eventPhase: null, bubbles: null, cancelable: null, timeStamp: function (event) { return event.timeStamp || Date.now(); }, defaultPrevented: null, isTrusted: null }; /** * Synthetic events are dispatched by event plugins, typically in response to a * top-level event delegation handler. * * These systems should generally use pooling to reduce the frequency of garbage * collection. The system should check `isPersistent` to determine whether the * event should be released into the pool after being dispatched. Users that * need a persisted event should invoke `persist`. * * Synthetic events (and subclasses) implement the DOM Level 3 Events API by * normalizing browser quirks. Subclasses do not necessarily have to implement a * DOM interface; custom application-specific events can also subclass this. * * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {*} targetInst Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @param {DOMEventTarget} nativeEventTarget Target node. */ function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) { if (process.env.NODE_ENV !== 'production') { // these have a getter/setter for warnings delete this.nativeEvent; delete this.preventDefault; delete this.stopPropagation; } this.dispatchConfig = dispatchConfig; this._targetInst = targetInst; this.nativeEvent = nativeEvent; var Interface = this.constructor.Interface; for (var propName in Interface) { if (!Interface.hasOwnProperty(propName)) { continue; } if (process.env.NODE_ENV !== 'production') { delete this[propName]; // this has a getter/setter for warnings } var normalize = Interface[propName]; if (normalize) { this[propName] = normalize(nativeEvent); } else { if (propName === 'target') { this.target = nativeEventTarget; } else { this[propName] = nativeEvent[propName]; } } } var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false; if (defaultPrevented) { this.isDefaultPrevented = emptyFunction.thatReturnsTrue; } else { this.isDefaultPrevented = emptyFunction.thatReturnsFalse; } this.isPropagationStopped = emptyFunction.thatReturnsFalse; return this; } _assign(SyntheticEvent.prototype, { preventDefault: function () { this.defaultPrevented = true; var event = this.nativeEvent; if (!event) { return; } if (event.preventDefault) { event.preventDefault(); } else { event.returnValue = false; } this.isDefaultPrevented = emptyFunction.thatReturnsTrue; }, stopPropagation: function () { var event = this.nativeEvent; if (!event) { return; } if (event.stopPropagation) { event.stopPropagation(); } else { event.cancelBubble = true; } this.isPropagationStopped = emptyFunction.thatReturnsTrue; }, /** * We release all dispatched `SyntheticEvent`s after each event loop, adding * them back into the pool. This allows a way to hold onto a reference that * won't be added back into the pool. */ persist: function () { this.isPersistent = emptyFunction.thatReturnsTrue; }, /** * Checks if this event should be released back into the pool. * * @return {boolean} True if this should not be released, false otherwise. */ isPersistent: emptyFunction.thatReturnsFalse, /** * `PooledClass` looks for `destructor` on each instance it releases. */ destructor: function () { var Interface = this.constructor.Interface; for (var propName in Interface) { if (process.env.NODE_ENV !== 'production') { Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName])); } else { this[propName] = null; } } for (var i = 0; i < shouldBeReleasedProperties.length; i++) { this[shouldBeReleasedProperties[i]] = null; } if (process.env.NODE_ENV !== 'production') { var noop = __webpack_require__(11); Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null)); Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', noop)); Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', noop)); } } }); SyntheticEvent.Interface = EventInterface; if (process.env.NODE_ENV !== 'production') { if (isProxySupported) { /*eslint-disable no-func-assign */ SyntheticEvent = new Proxy(SyntheticEvent, { construct: function (target, args) { return this.apply(target, Object.create(target.prototype), args); }, apply: function (constructor, that, args) { return new Proxy(constructor.apply(that, args), { set: function (target, prop, value) { if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) { process.env.NODE_ENV !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), 'This synthetic event is reused for performance reasons. If you\'re ' + 'seeing this, you\'re adding a new property in the synthetic event object. ' + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0; didWarnForAddedNewProperty = true; } target[prop] = value; return true; } }); } }); /*eslint-enable no-func-assign */ } } /** * Helper to reduce boilerplate when creating subclasses. * * @param {function} Class * @param {?object} Interface */ SyntheticEvent.augmentClass = function (Class, Interface) { var Super = this; var E = function () {}; E.prototype = Super.prototype; var prototype = new E(); _assign(prototype, Class.prototype); Class.prototype = prototype; Class.prototype.constructor = Class; Class.Interface = _assign({}, Super.Interface, Interface); Class.augmentClass = Super.augmentClass; PooledClass.addPoolingTo(Class, PooledClass.fourArgumentPooler); }; PooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler); module.exports = SyntheticEvent; /** * Helper to nullify syntheticEvent instance properties when destructing * * @param {object} SyntheticEvent * @param {String} propName * @return {object} defineProperty object */ function getPooledWarningPropertyDefinition(propName, getVal) { var isFunction = typeof getVal === 'function'; return { configurable: true, set: set, get: get }; function set(val) { var action = isFunction ? 'setting the method' : 'setting the property'; warn(action, 'This is effectively a no-op'); return val; } function get() { var action = isFunction ? 'accessing the method' : 'accessing the property'; var result = isFunction ? 'This is a no-op function' : 'This is set to null'; warn(action, result); return getVal; } function warn(action, result) { var warningCondition = false; process.env.NODE_ENV !== 'production' ? warning(warningCondition, 'This synthetic event is reused for performance reasons. If you\'re seeing this, ' + 'you\'re %s `%s` on a released/nullified synthetic event. %s. ' + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0; } } /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 53 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticInputEvent */ 'use strict'; var SyntheticEvent = __webpack_require__(52); /** * @interface Event * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105 * /#events-inputevents */ var InputEventInterface = { data: null }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticUIEvent} */ function SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface); module.exports = SyntheticInputEvent; /***/ }, /* 54 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ChangeEventPlugin */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPluginHub = __webpack_require__(42); var EventPropagators = __webpack_require__(41); var ExecutionEnvironment = __webpack_require__(48); var ReactDOMComponentTree = __webpack_require__(35); var ReactUpdates = __webpack_require__(55); var SyntheticEvent = __webpack_require__(52); var getEventTarget = __webpack_require__(63); var isEventSupported = __webpack_require__(64); var isTextInputElement = __webpack_require__(65); var keyOf = __webpack_require__(26); var topLevelTypes = EventConstants.topLevelTypes; var eventTypes = { change: { phasedRegistrationNames: { bubbled: keyOf({ onChange: null }), captured: keyOf({ onChangeCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topChange, topLevelTypes.topClick, topLevelTypes.topFocus, topLevelTypes.topInput, topLevelTypes.topKeyDown, topLevelTypes.topKeyUp, topLevelTypes.topSelectionChange] } }; /** * For IE shims */ var activeElement = null; var activeElementInst = null; var activeElementValue = null; var activeElementValueProp = null; /** * SECTION: handle `change` event */ function shouldUseChangeEvent(elem) { var nodeName = elem.nodeName && elem.nodeName.toLowerCase(); return nodeName === 'select' || nodeName === 'input' && elem.type === 'file'; } var doesChangeEventBubble = false; if (ExecutionEnvironment.canUseDOM) { // See `handleChange` comment below doesChangeEventBubble = isEventSupported('change') && (!('documentMode' in document) || document.documentMode > 8); } function manualDispatchChangeEvent(nativeEvent) { var event = SyntheticEvent.getPooled(eventTypes.change, activeElementInst, nativeEvent, getEventTarget(nativeEvent)); EventPropagators.accumulateTwoPhaseDispatches(event); // If change and propertychange bubbled, we'd just bind to it like all the // other events and have it go through ReactBrowserEventEmitter. Since it // doesn't, we manually listen for the events and so we have to enqueue and // process the abstract event manually. // // Batching is necessary here in order to ensure that all event handlers run // before the next rerender (including event handlers attached to ancestor // elements instead of directly on the input). Without this, controlled // components don't work properly in conjunction with event bubbling because // the component is rerendered and the value reverted before all the event // handlers can run. See https://github.com/facebook/react/issues/708. ReactUpdates.batchedUpdates(runEventInBatch, event); } function runEventInBatch(event) { EventPluginHub.enqueueEvents(event); EventPluginHub.processEventQueue(false); } function startWatchingForChangeEventIE8(target, targetInst) { activeElement = target; activeElementInst = targetInst; activeElement.attachEvent('onchange', manualDispatchChangeEvent); } function stopWatchingForChangeEventIE8() { if (!activeElement) { return; } activeElement.detachEvent('onchange', manualDispatchChangeEvent); activeElement = null; activeElementInst = null; } function getTargetInstForChangeEvent(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topChange) { return targetInst; } } function handleEventsForChangeEventIE8(topLevelType, target, targetInst) { if (topLevelType === topLevelTypes.topFocus) { // stopWatching() should be a noop here but we call it just in case we // missed a blur event somehow. stopWatchingForChangeEventIE8(); startWatchingForChangeEventIE8(target, targetInst); } else if (topLevelType === topLevelTypes.topBlur) { stopWatchingForChangeEventIE8(); } } /** * SECTION: handle `input` event */ var isInputEventSupported = false; if (ExecutionEnvironment.canUseDOM) { // IE9 claims to support the input event but fails to trigger it when // deleting text, so we ignore its input events. // IE10+ fire input events to often, such when a placeholder // changes or when an input with a placeholder is focused. isInputEventSupported = isEventSupported('input') && (!('documentMode' in document) || document.documentMode > 11); } /** * (For IE <=11) Replacement getter/setter for the `value` property that gets * set on the active element. */ var newValueProp = { get: function () { return activeElementValueProp.get.call(this); }, set: function (val) { // Cast to a string so we can do equality checks. activeElementValue = '' + val; activeElementValueProp.set.call(this, val); } }; /** * (For IE <=11) Starts tracking propertychange events on the passed-in element * and override the value property so that we can distinguish user events from * value changes in JS. */ function startWatchingForValueChange(target, targetInst) { activeElement = target; activeElementInst = targetInst; activeElementValue = target.value; activeElementValueProp = Object.getOwnPropertyDescriptor(target.constructor.prototype, 'value'); // Not guarded in a canDefineProperty check: IE8 supports defineProperty only // on DOM elements Object.defineProperty(activeElement, 'value', newValueProp); if (activeElement.attachEvent) { activeElement.attachEvent('onpropertychange', handlePropertyChange); } else { activeElement.addEventListener('propertychange', handlePropertyChange, false); } } /** * (For IE <=11) Removes the event listeners from the currently-tracked element, * if any exists. */ function stopWatchingForValueChange() { if (!activeElement) { return; } // delete restores the original property definition delete activeElement.value; if (activeElement.detachEvent) { activeElement.detachEvent('onpropertychange', handlePropertyChange); } else { activeElement.removeEventListener('propertychange', handlePropertyChange, false); } activeElement = null; activeElementInst = null; activeElementValue = null; activeElementValueProp = null; } /** * (For IE <=11) Handles a propertychange event, sending a `change` event if * the value of the active element has changed. */ function handlePropertyChange(nativeEvent) { if (nativeEvent.propertyName !== 'value') { return; } var value = nativeEvent.srcElement.value; if (value === activeElementValue) { return; } activeElementValue = value; manualDispatchChangeEvent(nativeEvent); } /** * If a `change` event should be fired, returns the target's ID. */ function getTargetInstForInputEvent(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topInput) { // In modern browsers (i.e., not IE8 or IE9), the input event is exactly // what we want so fall through here and trigger an abstract event return targetInst; } } function handleEventsForInputEventIE(topLevelType, target, targetInst) { if (topLevelType === topLevelTypes.topFocus) { // In IE8, we can capture almost all .value changes by adding a // propertychange handler and looking for events with propertyName // equal to 'value' // In IE9-11, propertychange fires for most input events but is buggy and // doesn't fire when text is deleted, but conveniently, selectionchange // appears to fire in all of the remaining cases so we catch those and // forward the event if the value has changed // In either case, we don't want to call the event handler if the value // is changed from JS so we redefine a setter for `.value` that updates // our activeElementValue variable, allowing us to ignore those changes // // stopWatching() should be a noop here but we call it just in case we // missed a blur event somehow. stopWatchingForValueChange(); startWatchingForValueChange(target, targetInst); } else if (topLevelType === topLevelTypes.topBlur) { stopWatchingForValueChange(); } } // For IE8 and IE9. function getTargetInstForInputEventIE(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topSelectionChange || topLevelType === topLevelTypes.topKeyUp || topLevelType === topLevelTypes.topKeyDown) { // On the selectionchange event, the target is just document which isn't // helpful for us so just check activeElement instead. // // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire // propertychange on the first input event after setting `value` from a // script and fires only keydown, keypress, keyup. Catching keyup usually // gets it and catching keydown lets us fire an event for the first // keystroke if user does a key repeat (it'll be a little delayed: right // before the second keystroke). Other input methods (e.g., paste) seem to // fire selectionchange normally. if (activeElement && activeElement.value !== activeElementValue) { activeElementValue = activeElement.value; return activeElementInst; } } } /** * SECTION: handle `click` event */ function shouldUseClickEvent(elem) { // Use the `click` event to detect changes to checkbox and radio inputs. // This approach works across all browsers, whereas `change` does not fire // until `blur` in IE8. return elem.nodeName && elem.nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio'); } function getTargetInstForClickEvent(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topClick) { return targetInst; } } /** * This plugin creates an `onChange` event that normalizes change events * across form elements. This event fires at a time when it's possible to * change the element's value without seeing a flicker. * * Supported elements are: * - input (see `isTextInputElement`) * - textarea * - select */ var ChangeEventPlugin = { eventTypes: eventTypes, extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window; var getTargetInstFunc, handleEventFunc; if (shouldUseChangeEvent(targetNode)) { if (doesChangeEventBubble) { getTargetInstFunc = getTargetInstForChangeEvent; } else { handleEventFunc = handleEventsForChangeEventIE8; } } else if (isTextInputElement(targetNode)) { if (isInputEventSupported) { getTargetInstFunc = getTargetInstForInputEvent; } else { getTargetInstFunc = getTargetInstForInputEventIE; handleEventFunc = handleEventsForInputEventIE; } } else if (shouldUseClickEvent(targetNode)) { getTargetInstFunc = getTargetInstForClickEvent; } if (getTargetInstFunc) { var inst = getTargetInstFunc(topLevelType, targetInst); if (inst) { var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, nativeEventTarget); event.type = 'change'; EventPropagators.accumulateTwoPhaseDispatches(event); return event; } } if (handleEventFunc) { handleEventFunc(topLevelType, targetNode, targetInst); } } }; module.exports = ChangeEventPlugin; /***/ }, /* 55 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactUpdates */ 'use strict'; var _assign = __webpack_require__(4); var CallbackQueue = __webpack_require__(56); var PooledClass = __webpack_require__(6); var ReactFeatureFlags = __webpack_require__(57); var ReactPerf = __webpack_require__(58); var ReactReconciler = __webpack_require__(59); var Transaction = __webpack_require__(62); var invariant = __webpack_require__(7); var dirtyComponents = []; var asapCallbackQueue = CallbackQueue.getPooled(); var asapEnqueued = false; var batchingStrategy = null; function ensureInjected() { !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching ' + 'strategy') : invariant(false) : void 0; } var NESTED_UPDATES = { initialize: function () { this.dirtyComponentsLength = dirtyComponents.length; }, close: function () { if (this.dirtyComponentsLength !== dirtyComponents.length) { // Additional updates were enqueued by componentDidUpdate handlers or // similar; before our own UPDATE_QUEUEING wrapper closes, we want to run // these new updates so that if A's componentDidUpdate calls setState on // B, B will update before the callback A's updater provided when calling // setState. 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( /* useCreateElement */true); } _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) { // Essentially calls `this.reconcileTransaction.perform(method, scope, a)` // with this transaction's wrappers around it. 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); } /** * Array comparator for ReactComponents by mount ordering. * * @param {ReactComponent} c1 first component you're comparing * @param {ReactComponent} c2 second component you're comparing * @return {number} Return value usable by Array.prototype.sort(). */ function mountOrderComparator(c1, c2) { return c1._mountOrder - c2._mountOrder; } function runBatchedUpdates(transaction) { var len = transaction.dirtyComponentsLength; !(len === dirtyComponents.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected flush transaction\'s stored dirty-components length (%s) to ' + 'match dirty-components array length (%s).', len, dirtyComponents.length) : invariant(false) : void 0; // Since reconciling a component higher in the owner hierarchy usually (not // always -- see shouldComponentUpdate()) will reconcile children, reconcile // them before their children by sorting the array. dirtyComponents.sort(mountOrderComparator); for (var i = 0; i < len; i++) { // If a component is unmounted before pending changes apply, it will still // be here, but we assume that it has cleared its _pendingCallbacks and // that performUpdateIfNecessary is a noop. var component = dirtyComponents[i]; // If performUpdateIfNecessary happens to enqueue any new updates, we // shouldn't execute the callbacks until the next render happens, so // stash the callbacks first var callbacks = component._pendingCallbacks; component._pendingCallbacks = null; var markerName; if (ReactFeatureFlags.logTopLevelRenders) { var namedComponent = component; // Duck type TopLevelWrapper. This is probably always true. if (component._currentElement.props === component._renderedComponent._currentElement) { namedComponent = component._renderedComponent; } markerName = 'React update: ' + namedComponent.getName(); console.time(markerName); } ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction); if (markerName) { console.timeEnd(markerName); } if (callbacks) { for (var j = 0; j < callbacks.length; j++) { transaction.callbackQueue.enqueue(callbacks[j], component.getPublicInstance()); } } } } var flushBatchedUpdates = function () { // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents // array and perform any updates enqueued by mount-ready handlers (i.e., // componentDidUpdate) but we need to check here too in order to catch // updates enqueued by setState callbacks and asap calls. 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); /** * Mark a component as needing a rerender, adding an optional callback to a * list of functions which will be executed once the rerender occurs. */ function enqueueUpdate(component) { ensureInjected(); // Various parts of our code (such as ReactCompositeComponent's // _renderValidatedComponent) assume that calls to render aren't nested; // verify that that's the case. (This is called by each top-level update // function, like setProps, setState, forceUpdate, etc.; creation and // destruction of top-level components is guarded in ReactMount.) if (!batchingStrategy.isBatchingUpdates) { batchingStrategy.batchedUpdates(enqueueUpdate, component); return; } dirtyComponents.push(component); } /** * Enqueue a callback to be run at the end of the current batching cycle. Throws * if no updates are currently being performed. */ function asap(callback, context) { !batchingStrategy.isBatchingUpdates ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context where' + 'updates are not being batched.') : invariant(false) : void 0; asapCallbackQueue.enqueue(callback, context); asapEnqueued = true; } var ReactUpdatesInjection = { injectReconcileTransaction: function (ReconcileTransaction) { !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : invariant(false) : void 0; ReactUpdates.ReactReconcileTransaction = ReconcileTransaction; }, injectBatchingStrategy: function (_batchingStrategy) { !_batchingStrategy ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batching strategy') : invariant(false) : void 0; !(typeof _batchingStrategy.batchedUpdates === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : invariant(false) : void 0; !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : invariant(false) : void 0; batchingStrategy = _batchingStrategy; } }; var ReactUpdates = { /** * React references `ReactReconcileTransaction` using this property in order * to allow dependency injection. * * @internal */ ReactReconcileTransaction: null, batchedUpdates: batchedUpdates, enqueueUpdate: enqueueUpdate, flushBatchedUpdates: flushBatchedUpdates, injection: ReactUpdatesInjection, asap: asap }; module.exports = ReactUpdates; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 56 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule CallbackQueue */ 'use strict'; var _assign = __webpack_require__(4); var PooledClass = __webpack_require__(6); var invariant = __webpack_require__(7); /** * A specialized pseudo-event module to help keep track of components waiting to * be notified when their DOM representations are available for use. * * This implements `PooledClass`, so you should never need to instantiate this. * Instead, use `CallbackQueue.getPooled()`. * * @class ReactMountReady * @implements PooledClass * @internal */ function CallbackQueue() { this._callbacks = null; this._contexts = null; } _assign(CallbackQueue.prototype, { /** * Enqueues a callback to be invoked when `notifyAll` is invoked. * * @param {function} callback Invoked when `notifyAll` is invoked. * @param {?object} context Context to call `callback` with. * @internal */ enqueue: function (callback, context) { this._callbacks = this._callbacks || []; this._contexts = this._contexts || []; this._callbacks.push(callback); this._contexts.push(context); }, /** * Invokes all enqueued callbacks and clears the queue. This is invoked after * the DOM representation of a component has been created or updated. * * @internal */ notifyAll: function () { var callbacks = this._callbacks; var contexts = this._contexts; if (callbacks) { !(callbacks.length === contexts.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Mismatched list of contexts in callback queue') : invariant(false) : void 0; 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; } }, checkpoint: function () { return this._callbacks ? this._callbacks.length : 0; }, rollback: function (len) { if (this._callbacks) { this._callbacks.length = len; this._contexts.length = len; } }, /** * Resets the internal queue. * * @internal */ reset: function () { this._callbacks = null; this._contexts = null; }, /** * `PooledClass` looks for this. */ destructor: function () { this.reset(); } }); PooledClass.addPoolingTo(CallbackQueue); module.exports = CallbackQueue; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 57 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactFeatureFlags */ 'use strict'; var ReactFeatureFlags = { // When true, call console.time() before and .timeEnd() after each top-level // render (both initial renders and updates). Useful when looking at prod-mode // timeline profiles in Chrome, for example. logTopLevelRenders: false }; module.exports = ReactFeatureFlags; /***/ }, /* 58 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPerf */ 'use strict'; /** * ReactPerf is a general AOP system designed to measure performance. This * module only has the hooks: see ReactDefaultPerf for the analysis tool. */ var ReactPerf = { /** * Boolean to enable/disable measurement. Set to false by default to prevent * accidental logging and perf loss. */ enableMeasure: false, /** * Holds onto the measure function in use. By default, don't measure * anything, but we'll override this if we inject a measure function. */ storedMeasure: _noMeasure, /** * @param {object} object * @param {string} objectName * @param {object} methodNames */ measureMethods: function (object, objectName, methodNames) { if (process.env.NODE_ENV !== 'production') { for (var key in methodNames) { if (!methodNames.hasOwnProperty(key)) { continue; } object[key] = ReactPerf.measure(objectName, methodNames[key], object[key]); } } }, /** * Use this to wrap methods you want to measure. Zero overhead in production. * * @param {string} objName * @param {string} fnName * @param {function} func * @return {function} */ measure: function (objName, fnName, func) { if (process.env.NODE_ENV !== 'production') { 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: { /** * @param {function} measure */ injectMeasure: function (measure) { ReactPerf.storedMeasure = measure; } } }; /** * Simply passes through the measured function, without measuring it. * * @param {string} objName * @param {string} fnName * @param {function} func * @return {function} */ function _noMeasure(objName, fnName, func) { return func; } module.exports = ReactPerf; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 59 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactReconciler */ 'use strict'; var ReactRef = __webpack_require__(60); var ReactInstrumentation = __webpack_require__(18); /** * Helper to call ReactRef.attachRefs with this composite component, split out * to avoid allocations in the transaction mount-ready queue. */ function attachRefs() { ReactRef.attachRefs(this, this._currentElement); } var ReactReconciler = { /** * Initializes the component, renders markup, and registers event listeners. * * @param {ReactComponent} internalInstance * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction * @param {?object} the containing native component instance * @param {?object} info about the native container * @return {?string} Rendered markup to be inserted into the DOM. * @final * @internal */ mountComponent: function (internalInstance, transaction, nativeParent, nativeContainerInfo, context) { var markup = internalInstance.mountComponent(transaction, nativeParent, nativeContainerInfo, context); if (internalInstance._currentElement && internalInstance._currentElement.ref != null) { transaction.getReactMountReady().enqueue(attachRefs, internalInstance); } if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onMountComponent(internalInstance); } return markup; }, /** * Returns a value that can be passed to * ReactComponentEnvironment.replaceNodeWithMarkup. */ getNativeNode: function (internalInstance) { return internalInstance.getNativeNode(); }, /** * Releases any resources allocated by `mountComponent`. * * @final * @internal */ unmountComponent: function (internalInstance, safely) { ReactRef.detachRefs(internalInstance, internalInstance._currentElement); internalInstance.unmountComponent(safely); if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onUnmountComponent(internalInstance); } }, /** * Update a component using a new element. * * @param {ReactComponent} internalInstance * @param {ReactElement} nextElement * @param {ReactReconcileTransaction} transaction * @param {object} context * @internal */ receiveComponent: function (internalInstance, nextElement, transaction, context) { var prevElement = internalInstance._currentElement; if (nextElement === prevElement && context === internalInstance._context) { // Since elements are immutable after the owner is rendered, // we can do a cheap identity compare here to determine if this is a // superfluous reconcile. It's possible for state to be mutable but such // change should trigger an update of the owner which would recreate // the element. We explicitly check for the existence of an owner since // it's possible for an element created outside a composite to be // deeply mutated and reused. // TODO: Bailing out early is just a perf optimization right? // TODO: Removing the return statement should affect correctness? 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); } if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onUpdateComponent(internalInstance); } }, /** * Flush any dirty changes in a component. * * @param {ReactComponent} internalInstance * @param {ReactReconcileTransaction} transaction * @internal */ performUpdateIfNecessary: function (internalInstance, transaction) { internalInstance.performUpdateIfNecessary(transaction); if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onUpdateComponent(internalInstance); } } }; module.exports = ReactReconciler; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 60 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactRef */ 'use strict'; var ReactOwner = __webpack_require__(61); var ReactRef = {}; function attachRef(ref, component, owner) { if (typeof ref === 'function') { ref(component.getPublicInstance()); } else { // Legacy ref ReactOwner.addComponentAsRefTo(component, ref, owner); } } function detachRef(ref, component, owner) { if (typeof ref === 'function') { ref(null); } else { // Legacy ref 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) { // If either the owner or a `ref` has changed, make sure the newest owner // has stored a reference to `this`, and the previous owner (if different) // has forgotten the reference to `this`. We use the element instead // of the public this.props because the post processing cannot determine // a ref. The ref conceptually lives on the element. // TODO: Should this even be possible? The owner cannot change because // it's forbidden by shouldUpdateReactComponent. The ref can change // if you swap the keys of but not the refs. Reconsider where this check // is made. It probably belongs where the key checking and // instantiateReactComponent is done. var prevEmpty = prevElement === null || prevElement === false; var nextEmpty = nextElement === null || nextElement === false; return( // This has a few false positives w/r/t empty components. 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; /***/ }, /* 61 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactOwner */ 'use strict'; var invariant = __webpack_require__(7); /** * ReactOwners are capable of storing references to owned components. * * All components are capable of //being// referenced by owner components, but * only ReactOwner components are capable of //referencing// owned components. * The named reference is known as a "ref". * * Refs are available when mounted and updated during reconciliation. * * var MyComponent = React.createClass({ * render: function() { * return ( *
    * *
    * ); * }, * handleClick: function() { * this.refs.custom.handleClick(); * }, * componentDidMount: function() { * this.refs.custom.initialize(); * } * }); * * Refs should rarely be used. When refs are used, they should only be done to * control data that is not handled by React's data flow. * * @class ReactOwner */ var ReactOwner = { /** * @param {?object} object * @return {boolean} True if `object` is a valid owner. * @final */ isValidOwner: function (object) { return !!(object && typeof object.attachRef === 'function' && typeof object.detachRef === 'function'); }, /** * Adds a component by ref to an owner component. * * @param {ReactComponent} component Component to reference. * @param {string} ref Name by which to refer to the component. * @param {ReactOwner} owner Component on which to record the ref. * @final * @internal */ addComponentAsRefTo: function (component, ref, owner) { !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, '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).') : invariant(false) : void 0; owner.attachRef(ref, component); }, /** * Removes a component by ref from an owner component. * * @param {ReactComponent} component Component to dereference. * @param {string} ref Name of the ref to remove. * @param {ReactOwner} owner Component on which the ref is recorded. * @final * @internal */ removeComponentAsRefFrom: function (component, ref, owner) { !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, '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).') : invariant(false) : void 0; var ownerPublicInstance = owner.getPublicInstance(); // Check that `component`'s owner is still alive and that `component` is still the current ref // because we do not want to detach the ref if another component stole it. if (ownerPublicInstance && ownerPublicInstance.refs[ref] === component.getPublicInstance()) { owner.detachRef(ref); } } }; module.exports = ReactOwner; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 62 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule Transaction */ 'use strict'; var invariant = __webpack_require__(7); /** * `Transaction` creates a black box that is able to wrap any method such that * certain invariants are maintained before and after the method is invoked * (Even if an exception is thrown while invoking the wrapped method). Whoever * instantiates a transaction can provide enforcers of the invariants at * creation time. The `Transaction` class itself will supply one additional * automatic invariant for you - the invariant that any transaction instance * should not be run while it is already being run. You would typically create a * single instance of a `Transaction` for reuse multiple times, that potentially * is used to wrap several different methods. Wrappers are extremely simple - * they only require implementing two methods. * *
    	 *                       wrappers (injected at creation time)
    	 *                                      +        +
    	 *                                      |        |
    	 *                    +-----------------|--------|--------------+
    	 *                    |                 v        |              |
    	 *                    |      +---------------+   |              |
    	 *                    |   +--|    wrapper1   |---|----+         |
    	 *                    |   |  +---------------+   v    |         |
    	 *                    |   |          +-------------+  |         |
    	 *                    |   |     +----|   wrapper2  |--------+   |
    	 *                    |   |     |    +-------------+  |     |   |
    	 *                    |   |     |                     |     |   |
    	 *                    |   v     v                     v     v   | wrapper
    	 *                    | +---+ +---+   +---------+   +---+ +---+ | invariants
    	 * perform(anyMethod) | |   | |   |   |         |   |   | |   | | maintained
    	 * +----------------->|-|---|-|---|-->|anyMethod|---|---|-|---|-|-------->
    	 *                    | |   | |   |   |         |   |   | |   | |
    	 *                    | |   | |   |   |         |   |   | |   | |
    	 *                    | |   | |   |   |         |   |   | |   | |
    	 *                    | +---+ +---+   +---------+   +---+ +---+ |
    	 *                    |  initialize                    close    |
    	 *                    +-----------------------------------------+
    	 * 
    * * Use cases: * - Preserving the input selection ranges before/after reconciliation. * Restoring selection even in the event of an unexpected error. * - Deactivating events while rearranging the DOM, preventing blurs/focuses, * while guaranteeing that afterwards, the event system is reactivated. * - Flushing a queue of collected DOM mutations to the main UI thread after a * reconciliation takes place in a worker thread. * - Invoking any collected `componentDidUpdate` callbacks after rendering new * content. * - (Future use case): Wrapping particular flushes of the `ReactWorker` queue * to preserve the `scrollTop` (an automatic scroll aware DOM). * - (Future use case): Layout calculations before and after DOM updates. * * Transactional plugin API: * - A module that has an `initialize` method that returns any precomputation. * - and a `close` method that accepts the precomputation. `close` is invoked * when the wrapped process is completed, or has failed. * * @param {Array} transactionWrapper Wrapper modules * that implement `initialize` and `close`. * @return {Transaction} Single transaction for reuse in thread. * * @class Transaction */ var Mixin = { /** * Sets up this instance so that it is prepared for collecting metrics. Does * so such that this setup method may be used on an instance that is already * initialized, in a way that does not consume additional memory upon reuse. * That can be useful if you decide to make your subclass of this mixin a * "PooledClass". */ reinitializeTransaction: function () { this.transactionWrappers = this.getTransactionWrappers(); if (this.wrapperInitData) { this.wrapperInitData.length = 0; } else { this.wrapperInitData = []; } this._isInTransaction = false; }, _isInTransaction: false, /** * @abstract * @return {Array} Array of transaction wrappers. */ getTransactionWrappers: null, isInTransaction: function () { return !!this._isInTransaction; }, /** * Executes the function within a safety window. Use this for the top level * methods that result in large amounts of computation/mutations that would * need to be safety checked. The optional arguments helps prevent the need * to bind in many cases. * * @param {function} method Member of scope to call. * @param {Object} scope Scope to invoke from. * @param {Object?=} a Argument to pass to the method. * @param {Object?=} b Argument to pass to the method. * @param {Object?=} c Argument to pass to the method. * @param {Object?=} d Argument to pass to the method. * @param {Object?=} e Argument to pass to the method. * @param {Object?=} f Argument to pass to the method. * * @return {*} Return value from `method`. */ perform: function (method, scope, a, b, c, d, e, f) { !!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there ' + 'is already an outstanding transaction.') : invariant(false) : void 0; var errorThrown; var ret; try { this._isInTransaction = true; // Catching errors makes debugging more difficult, so we start with // errorThrown set to true before setting it to false after calling // close -- if it's still set to true in the finally block, it means // one of these calls threw. errorThrown = true; this.initializeAll(0); ret = method.call(scope, a, b, c, d, e, f); errorThrown = false; } finally { try { if (errorThrown) { // If `method` throws, prefer to show that stack trace over any thrown // by invoking `closeAll`. try { this.closeAll(0); } catch (err) {} } else { // Since `method` didn't throw, we don't want to silence the exception // here. 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 { // Catching errors makes debugging more difficult, so we start with the // OBSERVED_ERROR state before overwriting it with the real return value // of initialize -- if it's still set to OBSERVED_ERROR in the finally // block, it means wrapper.initialize threw. this.wrapperInitData[i] = Transaction.OBSERVED_ERROR; this.wrapperInitData[i] = wrapper.initialize ? wrapper.initialize.call(this) : null; } finally { if (this.wrapperInitData[i] === Transaction.OBSERVED_ERROR) { // The initializer for wrapper i threw an error; initialize the // remaining wrappers but silence any exceptions from them to ensure // that the first error is the one to bubble up. try { this.initializeAll(i + 1); } catch (err) {} } } } }, /** * Invokes each of `this.transactionWrappers.close[i]` functions, passing into * them the respective return values of `this.transactionWrappers.init[i]` * (`close`rs that correspond to initializers that failed will not be * invoked). */ closeAll: function (startIndex) { !this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : invariant(false) : void 0; var transactionWrappers = this.transactionWrappers; for (var i = startIndex; i < transactionWrappers.length; i++) { var wrapper = transactionWrappers[i]; var initData = this.wrapperInitData[i]; var errorThrown; try { // Catching errors makes debugging more difficult, so we start with // errorThrown set to true before setting it to false after calling // close -- if it's still set to true in the finally block, it means // wrapper.close threw. errorThrown = true; if (initData !== Transaction.OBSERVED_ERROR && wrapper.close) { wrapper.close.call(this, initData); } errorThrown = false; } finally { if (errorThrown) { // The closer for wrapper i threw an error; close the remaining // wrappers but silence any exceptions from them to ensure that the // first error is the one to bubble up. try { this.closeAll(i + 1); } catch (e) {} } } } this.wrapperInitData.length = 0; } }; var Transaction = { Mixin: Mixin, /** * Token to look for to determine if an error occurred. */ OBSERVED_ERROR: {} }; module.exports = Transaction; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 63 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getEventTarget */ 'use strict'; /** * Gets the target node from a native browser event by accounting for * inconsistencies in browser DOM APIs. * * @param {object} nativeEvent Native browser event. * @return {DOMEventTarget} Target node. */ function getEventTarget(nativeEvent) { var target = nativeEvent.target || nativeEvent.srcElement || window; // Normalize SVG element events #4963 if (target.correspondingUseElement) { target = target.correspondingUseElement; } // Safari may fire events on text nodes (Node.TEXT_NODE is 3). // @see http://www.quirksmode.org/js/events_properties.html return target.nodeType === 3 ? target.parentNode : target; } module.exports = getEventTarget; /***/ }, /* 64 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule isEventSupported */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var useHasFeature; if (ExecutionEnvironment.canUseDOM) { useHasFeature = document.implementation && document.implementation.hasFeature && // always returns true in newer browsers as per the standard. // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature document.implementation.hasFeature('', '') !== true; } /** * Checks if an event is supported in the current execution environment. * * NOTE: This will not work correctly for non-generic events such as `change`, * `reset`, `load`, `error`, and `select`. * * Borrows from Modernizr. * * @param {string} eventNameSuffix Event name, e.g. "click". * @param {?boolean} capture Check if the capture phase is supported. * @return {boolean} True if the event is supported. * @internal * @license Modernizr 3.0.0pre (Custom Build) | MIT */ function isEventSupported(eventNameSuffix, capture) { if (!ExecutionEnvironment.canUseDOM || capture && !('addEventListener' in document)) { return false; } var eventName = 'on' + eventNameSuffix; var isSupported = eventName in document; if (!isSupported) { var element = document.createElement('div'); element.setAttribute(eventName, 'return;'); isSupported = typeof element[eventName] === 'function'; } if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') { // This is the only way to test support for the `wheel` event in IE9+. isSupported = document.implementation.hasFeature('Events.wheel', '3.0'); } return isSupported; } module.exports = isEventSupported; /***/ }, /* 65 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule isTextInputElement */ 'use strict'; /** * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary */ var supportedInputTypes = { 'color': true, 'date': true, 'datetime': true, 'datetime-local': true, 'email': true, 'month': true, 'number': true, 'password': true, 'range': true, 'search': true, 'tel': true, 'text': true, 'time': true, 'url': true, 'week': true }; function isTextInputElement(elem) { var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); return nodeName && (nodeName === 'input' && supportedInputTypes[elem.type] || nodeName === 'textarea'); } module.exports = isTextInputElement; /***/ }, /* 66 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DefaultEventPluginOrder */ 'use strict'; var keyOf = __webpack_require__(26); /** * Module that is injectable into `EventPluginHub`, that specifies a * deterministic ordering of `EventPlugin`s. A convenient way to reason about * plugins, without having to package every one of them. This is better than * having plugins be ordered in the same order that they are injected because * that ordering would be influenced by the packaging order. * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that * preventing default on events is convenient in `SimpleEventPlugin` handlers. */ var DefaultEventPluginOrder = [keyOf({ ResponderEventPlugin: null }), keyOf({ SimpleEventPlugin: null }), keyOf({ TapEventPlugin: null }), keyOf({ EnterLeaveEventPlugin: null }), keyOf({ ChangeEventPlugin: null }), keyOf({ SelectEventPlugin: null }), keyOf({ BeforeInputEventPlugin: null })]; module.exports = DefaultEventPluginOrder; /***/ }, /* 67 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EnterLeaveEventPlugin */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPropagators = __webpack_require__(41); var ReactDOMComponentTree = __webpack_require__(35); var SyntheticMouseEvent = __webpack_require__(68); var keyOf = __webpack_require__(26); var topLevelTypes = EventConstants.topLevelTypes; var eventTypes = { mouseEnter: { registrationName: keyOf({ onMouseEnter: null }), dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver] }, mouseLeave: { registrationName: keyOf({ onMouseLeave: null }), dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver] } }; var EnterLeaveEventPlugin = { eventTypes: eventTypes, /** * For almost every interaction we care about, there will be both a top-level * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that * we do not extract duplicate events. However, moving the mouse into the * browser from outside will not fire a `mouseout` event. In this case, we use * the `mouseover` top-level event. */ extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { if (topLevelType === topLevelTypes.topMouseOver && (nativeEvent.relatedTarget || nativeEvent.fromElement)) { return null; } if (topLevelType !== topLevelTypes.topMouseOut && topLevelType !== topLevelTypes.topMouseOver) { // Must not be a mouse in or mouse out - ignoring. return null; } var win; if (nativeEventTarget.window === nativeEventTarget) { // `nativeEventTarget` is probably a window object. win = nativeEventTarget; } else { // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. var doc = nativeEventTarget.ownerDocument; if (doc) { win = doc.defaultView || doc.parentWindow; } else { win = window; } } var from; var to; if (topLevelType === topLevelTypes.topMouseOut) { from = targetInst; var related = nativeEvent.relatedTarget || nativeEvent.toElement; to = related ? ReactDOMComponentTree.getClosestInstanceFromNode(related) : null; } else { // Moving to a node from outside the window. from = null; to = targetInst; } if (from === to) { // Nothing pertains to our managed components. return null; } var fromNode = from == null ? win : ReactDOMComponentTree.getNodeFromInstance(from); var toNode = to == null ? win : ReactDOMComponentTree.getNodeFromInstance(to); var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, from, nativeEvent, nativeEventTarget); leave.type = 'mouseleave'; leave.target = fromNode; leave.relatedTarget = toNode; var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, to, nativeEvent, nativeEventTarget); enter.type = 'mouseenter'; enter.target = toNode; enter.relatedTarget = fromNode; EventPropagators.accumulateEnterLeaveDispatches(leave, enter, from, to); return [leave, enter]; } }; module.exports = EnterLeaveEventPlugin; /***/ }, /* 68 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticMouseEvent */ 'use strict'; var SyntheticUIEvent = __webpack_require__(69); var ViewportMetrics = __webpack_require__(70); var getEventModifierState = __webpack_require__(71); /** * @interface MouseEvent * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var MouseEventInterface = { screenX: null, screenY: null, clientX: null, clientY: null, ctrlKey: null, shiftKey: null, altKey: null, metaKey: null, getModifierState: getEventModifierState, button: function (event) { // Webkit, Firefox, IE9+ // which: 1 2 3 // button: 0 1 2 (standard) var button = event.button; if ('which' in event) { return button; } // IE<9 // which: undefined // button: 0 0 0 // button: 1 4 2 (onmouseup) return button === 2 ? 2 : button === 4 ? 1 : 0; }, buttons: null, relatedTarget: function (event) { return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement); }, // "Proprietary" Interface. pageX: function (event) { return 'pageX' in event ? event.pageX : event.clientX + ViewportMetrics.currentScrollLeft; }, pageY: function (event) { return 'pageY' in event ? event.pageY : event.clientY + ViewportMetrics.currentScrollTop; } }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticUIEvent} */ function SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface); module.exports = SyntheticMouseEvent; /***/ }, /* 69 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticUIEvent */ 'use strict'; var SyntheticEvent = __webpack_require__(52); var getEventTarget = __webpack_require__(63); /** * @interface UIEvent * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var UIEventInterface = { view: function (event) { if (event.view) { return event.view; } var target = getEventTarget(event); if (target != null && target.window === target) { // target is a window object return target; } var doc = target.ownerDocument; // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. if (doc) { return doc.defaultView || doc.parentWindow; } else { return window; } }, detail: function (event) { return event.detail || 0; } }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticEvent} */ function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface); module.exports = SyntheticUIEvent; /***/ }, /* 70 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ViewportMetrics */ 'use strict'; var ViewportMetrics = { currentScrollLeft: 0, currentScrollTop: 0, refreshScrollValues: function (scrollPosition) { ViewportMetrics.currentScrollLeft = scrollPosition.x; ViewportMetrics.currentScrollTop = scrollPosition.y; } }; module.exports = ViewportMetrics; /***/ }, /* 71 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getEventModifierState */ 'use strict'; /** * Translation from modifier key to the associated property in the event. * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers */ var modifierKeyToProp = { 'Alt': 'altKey', 'Control': 'ctrlKey', 'Meta': 'metaKey', 'Shift': 'shiftKey' }; // IE8 does not implement getModifierState so we simply map it to the only // modifier keys exposed by the event itself, does not support Lock-keys. // Currently, all major browsers except Chrome seems to support Lock-keys. function modifierStateGetter(keyArg) { var syntheticEvent = this; var nativeEvent = syntheticEvent.nativeEvent; if (nativeEvent.getModifierState) { return nativeEvent.getModifierState(keyArg); } var keyProp = modifierKeyToProp[keyArg]; return keyProp ? !!nativeEvent[keyProp] : false; } function getEventModifierState(nativeEvent) { return modifierStateGetter; } module.exports = getEventModifierState; /***/ }, /* 72 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule HTMLDOMPropertyConfig */ 'use strict'; var DOMProperty = __webpack_require__(36); var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY; var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE; var HAS_SIDE_EFFECTS = DOMProperty.injection.HAS_SIDE_EFFECTS; var HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE; var HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE; var HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE; var HTMLDOMPropertyConfig = { isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')), Properties: { /** * Standard Properties */ accept: 0, acceptCharset: 0, accessKey: 0, action: 0, allowFullScreen: HAS_BOOLEAN_VALUE, allowTransparency: 0, alt: 0, async: HAS_BOOLEAN_VALUE, autoComplete: 0, // autoFocus is polyfilled/normalized by AutoFocusUtils // autoFocus: HAS_BOOLEAN_VALUE, autoPlay: HAS_BOOLEAN_VALUE, capture: HAS_BOOLEAN_VALUE, cellPadding: 0, cellSpacing: 0, charSet: 0, challenge: 0, checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, cite: 0, classID: 0, className: 0, cols: HAS_POSITIVE_NUMERIC_VALUE, colSpan: 0, content: 0, contentEditable: 0, contextMenu: 0, controls: HAS_BOOLEAN_VALUE, coords: 0, crossOrigin: 0, data: 0, // For `` acts as `src`. dateTime: 0, 'default': HAS_BOOLEAN_VALUE, defer: HAS_BOOLEAN_VALUE, dir: 0, disabled: HAS_BOOLEAN_VALUE, download: HAS_OVERLOADED_BOOLEAN_VALUE, draggable: 0, encType: 0, form: 0, formAction: 0, formEncType: 0, formMethod: 0, formNoValidate: HAS_BOOLEAN_VALUE, formTarget: 0, frameBorder: 0, headers: 0, height: 0, hidden: HAS_BOOLEAN_VALUE, high: 0, href: 0, hrefLang: 0, htmlFor: 0, httpEquiv: 0, icon: 0, id: 0, inputMode: 0, integrity: 0, is: 0, keyParams: 0, keyType: 0, kind: 0, label: 0, lang: 0, list: 0, loop: HAS_BOOLEAN_VALUE, low: 0, manifest: 0, marginHeight: 0, marginWidth: 0, max: 0, maxLength: 0, media: 0, mediaGroup: 0, method: 0, min: 0, minLength: 0, // Caution; `option.selected` is not updated if `select.multiple` is // disabled with `removeAttribute`. multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, name: 0, nonce: 0, noValidate: HAS_BOOLEAN_VALUE, open: HAS_BOOLEAN_VALUE, optimum: 0, pattern: 0, placeholder: 0, poster: 0, preload: 0, profile: 0, radioGroup: 0, readOnly: HAS_BOOLEAN_VALUE, rel: 0, required: HAS_BOOLEAN_VALUE, reversed: HAS_BOOLEAN_VALUE, role: 0, rows: HAS_POSITIVE_NUMERIC_VALUE, rowSpan: HAS_NUMERIC_VALUE, sandbox: 0, scope: 0, scoped: HAS_BOOLEAN_VALUE, scrolling: 0, seamless: HAS_BOOLEAN_VALUE, selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, shape: 0, size: HAS_POSITIVE_NUMERIC_VALUE, sizes: 0, span: HAS_POSITIVE_NUMERIC_VALUE, spellCheck: 0, src: 0, srcDoc: 0, srcLang: 0, srcSet: 0, start: HAS_NUMERIC_VALUE, step: 0, style: 0, summary: 0, tabIndex: 0, target: 0, title: 0, // Setting .type throws on non- tags type: 0, useMap: 0, value: MUST_USE_PROPERTY | HAS_SIDE_EFFECTS, width: 0, wmode: 0, wrap: 0, /** * RDFa Properties */ about: 0, datatype: 0, inlist: 0, prefix: 0, // property is also supported for OpenGraph in meta tags. property: 0, resource: 0, 'typeof': 0, vocab: 0, /** * Non-standard Properties */ // autoCapitalize and autoCorrect are supported in Mobile Safari for // keyboard hints. autoCapitalize: 0, autoCorrect: 0, // autoSave allows WebKit/Blink to persist values of input fields on page reloads autoSave: 0, // color is for Safari mask-icon link color: 0, // itemProp, itemScope, itemType are for // Microdata support. See http://schema.org/docs/gs.html itemProp: 0, itemScope: HAS_BOOLEAN_VALUE, itemType: 0, // itemID and itemRef are for Microdata support as well but // only specified in the WHATWG spec document. See // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api itemID: 0, itemRef: 0, // results show looking glass icon and recent searches on input // search fields in WebKit/Blink results: 0, // IE-only attribute that specifies security restrictions on an iframe // as an alternative to the sandbox attribute on IE<10 security: 0, // IE-only attribute that controls focus behavior unselectable: 0 }, DOMAttributeNames: { acceptCharset: 'accept-charset', className: 'class', htmlFor: 'for', httpEquiv: 'http-equiv' }, DOMPropertyNames: {} }; module.exports = HTMLDOMPropertyConfig; /***/ }, /* 73 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactComponentBrowserEnvironment */ 'use strict'; var DOMChildrenOperations = __webpack_require__(74); var ReactDOMIDOperations = __webpack_require__(85); var ReactPerf = __webpack_require__(58); /** * Abstracts away all functionality of the reconciler that requires knowledge of * the browser context. TODO: These callers should be refactored to avoid the * need for this injection. */ var ReactComponentBrowserEnvironment = { processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates, replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup, /** * If a particular environment requires that some resources be cleaned up, * specify this in the injected Mixin. In the DOM, we would likely want to * purge any cached node ID lookups. * * @private */ unmountIDFromEnvironment: function (rootNodeID) {} }; ReactPerf.measureMethods(ReactComponentBrowserEnvironment, 'ReactComponentBrowserEnvironment', { replaceNodeWithMarkup: 'replaceNodeWithMarkup' }); module.exports = ReactComponentBrowserEnvironment; /***/ }, /* 74 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DOMChildrenOperations */ 'use strict'; var DOMLazyTree = __webpack_require__(75); var Danger = __webpack_require__(80); var ReactMultiChildUpdateTypes = __webpack_require__(84); var ReactPerf = __webpack_require__(58); var createMicrosoftUnsafeLocalFunction = __webpack_require__(76); var setInnerHTML = __webpack_require__(79); var setTextContent = __webpack_require__(77); function getNodeAfter(parentNode, node) { // Special case for text components, which return [open, close] comments // from getNativeNode. if (Array.isArray(node)) { node = node[1]; } return node ? node.nextSibling : parentNode.firstChild; } /** * Inserts `childNode` as a child of `parentNode` at the `index`. * * @param {DOMElement} parentNode Parent node in which to insert. * @param {DOMElement} childNode Child node to insert. * @param {number} index Index at which to insert the child. * @internal */ var insertChildAt = createMicrosoftUnsafeLocalFunction(function (parentNode, childNode, referenceNode) { // We rely exclusively on `insertBefore(node, null)` instead of also using // `appendChild(node)`. (Using `undefined` is not allowed by all browsers so // we are careful to use `null`.) parentNode.insertBefore(childNode, referenceNode); }); function insertLazyTreeChildAt(parentNode, childTree, referenceNode) { DOMLazyTree.insertTreeBefore(parentNode, childTree, referenceNode); } function moveChild(parentNode, childNode, referenceNode) { if (Array.isArray(childNode)) { moveDelimitedText(parentNode, childNode[0], childNode[1], referenceNode); } else { insertChildAt(parentNode, childNode, referenceNode); } } function removeChild(parentNode, childNode) { if (Array.isArray(childNode)) { var closingComment = childNode[1]; childNode = childNode[0]; removeDelimitedText(parentNode, childNode, closingComment); parentNode.removeChild(closingComment); } parentNode.removeChild(childNode); } function moveDelimitedText(parentNode, openingComment, closingComment, referenceNode) { var node = openingComment; while (true) { var nextNode = node.nextSibling; insertChildAt(parentNode, node, referenceNode); if (node === closingComment) { break; } node = nextNode; } } function removeDelimitedText(parentNode, startNode, closingComment) { while (true) { var node = startNode.nextSibling; if (node === closingComment) { // The closing comment is removed by ReactMultiChild. break; } else { parentNode.removeChild(node); } } } function replaceDelimitedText(openingComment, closingComment, stringText) { var parentNode = openingComment.parentNode; var nodeAfterComment = openingComment.nextSibling; if (nodeAfterComment === closingComment) { // There are no text nodes between the opening and closing comments; insert // a new one if stringText isn't empty. if (stringText) { insertChildAt(parentNode, document.createTextNode(stringText), nodeAfterComment); } } else { if (stringText) { // Set the text content of the first node after the opening comment, and // remove all following nodes up until the closing comment. setTextContent(nodeAfterComment, stringText); removeDelimitedText(parentNode, nodeAfterComment, closingComment); } else { removeDelimitedText(parentNode, openingComment, closingComment); } } } /** * Operations for updating with DOM children. */ var DOMChildrenOperations = { dangerouslyReplaceNodeWithMarkup: Danger.dangerouslyReplaceNodeWithMarkup, replaceDelimitedText: replaceDelimitedText, /** * Updates a component's children by processing a series of updates. The * update configurations are each expected to have a `parentNode` property. * * @param {array} updates List of update configurations. * @internal */ processUpdates: function (parentNode, updates) { for (var k = 0; k < updates.length; k++) { var update = updates[k]; switch (update.type) { case ReactMultiChildUpdateTypes.INSERT_MARKUP: insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode)); break; case ReactMultiChildUpdateTypes.MOVE_EXISTING: moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode)); break; case ReactMultiChildUpdateTypes.SET_MARKUP: setInnerHTML(parentNode, update.content); break; case ReactMultiChildUpdateTypes.TEXT_CONTENT: setTextContent(parentNode, update.content); break; case ReactMultiChildUpdateTypes.REMOVE_NODE: removeChild(parentNode, update.fromNode); break; } } } }; ReactPerf.measureMethods(DOMChildrenOperations, 'DOMChildrenOperations', { replaceDelimitedText: 'replaceDelimitedText' }); module.exports = DOMChildrenOperations; /***/ }, /* 75 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DOMLazyTree */ 'use strict'; var createMicrosoftUnsafeLocalFunction = __webpack_require__(76); var setTextContent = __webpack_require__(77); /** * In IE (8-11) and Edge, appending nodes with no children is dramatically * faster than appending a full subtree, so we essentially queue up the * .appendChild calls here and apply them so each node is added to its parent * before any children are added. * * In other browsers, doing so is slower or neutral compared to the other order * (in Firefox, twice as slow) so we only do this inversion in IE. * * See https://github.com/spicyj/innerhtml-vs-createelement-vs-clonenode. */ var enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\bEdge\/\d/.test(navigator.userAgent); function insertTreeChildren(tree) { if (!enableLazy) { return; } var node = tree.node; var children = tree.children; if (children.length) { for (var i = 0; i < children.length; i++) { insertTreeBefore(node, children[i], null); } } else if (tree.html != null) { node.innerHTML = tree.html; } else if (tree.text != null) { setTextContent(node, tree.text); } } var insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) { // DocumentFragments aren't actually part of the DOM after insertion so // appending children won't update the DOM. We need to ensure the fragment // is properly populated first, breaking out of our lazy approach for just // this level. if (tree.node.nodeType === 11) { insertTreeChildren(tree); parentNode.insertBefore(tree.node, referenceNode); } else { parentNode.insertBefore(tree.node, referenceNode); insertTreeChildren(tree); } }); function replaceChildWithTree(oldNode, newTree) { oldNode.parentNode.replaceChild(newTree.node, oldNode); insertTreeChildren(newTree); } function queueChild(parentTree, childTree) { if (enableLazy) { parentTree.children.push(childTree); } else { parentTree.node.appendChild(childTree.node); } } function queueHTML(tree, html) { if (enableLazy) { tree.html = html; } else { tree.node.innerHTML = html; } } function queueText(tree, text) { if (enableLazy) { tree.text = text; } else { setTextContent(tree.node, text); } } function DOMLazyTree(node) { return { node: node, children: [], html: null, text: null }; } DOMLazyTree.insertTreeBefore = insertTreeBefore; DOMLazyTree.replaceChildWithTree = replaceChildWithTree; DOMLazyTree.queueChild = queueChild; DOMLazyTree.queueHTML = queueHTML; DOMLazyTree.queueText = queueText; module.exports = DOMLazyTree; /***/ }, /* 76 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule createMicrosoftUnsafeLocalFunction */ /* globals MSApp */ 'use strict'; /** * Create a function which has 'unsafe' privileges (required by windows8 apps) */ var createMicrosoftUnsafeLocalFunction = function (func) { if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) { return function (arg0, arg1, arg2, arg3) { MSApp.execUnsafeLocalFunction(function () { return func(arg0, arg1, arg2, arg3); }); }; } else { return func; } }; module.exports = createMicrosoftUnsafeLocalFunction; /***/ }, /* 77 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule setTextContent */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var escapeTextContentForBrowser = __webpack_require__(78); var setInnerHTML = __webpack_require__(79); /** * Set the textContent property of a node, ensuring that whitespace is preserved * even in IE8. innerText is a poor substitute for textContent and, among many * issues, inserts
    instead of the literal newline chars. innerHTML behaves * as it should. * * @param {DOMElement} node * @param {string} text * @internal */ var setTextContent = function (node, text) { node.textContent = text; }; if (ExecutionEnvironment.canUseDOM) { if (!('textContent' in document.documentElement)) { setTextContent = function (node, text) { setInnerHTML(node, escapeTextContentForBrowser(text)); }; } } module.exports = setTextContent; /***/ }, /* 78 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule escapeTextContentForBrowser */ 'use strict'; var ESCAPE_LOOKUP = { '&': '&', '>': '>', '<': '<', '"': '"', '\'': ''' }; var ESCAPE_REGEX = /[&><"']/g; function escaper(match) { return ESCAPE_LOOKUP[match]; } /** * Escapes text to prevent scripting attacks. * * @param {*} text Text value to escape. * @return {string} An escaped string. */ function escapeTextContentForBrowser(text) { return ('' + text).replace(ESCAPE_REGEX, escaper); } module.exports = escapeTextContentForBrowser; /***/ }, /* 79 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule setInnerHTML */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var WHITESPACE_TEST = /^[ \r\n\t\f]/; var NONVISIBLE_TEST = /<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/; var createMicrosoftUnsafeLocalFunction = __webpack_require__(76); /** * Set the innerHTML property of a node, ensuring that whitespace is preserved * even in IE8. * * @param {DOMElement} node * @param {string} html * @internal */ var setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) { node.innerHTML = html; }); if (ExecutionEnvironment.canUseDOM) { // IE8: When updating a just created node with innerHTML only leading // whitespace is removed. When updating an existing node with innerHTML // whitespace in root TextNodes is also collapsed. // @see quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.html // Feature detection; only IE8 is known to behave improperly like this. var testElement = document.createElement('div'); testElement.innerHTML = ' '; if (testElement.innerHTML === '') { setInnerHTML = function (node, html) { // Magic theory: IE8 supposedly differentiates between added and updated // nodes when processing innerHTML, innerHTML on updated nodes suffers // from worse whitespace behavior. Re-adding a node like this triggers // the initial and more favorable whitespace behavior. // TODO: What to do on a detached node? if (node.parentNode) { node.parentNode.replaceChild(node, node); } // We also implement a workaround for non-visible tags disappearing into // thin air on IE8, this only happens if there is no visible text // in-front of the non-visible tags. Piggyback on the whitespace fix // and simply check if any non-visible tags appear in the source. if (WHITESPACE_TEST.test(html) || html[0] === '<' && NONVISIBLE_TEST.test(html)) { // Recover leading whitespace by temporarily prepending any character. // \uFEFF has the potential advantage of being zero-width/invisible. // UglifyJS drops U+FEFF chars when parsing, so use String.fromCharCode // in hopes that this is preserved even if "\uFEFF" is transformed to // the actual Unicode character (by Babel, for example). // https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216 node.innerHTML = String.fromCharCode(0xFEFF) + html; // deleteData leaves an empty `TextNode` which offsets the index of all // children. Definitely want to avoid this. var textNode = node.firstChild; if (textNode.data.length === 1) { node.removeChild(textNode); } else { textNode.deleteData(0, 1); } } else { node.innerHTML = html; } }; } testElement = null; } module.exports = setInnerHTML; /***/ }, /* 80 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule Danger */ 'use strict'; var DOMLazyTree = __webpack_require__(75); var ExecutionEnvironment = __webpack_require__(48); var createNodesFromMarkup = __webpack_require__(81); var emptyFunction = __webpack_require__(11); var getMarkupWrap = __webpack_require__(83); var invariant = __webpack_require__(7); var OPEN_TAG_NAME_EXP = /^(<[^ \/>]+)/; var RESULT_INDEX_ATTR = 'data-danger-index'; /** * Extracts the `nodeName` from a string of markup. * * NOTE: Extracting the `nodeName` does not require a regular expression match * because we make assumptions about React-generated markup (i.e. there are no * spaces surrounding the opening tag and there is at least one attribute). * * @param {string} markup String of markup. * @return {string} Node name of the supplied markup. * @see http://jsperf.com/extract-nodename */ function getNodeName(markup) { return markup.substring(1, markup.indexOf(' ')); } var Danger = { /** * Renders markup into an array of nodes. The markup is expected to render * into a list of root nodes. Also, the length of `resultList` and * `markupList` should be the same. * * @param {array} markupList List of markup strings to render. * @return {array} List of rendered nodes. * @internal */ dangerouslyRenderMarkup: function (markupList) { !ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyRenderMarkup(...): Cannot render markup in a worker ' + 'thread. Make sure `window` and `document` are available globally ' + 'before requiring React when unit testing or use ' + 'ReactDOMServer.renderToString for server rendering.') : invariant(false) : void 0; var nodeName; var markupByNodeName = {}; // Group markup by `nodeName` if a wrap is necessary, else by '*'. for (var i = 0; i < markupList.length; i++) { !markupList[i] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyRenderMarkup(...): Missing markup.') : invariant(false) : void 0; nodeName = getNodeName(markupList[i]); nodeName = getMarkupWrap(nodeName) ? nodeName : '*'; markupByNodeName[nodeName] = markupByNodeName[nodeName] || []; markupByNodeName[nodeName][i] = markupList[i]; } var resultList = []; var resultListAssignmentCount = 0; for (nodeName in markupByNodeName) { if (!markupByNodeName.hasOwnProperty(nodeName)) { continue; } var markupListByNodeName = markupByNodeName[nodeName]; // This for-in loop skips the holes of the sparse array. The order of // iteration should follow the order of assignment, which happens to match // numerical index order, but we don't rely on that. var resultIndex; for (resultIndex in markupListByNodeName) { if (markupListByNodeName.hasOwnProperty(resultIndex)) { var markup = markupListByNodeName[resultIndex]; // Push the requested markup with an additional RESULT_INDEX_ATTR // attribute. If the markup does not start with a < character, it // will be discarded below (with an appropriate console.error). markupListByNodeName[resultIndex] = markup.replace(OPEN_TAG_NAME_EXP, // This index will be parsed back out below. '$1 ' + RESULT_INDEX_ATTR + '="' + resultIndex + '" '); } } // Render each group of markup with similar wrapping `nodeName`. var renderNodes = createNodesFromMarkup(markupListByNodeName.join(''), emptyFunction // Do nothing special with ================================================ FILE: Day 003 - React App with Firebase/webpack.config.js ================================================ module.exports = { entry: "./app/App.js", output: { filename: "public/bundle.js" }, module: { loaders: [ { test: /\.jsx?$/, exclude: /(node_modules|bower_components)/, loader: 'babel', query: { presets: ['react', 'es2015'] } } ] } } ================================================ FILE: Day 004 - React App with Firebase + Realtime Data Validation/README.md ================================================ 100DaysOfCode Challenge - React App #DAY 4 -  Validating and Managing State of React Components Day 4 continue building on the app by adding notes taking component that syncs realtime to firebase. Trigger events from root to manage state along with validation of each component. - Added validation using PropTypes to all the components - Added state management between components - Created a component that lets user add notes that are synced to firebase realtime Read more about it on medium here: https://medium.com/@harinilabs About me and other interesting projects on my website: http://HariniLabs.com/ ================================================ FILE: Day 004 - React App with Firebase + Realtime Data Validation/app/App.js ================================================ var React = require('react'); var ReactDOM = require('react-dom'); var Router = require('react-router').Router; var routes = require('./config/routes'); ReactDOM.render( {routes}, document.getElementById('app') ) ================================================ FILE: Day 004 - React App with Firebase + Realtime Data Validation/app/components/Github/Repos.js ================================================ var React = require('react'); var Repos = React.createClass({ propTypes: { username: React.PropTypes.string.isRequired, repos: React.PropTypes.array.isRequired }, render: function(){ return (

    REPOS

    REPOS: {this.props.repos}
    ) } }) module.exports = Repos; ================================================ FILE: Day 004 - React App with Firebase + Realtime Data Validation/app/components/Github/UserProfile.js ================================================ var React = require('react'); var UserProfile = React.createClass({ propTypes: { username: React.PropTypes.string.isRequired, bio: React.PropTypes.object.isRequired }, render: function(){ return (

    USER PROFILE!

    Username: {this.props.username}

    Bio: {this.props.bio.name}

    ) } }) module.exports = UserProfile; ================================================ FILE: Day 004 - React App with Firebase + Realtime Data Validation/app/components/Home.js ================================================ var React = require('react'); var Home = React.createClass({ render: function(){ return(

    Search By Github Username Above

    ) } }) module.exports = Home; ================================================ FILE: Day 004 - React App with Firebase + Realtime Data Validation/app/components/Main.js ================================================ var React = require('react'); var Main = React.createClass({ render: function(){ return (
    {this.props.children}
    ) } }); module.exports = Main; ================================================ FILE: Day 004 - React App with Firebase + Realtime Data Validation/app/components/Notes/AddNote.js ================================================ var React = require('react'); var AddNote = React.createClass({ propTypes: { username: React.PropTypes.string.isRequired, addNote: React.PropTypes.func.isRequired }, setRef: function(ref){ this.note = ref; }, handleSubmit: function(){ var newNote = this.note.value; this.note.value = ''; this.props.addNote(newNote) }, render: function(){ return (
    ) } }); module.exports = AddNote; ================================================ FILE: Day 004 - React App with Firebase + Realtime Data Validation/app/components/Notes/Notes.js ================================================ var React = require('react'); var NotesList = require('./NotesList'); var AddNote = require('./AddNote'); var Notes = React.createClass({ propTypes: { username: React.PropTypes.string.isRequired, notes: React.PropTypes.array.isRequired, addNote: React.PropTypes.func.isRequired, }, render: function(){ return (

    Notes for {this.props.username}

    ) } }) module.exports = Notes; ================================================ FILE: Day 004 - React App with Firebase + Realtime Data Validation/app/components/Notes/NotesList.js ================================================ var React = require('react') var NotesList = React.createClass({ render: function(){ var notes = this.props.notes.map(function(note, index){ return
  • {note['.value']}
  • }) return (
      {notes}
    ) } }); module.exports = NotesList; ================================================ FILE: Day 004 - React App with Firebase + Realtime Data Validation/app/components/Profile.js ================================================ var React = require('react'); var Router = require('react-router'); var Repos = require('./Github/Repos'); var UserProfile = require('./Github/UserProfile'); var Notes = require('./Notes/Notes'); var ReactFireMixin = require('reactfire'); var Firebase = require('firebase'); var Profile = React.createClass({ mixins: [ReactFireMixin], getInitialState: function(){ return { notes: [1,2,3], bio: { name: 'Harini Janakiraman' }, repos: ['a', 'b', 'c'] } }, componentDidMount: function(){ this.ref = new Firebase('https://amber-fire-5168.firebaseio.com/'); var childRef = this.ref.child(this.props.params.username); this.bindAsArray(childRef, 'notes'); }, componentWillUnmount: function(){ this.unbind('notes'); }, handleAddNote: function(newNote){ this.ref.child(this.props.params.username).child(this.state.notes.length).set(newNote) }, render: function(){ return (
    ) } }) module.exports = Profile; ================================================ FILE: Day 004 - React App with Firebase + Realtime Data Validation/app/config/routes.js ================================================ var React = require('react'); var Main = require('../components/Main'); var Home = require('../components/Home'); var Profile = require('../components/Profile'); var Router = require('react-router'); var Route = Router.Route; var IndexRoute = Router.IndexRoute; module.exports = ( ); ================================================ FILE: Day 004 - React App with Firebase + Realtime Data Validation/package.json ================================================ { "name": "reactapp", "version": "1.0.0", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "firebase": "^2.4.2", "history": "^2.1.1", "react": "^15.0.2", "react-router": "^2.4.0", "reactfire": "^0.7.0" }, "devDependencies": { "babel-core": "github:node_modules/babel-core", "babel-loader": "github:node_modules/babel-loader", "babel-preset-es2015": "^6.6.0", "babel-preset-es2016": "^6.0.11", "babel-preset-react": "github:node_modules/babel-preset-react", "webpack": "^1.13.0" }, "description": "" } ================================================ FILE: Day 004 - React App with Firebase + Realtime Data Validation/public/bundle.js ================================================ /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ }; /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ // Flag the module as loaded /******/ module.loaded = true; /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ // Load entry module and return exports /******/ return __webpack_require__(0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var React = __webpack_require__(1); var ReactDOM = __webpack_require__(33); var Router = __webpack_require__(168).Router; var routes = __webpack_require__(231); ReactDOM.render(React.createElement( Router, null, routes ), document.getElementById('app')); /***/ }, /* 1 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; module.exports = __webpack_require__(2); /***/ }, /* 2 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule React */ 'use strict'; var _assign = __webpack_require__(4); var ReactChildren = __webpack_require__(5); var ReactComponent = __webpack_require__(16); var ReactClass = __webpack_require__(22); var ReactDOMFactories = __webpack_require__(27); var ReactElement = __webpack_require__(8); var ReactElementValidator = __webpack_require__(28); var ReactPropTypes = __webpack_require__(30); var ReactVersion = __webpack_require__(31); var onlyChild = __webpack_require__(32); var warning = __webpack_require__(10); var createElement = ReactElement.createElement; var createFactory = ReactElement.createFactory; var cloneElement = ReactElement.cloneElement; if (process.env.NODE_ENV !== 'production') { createElement = ReactElementValidator.createElement; createFactory = ReactElementValidator.createFactory; cloneElement = ReactElementValidator.cloneElement; } var __spread = _assign; if (process.env.NODE_ENV !== 'production') { var warned = false; __spread = function () { process.env.NODE_ENV !== 'production' ? warning(warned, 'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See https://fb.me/react-spread-deprecation for more details.') : void 0; warned = true; return _assign.apply(null, arguments); }; } var React = { // Modern Children: { map: ReactChildren.map, forEach: ReactChildren.forEach, count: ReactChildren.count, toArray: ReactChildren.toArray, only: onlyChild }, Component: ReactComponent, createElement: createElement, cloneElement: cloneElement, isValidElement: ReactElement.isValidElement, // Classic PropTypes: ReactPropTypes, createClass: ReactClass.createClass, createFactory: createFactory, createMixin: function (mixin) { // Currently a noop. Will be used to validate and trace mixins. return mixin; }, // This looks DOM specific but these are actually isomorphic helpers // since they are just generating DOM strings. DOM: ReactDOMFactories, version: ReactVersion, // Deprecated hook for JSX spread, don't use this for anything. __spread: __spread }; module.exports = React; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 3 */ /***/ function(module, exports) { // shim for using process in browser var process = module.exports = {}; var queue = []; var draining = false; var currentQueue; var queueIndex = -1; function cleanUpNextTick() { if (!draining || !currentQueue) { return; } draining = false; if (currentQueue.length) { queue = currentQueue.concat(queue); } else { queueIndex = -1; } if (queue.length) { drainQueue(); } } function drainQueue() { if (draining) { return; } var timeout = setTimeout(cleanUpNextTick); draining = true; var len = queue.length; while(len) { currentQueue = queue; queue = []; while (++queueIndex < len) { if (currentQueue) { currentQueue[queueIndex].run(); } } queueIndex = -1; len = queue.length; } currentQueue = null; draining = false; clearTimeout(timeout); } process.nextTick = function (fun) { var args = new Array(arguments.length - 1); if (arguments.length > 1) { for (var i = 1; i < arguments.length; i++) { args[i - 1] = arguments[i]; } } queue.push(new Item(fun, args)); if (queue.length === 1 && !draining) { setTimeout(drainQueue, 0); } }; // v8 likes predictible objects function Item(fun, array) { this.fun = fun; this.array = array; } Item.prototype.run = function () { this.fun.apply(null, this.array); }; process.title = 'browser'; process.browser = true; process.env = {}; process.argv = []; process.version = ''; // empty string to avoid regexp issues process.versions = {}; function noop() {} process.on = noop; process.addListener = noop; process.once = noop; process.off = noop; process.removeListener = noop; process.removeAllListeners = noop; process.emit = noop; process.binding = function (name) { throw new Error('process.binding is not supported'); }; process.cwd = function () { return '/' }; process.chdir = function (dir) { throw new Error('process.chdir is not supported'); }; process.umask = function() { return 0; }; /***/ }, /* 4 */ /***/ function(module, exports) { 'use strict'; /* eslint-disable no-unused-vars */ var hasOwnProperty = Object.prototype.hasOwnProperty; var propIsEnumerable = Object.prototype.propertyIsEnumerable; function toObject(val) { if (val === null || val === undefined) { throw new TypeError('Object.assign cannot be called with null or undefined'); } return Object(val); } function shouldUseNative() { try { if (!Object.assign) { return false; } // Detect buggy property enumeration order in older V8 versions. // https://bugs.chromium.org/p/v8/issues/detail?id=4118 var test1 = new String('abc'); // eslint-disable-line test1[5] = 'de'; if (Object.getOwnPropertyNames(test1)[0] === '5') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test2 = {}; for (var i = 0; i < 10; i++) { test2['_' + String.fromCharCode(i)] = i; } var order2 = Object.getOwnPropertyNames(test2).map(function (n) { return test2[n]; }); if (order2.join('') !== '0123456789') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test3 = {}; 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { test3[letter] = letter; }); if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') { return false; } return true; } catch (e) { // We don't expect any of the above to throw, but better to be safe. return false; } } module.exports = shouldUseNative() ? Object.assign : function (target, source) { var from; var to = toObject(target); var symbols; for (var s = 1; s < arguments.length; s++) { from = Object(arguments[s]); for (var key in from) { if (hasOwnProperty.call(from, key)) { to[key] = from[key]; } } if (Object.getOwnPropertySymbols) { symbols = Object.getOwnPropertySymbols(from); for (var i = 0; i < symbols.length; i++) { if (propIsEnumerable.call(from, symbols[i])) { to[symbols[i]] = from[symbols[i]]; } } } } return to; }; /***/ }, /* 5 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactChildren */ 'use strict'; var PooledClass = __webpack_require__(6); var ReactElement = __webpack_require__(8); var emptyFunction = __webpack_require__(11); var traverseAllChildren = __webpack_require__(13); var twoArgumentPooler = PooledClass.twoArgumentPooler; var fourArgumentPooler = PooledClass.fourArgumentPooler; var userProvidedKeyEscapeRegex = /\/+/g; function escapeUserProvidedKey(text) { return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/'); } /** * PooledClass representing the bookkeeping associated with performing a child * traversal. Allows avoiding binding callbacks. * * @constructor ForEachBookKeeping * @param {!function} forEachFunction Function to perform traversal with. * @param {?*} forEachContext Context to perform context with. */ function ForEachBookKeeping(forEachFunction, forEachContext) { this.func = forEachFunction; this.context = forEachContext; this.count = 0; } ForEachBookKeeping.prototype.destructor = function () { this.func = null; this.context = null; this.count = 0; }; PooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler); function forEachSingleChild(bookKeeping, child, name) { var func = bookKeeping.func; var context = bookKeeping.context; func.call(context, child, bookKeeping.count++); } /** * Iterates through children that are typically specified as `props.children`. * * The provided forEachFunc(child, index) will be called for each * leaf child. * * @param {?*} children Children tree container. * @param {function(*, int)} forEachFunc * @param {*} forEachContext Context for forEachContext. */ function forEachChildren(children, forEachFunc, forEachContext) { if (children == null) { return children; } var traverseContext = ForEachBookKeeping.getPooled(forEachFunc, forEachContext); traverseAllChildren(children, forEachSingleChild, traverseContext); ForEachBookKeeping.release(traverseContext); } /** * PooledClass representing the bookkeeping associated with performing a child * mapping. Allows avoiding binding callbacks. * * @constructor MapBookKeeping * @param {!*} mapResult Object containing the ordered map of results. * @param {!function} mapFunction Function to perform mapping with. * @param {?*} mapContext Context to perform mapping with. */ function MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) { this.result = mapResult; this.keyPrefix = keyPrefix; this.func = mapFunction; this.context = mapContext; this.count = 0; } MapBookKeeping.prototype.destructor = function () { this.result = null; this.keyPrefix = null; this.func = null; this.context = null; this.count = 0; }; PooledClass.addPoolingTo(MapBookKeeping, fourArgumentPooler); function mapSingleChildIntoContext(bookKeeping, child, childKey) { var result = bookKeeping.result; var keyPrefix = bookKeeping.keyPrefix; var func = bookKeeping.func; var context = bookKeeping.context; var mappedChild = func.call(context, child, bookKeeping.count++); if (Array.isArray(mappedChild)) { mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, emptyFunction.thatReturnsArgument); } else if (mappedChild != null) { if (ReactElement.isValidElement(mappedChild)) { mappedChild = ReactElement.cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as // traverseAllChildren used to do for objects as children keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey); } result.push(mappedChild); } } function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) { var escapedPrefix = ''; if (prefix != null) { escapedPrefix = escapeUserProvidedKey(prefix) + '/'; } var traverseContext = MapBookKeeping.getPooled(array, escapedPrefix, func, context); traverseAllChildren(children, mapSingleChildIntoContext, traverseContext); MapBookKeeping.release(traverseContext); } /** * Maps children that are typically specified as `props.children`. * * The provided mapFunction(child, index) will be called for each * leaf child. * * @param {?*} children Children tree container. * @param {function(*, int)} func The map function. * @param {*} context Context for mapFunction. * @return {object} Object containing the ordered map of results. */ function mapChildren(children, func, context) { if (children == null) { return children; } var result = []; mapIntoWithKeyPrefixInternal(children, result, null, func, context); return result; } function forEachSingleChildDummy(traverseContext, child, name) { return null; } /** * Count the number of children that are typically specified as * `props.children`. * * @param {?*} children Children tree container. * @return {number} The number of children. */ function countChildren(children, context) { return traverseAllChildren(children, forEachSingleChildDummy, null); } /** * Flatten a children object (typically specified as `props.children`) and * return an array with appropriately re-keyed children. */ function toArray(children) { var result = []; mapIntoWithKeyPrefixInternal(children, result, null, emptyFunction.thatReturnsArgument); return result; } var ReactChildren = { forEach: forEachChildren, map: mapChildren, mapIntoWithKeyPrefixInternal: mapIntoWithKeyPrefixInternal, count: countChildren, toArray: toArray }; module.exports = ReactChildren; /***/ }, /* 6 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule PooledClass */ 'use strict'; var invariant = __webpack_require__(7); /** * Static poolers. Several custom versions for each potential number of * arguments. A completely generic pooler is easy to implement, but would * require accessing the `arguments` object. In each of these, `this` refers to * the Class itself, not an instance. If any others are needed, simply add them * here, or in their own files. */ 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; !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : invariant(false) : void 0; instance.destructor(); if (Klass.instancePool.length < Klass.poolSize) { Klass.instancePool.push(instance); } }; var DEFAULT_POOL_SIZE = 10; var DEFAULT_POOLER = oneArgumentPooler; /** * Augments `CopyConstructor` to be a poolable class, augmenting only the class * itself (statically) not adding any prototypical fields. Any CopyConstructor * you give this may have a `poolSize` property, and will look for a * prototypical `destructor` on instances (optional). * * @param {Function} CopyConstructor Constructor that can be used to reset. * @param {Function} pooler Customizable pooler. */ 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; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 7 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; /** * Use invariant() to assert state which your program assumes to be true. * * Provide sprintf-style format (only %s is supported) and arguments * to provide information about what broke and what you were * expecting. * * The invariant message will be stripped in production, but the invariant * will remain to ensure logic does not differ in production. */ function invariant(condition, format, a, b, c, d, e, f) { if (process.env.NODE_ENV !== 'production') { 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(format.replace(/%s/g, function () { return args[argIndex++]; })); error.name = 'Invariant Violation'; } error.framesToPop = 1; // we don't care about invariant's own frame throw error; } } module.exports = invariant; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 8 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactElement */ 'use strict'; var _assign = __webpack_require__(4); var ReactCurrentOwner = __webpack_require__(9); var warning = __webpack_require__(10); var canDefineProperty = __webpack_require__(12); // The Symbol used to tag the ReactElement type. If there is no native Symbol // nor polyfill, then a plain number is used for performance. 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 specialPropKeyWarningShown, specialPropRefWarningShown; /** * Factory method to create a new React element. This no longer adheres to * the class pattern, so do not use new to call it. Also, no instanceof check * will work. Instead test $$typeof field against Symbol.for('react.element') to check * if something is a React Element. * * @param {*} type * @param {*} key * @param {string|object} ref * @param {*} self A *temporary* helper to detect places where `this` is * different from the `owner` when React.createElement is called, so that we * can warn. We want to get rid of owner and replace string `ref`s with arrow * functions, and as long as `this` and owner are the same, there will be no * change in behavior. * @param {*} source An annotation object (added by a transpiler or otherwise) * indicating filename, line number, and/or other information. * @param {*} owner * @param {*} props * @internal */ var ReactElement = function (type, key, ref, self, source, owner, props) { var element = { // This tag allow us to uniquely identify this as a React Element $$typeof: REACT_ELEMENT_TYPE, // Built-in properties that belong on the element type: type, key: key, ref: ref, props: props, // Record the component responsible for creating this element. _owner: owner }; if (process.env.NODE_ENV !== 'production') { // The validation flag is currently mutative. We put it on // an external backing store so that we can freeze the whole object. // This can be replaced with a WeakMap once they are implemented in // commonly used development environments. element._store = {}; // To make comparing ReactElements easier for testing purposes, we make // the validation flag non-enumerable (where possible, which should // include every environment we run tests in), so the test framework // ignores it. if (canDefineProperty) { Object.defineProperty(element._store, 'validated', { configurable: false, enumerable: false, writable: true, value: false }); // self and source are DEV only properties. Object.defineProperty(element, '_self', { configurable: false, enumerable: false, writable: false, value: self }); // Two elements created in two different places should be considered // equal for testing purposes and therefore we hide it from enumeration. Object.defineProperty(element, '_source', { configurable: false, enumerable: false, writable: false, value: source }); } else { element._store.validated = false; element._self = self; element._source = source; } if (Object.freeze) { Object.freeze(element.props); Object.freeze(element); } } return element; }; ReactElement.createElement = function (type, config, children) { var propName; // Reserved names are extracted var props = {}; var key = null; var ref = null; var self = null; var source = null; if (config != null) { if (process.env.NODE_ENV !== 'production') { ref = !config.hasOwnProperty('ref') || Object.getOwnPropertyDescriptor(config, 'ref').get ? null : config.ref; key = !config.hasOwnProperty('key') || Object.getOwnPropertyDescriptor(config, 'key').get ? null : '' + config.key; } else { 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; // Remaining properties are added to a new props object for (propName in config) { if (config.hasOwnProperty(propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { props[propName] = config[propName]; } } } // Children can be more than one argument, and those are transferred onto // the newly allocated props object. 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; } // Resolve default props if (type && type.defaultProps) { var defaultProps = type.defaultProps; for (propName in defaultProps) { if (props[propName] === undefined) { props[propName] = defaultProps[propName]; } } } if (process.env.NODE_ENV !== 'production') { // Create dummy `key` and `ref` property to `props` to warn users // against its use if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) { if (!props.hasOwnProperty('key')) { Object.defineProperty(props, 'key', { get: function () { if (!specialPropKeyWarningShown) { specialPropKeyWarningShown = true; process.env.NODE_ENV !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', typeof type === 'function' && 'displayName' in type ? type.displayName : 'Element') : void 0; } return undefined; }, configurable: true }); } if (!props.hasOwnProperty('ref')) { Object.defineProperty(props, 'ref', { get: function () { if (!specialPropRefWarningShown) { specialPropRefWarningShown = true; process.env.NODE_ENV !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', typeof type === 'function' && 'displayName' in type ? type.displayName : 'Element') : void 0; } return undefined; }, configurable: true }); } } } return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); }; ReactElement.createFactory = function (type) { var factory = ReactElement.createElement.bind(null, type); // Expose the type on the factory and the prototype so that it can be // easily accessed on elements. E.g. `.type === Foo`. // This should not be named `constructor` since this may not be the function // that created the element, and it may not even be a constructor. // Legacy hook TODO: Warn if this is accessed 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.cloneElement = function (element, config, children) { var propName; // Original props are copied var props = _assign({}, element.props); // Reserved names are extracted var key = element.key; var ref = element.ref; // Self is preserved since the owner is preserved. var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a // transpiler, and the original source is probably a better indicator of the // true owner. var source = element._source; // Owner will be preserved, unless ref is overridden var owner = element._owner; if (config != null) { if (config.ref !== undefined) { // Silently steal the ref from the parent. ref = config.ref; owner = ReactCurrentOwner.current; } if (config.key !== undefined) { key = '' + config.key; } // Remaining properties override existing props var defaultProps; if (element.type && element.type.defaultProps) { defaultProps = element.type.defaultProps; } for (propName in config) { if (config.hasOwnProperty(propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { if (config[propName] === undefined && defaultProps !== undefined) { // Resolve default props props[propName] = defaultProps[propName]; } else { props[propName] = config[propName]; } } } } // Children can be more than one argument, and those are transferred onto // the newly allocated props object. 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); }; /** * @param {?object} object * @return {boolean} True if `object` is a valid component. * @final */ ReactElement.isValidElement = function (object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; }; module.exports = ReactElement; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 9 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactCurrentOwner */ 'use strict'; /** * Keeps track of the current owner. * * The current owner is the component who should own any components that are * currently being constructed. */ var ReactCurrentOwner = { /** * @internal * @type {ReactComponent} */ current: null }; module.exports = ReactCurrentOwner; /***/ }, /* 10 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-2015, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var emptyFunction = __webpack_require__(11); /** * Similar to invariant but only logs a warning if the condition is not met. * This can be used to log issues in development environments in critical * paths. Removing the logging code for production environments will keep the * same logic and follow the same code paths. */ var warning = emptyFunction; if (process.env.NODE_ENV !== 'production') { 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; // Ignore CompositeComponent proptype check. } if (!condition) { var argIndex = 0; var message = 'Warning: ' + format.replace(/%s/g, function () { return args[argIndex++]; }); if (typeof console !== 'undefined') { console.error(message); } try { // --- Welcome to debugging React --- // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch (x) {} } }; } module.exports = warning; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 11 */ /***/ function(module, exports) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ function makeEmptyFunction(arg) { return function () { return arg; }; } /** * This function accepts and discards inputs; it has no side effects. This is * primarily useful idiomatically for overridable function endpoints which * always need to be callable, since JS lacks a null-call idiom ala Cocoa. */ 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; /***/ }, /* 12 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule canDefineProperty */ 'use strict'; var canDefineProperty = false; if (process.env.NODE_ENV !== 'production') { try { Object.defineProperty({}, 'x', { get: function () {} }); canDefineProperty = true; } catch (x) { // IE will fail on defineProperty } } module.exports = canDefineProperty; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 13 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule traverseAllChildren */ 'use strict'; var ReactCurrentOwner = __webpack_require__(9); var ReactElement = __webpack_require__(8); var getIteratorFn = __webpack_require__(14); var invariant = __webpack_require__(7); var KeyEscapeUtils = __webpack_require__(15); var warning = __webpack_require__(10); var SEPARATOR = '.'; var SUBSEPARATOR = ':'; /** * TODO: Test that a single child and an array with one item have the same key * pattern. */ var didWarnAboutMaps = false; /** * Generate a key string that identifies a component within a set. * * @param {*} component A component that could contain a manual key. * @param {number} index Index that is used if a manual key is not provided. * @return {string} */ function getComponentKey(component, index) { // Do some typechecking here since we call this blindly. We want to ensure // that we don't block potential future ES APIs. if (component && typeof component === 'object' && component.key != null) { // Explicit key return KeyEscapeUtils.escape(component.key); } // Implicit key determined by the index in the set return index.toString(36); } /** * @param {?*} children Children tree container. * @param {!string} nameSoFar Name of the key path so far. * @param {!function} callback Callback to invoke with each child found. * @param {?*} traverseContext Used to pass information throughout the traversal * process. * @return {!number} The number of children in this subtree. */ function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) { var type = typeof children; if (type === 'undefined' || type === 'boolean') { // All of the above are perceived as null. children = null; } if (children === null || type === 'string' || type === 'number' || ReactElement.isValidElement(children)) { callback(traverseContext, children, // If it's the only child, treat the name as if it was wrapped in an array // so that it's consistent if the number of children grows. nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar); return 1; } var child; var nextName; var subtreeCount = 0; // Count of children found in the current subtree. var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR; if (Array.isArray(children)) { for (var i = 0; i < children.length; i++) { child = children[i]; nextName = nextNamePrefix + getComponentKey(child, i); subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); } } else { var iteratorFn = getIteratorFn(children); if (iteratorFn) { var iterator = iteratorFn.call(children); var step; if (iteratorFn !== children.entries) { var ii = 0; while (!(step = iterator.next()).done) { child = step.value; nextName = nextNamePrefix + getComponentKey(child, ii++); subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); } } else { if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.') : void 0; didWarnAboutMaps = true; } // Iterator will provide entry [k,v] tuples rather than values. while (!(step = iterator.next()).done) { var entry = step.value; if (entry) { child = entry[1]; nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0); subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); } } } } else if (type === 'object') { var addendum = ''; if (process.env.NODE_ENV !== 'production') { addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.'; if (children._isReactElement) { addendum = ' It looks like you\'re using an element created by a different ' + 'version of React. Make sure to use only one copy of React.'; } if (ReactCurrentOwner.current) { var name = ReactCurrentOwner.current.getName(); if (name) { addendum += ' Check the render method of `' + name + '`.'; } } } var childrenString = String(children); true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : invariant(false) : void 0; } } return subtreeCount; } /** * Traverses children that are typically specified as `props.children`, but * might also be specified through attributes: * * - `traverseAllChildren(this.props.children, ...)` * - `traverseAllChildren(this.props.leftPanelChildren, ...)` * * The `traverseContext` is an optional argument that is passed through the * entire traversal. It can be used to store accumulations or anything else that * the callback might find relevant. * * @param {?*} children Children tree object. * @param {!function} callback To invoke upon traversing each child. * @param {?*} traverseContext Context for traversal. * @return {!number} The number of children in this subtree. */ function traverseAllChildren(children, callback, traverseContext) { if (children == null) { return 0; } return traverseAllChildrenImpl(children, '', callback, traverseContext); } module.exports = traverseAllChildren; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 14 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getIteratorFn */ 'use strict'; /* global Symbol */ var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. /** * Returns the iterator method function contained on the iterable object. * * Be sure to invoke the function with the iterable as context: * * var iteratorFn = getIteratorFn(myIterable); * if (iteratorFn) { * var iterator = iteratorFn.call(myIterable); * ... * } * * @param {?object} maybeIterable * @return {?function} */ function getIteratorFn(maybeIterable) { var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); if (typeof iteratorFn === 'function') { return iteratorFn; } } module.exports = getIteratorFn; /***/ }, /* 15 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule KeyEscapeUtils */ 'use strict'; /** * Escape and wrap key so it is safe to use as a reactid * * @param {*} key to be escaped. * @return {string} the escaped key. */ function escape(key) { var escapeRegex = /[=:]/g; var escaperLookup = { '=': '=0', ':': '=2' }; var escapedString = ('' + key).replace(escapeRegex, function (match) { return escaperLookup[match]; }); return '$' + escapedString; } /** * Unescape and unwrap key for human-readable display * * @param {string} key to unescape. * @return {string} the unescaped key. */ function unescape(key) { var unescapeRegex = /(=0|=2)/g; var unescaperLookup = { '=0': '=', '=2': ':' }; var keySubstring = key[0] === '.' && key[1] === '$' ? key.substring(2) : key.substring(1); return ('' + keySubstring).replace(unescapeRegex, function (match) { return unescaperLookup[match]; }); } var KeyEscapeUtils = { escape: escape, unescape: unescape }; module.exports = KeyEscapeUtils; /***/ }, /* 16 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactComponent */ 'use strict'; var ReactNoopUpdateQueue = __webpack_require__(17); var ReactInstrumentation = __webpack_require__(18); var canDefineProperty = __webpack_require__(12); var emptyObject = __webpack_require__(21); var invariant = __webpack_require__(7); var warning = __webpack_require__(10); /** * Base class helpers for the updating state of a component. */ function ReactComponent(props, context, updater) { this.props = props; this.context = context; this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the // renderer. this.updater = updater || ReactNoopUpdateQueue; } ReactComponent.prototype.isReactComponent = {}; /** * Sets a subset of the state. Always use this to mutate * state. You should treat `this.state` as immutable. * * There is no guarantee that `this.state` will be immediately updated, so * accessing `this.state` after calling this method may return the old value. * * There is no guarantee that calls to `setState` will run synchronously, * as they may eventually be batched together. You can provide an optional * callback that will be executed when the call to setState is actually * completed. * * When a function is provided to setState, it will be called at some point in * the future (not synchronously). It will be called with the up to date * component arguments (state, props, context). These values can be different * from this.* because your function may be called after receiveProps but before * shouldComponentUpdate, and this new state, props, and context will not yet be * assigned to this. * * @param {object|function} partialState Next partial state or function to * produce next partial state to be merged with current state. * @param {?function} callback Called after state is updated. * @final * @protected */ ReactComponent.prototype.setState = function (partialState, callback) { !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.') : invariant(false) : void 0; if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onSetState(); process.env.NODE_ENV !== 'production' ? warning(partialState != null, 'setState(...): You passed an undefined or null state object; ' + 'instead, use forceUpdate().') : void 0; } this.updater.enqueueSetState(this, partialState); if (callback) { this.updater.enqueueCallback(this, callback, 'setState'); } }; /** * Forces an update. This should only be invoked when it is known with * certainty that we are **not** in a DOM transaction. * * You may want to call this when you know that some deeper aspect of the * component's state has changed but `setState` was not called. * * This will not invoke `shouldComponentUpdate`, but it will invoke * `componentWillUpdate` and `componentDidUpdate`. * * @param {?function} callback Called after update is complete. * @final * @protected */ ReactComponent.prototype.forceUpdate = function (callback) { this.updater.enqueueForceUpdate(this); if (callback) { this.updater.enqueueCallback(this, callback, 'forceUpdate'); } }; /** * Deprecated APIs. These APIs used to exist on classic React classes but since * we would like to deprecate them, we're not going to move them over to this * modern base class. Instead, we define a getter that warns if it's accessed. */ if (process.env.NODE_ENV !== 'production') { var deprecatedAPIs = { isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'], replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).'] }; var defineDeprecationWarning = function (methodName, info) { if (canDefineProperty) { Object.defineProperty(ReactComponent.prototype, methodName, { get: function () { process.env.NODE_ENV !== 'production' ? warning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]) : void 0; return undefined; } }); } }; for (var fnName in deprecatedAPIs) { if (deprecatedAPIs.hasOwnProperty(fnName)) { defineDeprecationWarning(fnName, deprecatedAPIs[fnName]); } } } module.exports = ReactComponent; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 17 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactNoopUpdateQueue */ 'use strict'; var warning = __webpack_require__(10); function warnTDZ(publicInstance, callerName) { if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, publicInstance.constructor && publicInstance.constructor.displayName || '') : void 0; } } /** * This is the abstract API for an update queue. */ var ReactNoopUpdateQueue = { /** * Checks whether or not this composite component is mounted. * @param {ReactClass} publicInstance The instance we want to test. * @return {boolean} True if mounted, false otherwise. * @protected * @final */ isMounted: function (publicInstance) { return false; }, /** * Enqueue a callback that will be executed after all the pending updates * have processed. * * @param {ReactClass} publicInstance The instance to use as `this` context. * @param {?function} callback Called after state is updated. * @internal */ enqueueCallback: function (publicInstance, callback) {}, /** * Forces an update. This should only be invoked when it is known with * certainty that we are **not** in a DOM transaction. * * You may want to call this when you know that some deeper aspect of the * component's state has changed but `setState` was not called. * * This will not invoke `shouldComponentUpdate`, but it will invoke * `componentWillUpdate` and `componentDidUpdate`. * * @param {ReactClass} publicInstance The instance that should rerender. * @internal */ enqueueForceUpdate: function (publicInstance) { warnTDZ(publicInstance, 'forceUpdate'); }, /** * Replaces all of the state. Always use this or `setState` to mutate state. * You should treat `this.state` as immutable. * * There is no guarantee that `this.state` will be immediately updated, so * accessing `this.state` after calling this method may return the old value. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {object} completeState Next state. * @internal */ enqueueReplaceState: function (publicInstance, completeState) { warnTDZ(publicInstance, 'replaceState'); }, /** * Sets a subset of the state. This only exists because _pendingState is * internal. This provides a merging strategy that is not available to deep * properties which is confusing. TODO: Expose pendingState or don't use it * during the merge. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {object} partialState Next partial state to be merged with state. * @internal */ enqueueSetState: function (publicInstance, partialState) { warnTDZ(publicInstance, 'setState'); } }; module.exports = ReactNoopUpdateQueue; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 18 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactInstrumentation */ 'use strict'; var ReactDebugTool = __webpack_require__(19); module.exports = { debugTool: ReactDebugTool }; /***/ }, /* 19 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDebugTool */ 'use strict'; var ReactInvalidSetStateWarningDevTool = __webpack_require__(20); var warning = __webpack_require__(10); var eventHandlers = []; var handlerDoesThrowForEvent = {}; function emitEvent(handlerFunctionName, arg1, arg2, arg3, arg4, arg5) { if (process.env.NODE_ENV !== 'production') { eventHandlers.forEach(function (handler) { try { if (handler[handlerFunctionName]) { handler[handlerFunctionName](arg1, arg2, arg3, arg4, arg5); } } catch (e) { process.env.NODE_ENV !== 'production' ? warning(!handlerDoesThrowForEvent[handlerFunctionName], 'exception thrown by devtool while handling %s: %s', handlerFunctionName, e.message) : void 0; handlerDoesThrowForEvent[handlerFunctionName] = true; } }); } } var ReactDebugTool = { addDevtool: function (devtool) { eventHandlers.push(devtool); }, removeDevtool: function (devtool) { for (var i = 0; i < eventHandlers.length; i++) { if (eventHandlers[i] === devtool) { eventHandlers.splice(i, 1); i--; } } }, onBeginProcessingChildContext: function () { emitEvent('onBeginProcessingChildContext'); }, onEndProcessingChildContext: function () { emitEvent('onEndProcessingChildContext'); }, onSetState: function () { emitEvent('onSetState'); }, onMountRootComponent: function (internalInstance) { emitEvent('onMountRootComponent', internalInstance); }, onMountComponent: function (internalInstance) { emitEvent('onMountComponent', internalInstance); }, onUpdateComponent: function (internalInstance) { emitEvent('onUpdateComponent', internalInstance); }, onUnmountComponent: function (internalInstance) { emitEvent('onUnmountComponent', internalInstance); } }; ReactDebugTool.addDevtool(ReactInvalidSetStateWarningDevTool); module.exports = ReactDebugTool; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 20 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactInvalidSetStateWarningDevTool */ 'use strict'; var warning = __webpack_require__(10); if (process.env.NODE_ENV !== 'production') { var processingChildContext = false; var warnInvalidSetState = function () { process.env.NODE_ENV !== 'production' ? warning(!processingChildContext, 'setState(...): Cannot call setState() inside getChildContext()') : void 0; }; } var ReactInvalidSetStateWarningDevTool = { onBeginProcessingChildContext: function () { processingChildContext = true; }, onEndProcessingChildContext: function () { processingChildContext = false; }, onSetState: function () { warnInvalidSetState(); } }; module.exports = ReactInvalidSetStateWarningDevTool; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 21 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var emptyObject = {}; if (process.env.NODE_ENV !== 'production') { Object.freeze(emptyObject); } module.exports = emptyObject; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 22 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactClass */ 'use strict'; var _assign = __webpack_require__(4); var ReactComponent = __webpack_require__(16); var ReactElement = __webpack_require__(8); var ReactPropTypeLocations = __webpack_require__(23); var ReactPropTypeLocationNames = __webpack_require__(25); var ReactNoopUpdateQueue = __webpack_require__(17); var emptyObject = __webpack_require__(21); var invariant = __webpack_require__(7); var keyMirror = __webpack_require__(24); var keyOf = __webpack_require__(26); var warning = __webpack_require__(10); var MIXINS_KEY = keyOf({ mixins: null }); /** * Policies that describe methods in `ReactClassInterface`. */ var SpecPolicy = keyMirror({ /** * These methods may be defined only once by the class specification or mixin. */ DEFINE_ONCE: null, /** * These methods may be defined by both the class specification and mixins. * Subsequent definitions will be chained. These methods must return void. */ DEFINE_MANY: null, /** * These methods are overriding the base class. */ OVERRIDE_BASE: null, /** * These methods are similar to DEFINE_MANY, except we assume they return * objects. We try to merge the keys of the return values of all the mixed in * functions. If there is a key conflict we throw. */ DEFINE_MANY_MERGED: null }); var injectedMixins = []; /** * Composite components are higher-level components that compose other composite * or native components. * * To create a new type of `ReactClass`, pass a specification of * your new class to `React.createClass`. The only requirement of your class * specification is that you implement a `render` method. * * var MyComponent = React.createClass({ * render: function() { * return
    Hello World
    ; * } * }); * * The class specification supports a specific protocol of methods that have * special meaning (e.g. `render`). See `ReactClassInterface` for * more the comprehensive protocol. Any other properties and methods in the * class specification will be available on the prototype. * * @interface ReactClassInterface * @internal */ var ReactClassInterface = { /** * An array of Mixin objects to include when defining your component. * * @type {array} * @optional */ mixins: SpecPolicy.DEFINE_MANY, /** * An object containing properties and methods that should be defined on * the component's constructor instead of its prototype (static methods). * * @type {object} * @optional */ statics: SpecPolicy.DEFINE_MANY, /** * Definition of prop types for this component. * * @type {object} * @optional */ propTypes: SpecPolicy.DEFINE_MANY, /** * Definition of context types for this component. * * @type {object} * @optional */ contextTypes: SpecPolicy.DEFINE_MANY, /** * Definition of context types this component sets for its children. * * @type {object} * @optional */ childContextTypes: SpecPolicy.DEFINE_MANY, // ==== Definition methods ==== /** * Invoked when the component is mounted. Values in the mapping will be set on * `this.props` if that prop is not specified (i.e. using an `in` check). * * This method is invoked before `getInitialState` and therefore cannot rely * on `this.state` or use `this.setState`. * * @return {object} * @optional */ getDefaultProps: SpecPolicy.DEFINE_MANY_MERGED, /** * Invoked once before the component is mounted. The return value will be used * as the initial value of `this.state`. * * getInitialState: function() { * return { * isOn: false, * fooBaz: new BazFoo() * } * } * * @return {object} * @optional */ getInitialState: SpecPolicy.DEFINE_MANY_MERGED, /** * @return {object} * @optional */ getChildContext: SpecPolicy.DEFINE_MANY_MERGED, /** * Uses props from `this.props` and state from `this.state` to render the * structure of the component. * * No guarantees are made about when or how often this method is invoked, so * it must not have side effects. * * render: function() { * var name = this.props.name; * return
    Hello, {name}!
    ; * } * * @return {ReactComponent} * @nosideeffects * @required */ render: SpecPolicy.DEFINE_ONCE, // ==== Delegate methods ==== /** * Invoked when the component is initially created and about to be mounted. * This may have side effects, but any external subscriptions or data created * by this method must be cleaned up in `componentWillUnmount`. * * @optional */ componentWillMount: SpecPolicy.DEFINE_MANY, /** * Invoked when the component has been mounted and has a DOM representation. * However, there is no guarantee that the DOM node is in the document. * * Use this as an opportunity to operate on the DOM when the component has * been mounted (initialized and rendered) for the first time. * * @param {DOMElement} rootNode DOM element representing the component. * @optional */ componentDidMount: SpecPolicy.DEFINE_MANY, /** * Invoked before the component receives new props. * * Use this as an opportunity to react to a prop transition by updating the * state using `this.setState`. Current props are accessed via `this.props`. * * componentWillReceiveProps: function(nextProps, nextContext) { * this.setState({ * likesIncreasing: nextProps.likeCount > this.props.likeCount * }); * } * * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop * transition may cause a state change, but the opposite is not true. If you * need it, you are probably looking for `componentWillUpdate`. * * @param {object} nextProps * @optional */ componentWillReceiveProps: SpecPolicy.DEFINE_MANY, /** * Invoked while deciding if the component should be updated as a result of * receiving new props, state and/or context. * * Use this as an opportunity to `return false` when you're certain that the * transition to the new props/state/context will not require a component * update. * * shouldComponentUpdate: function(nextProps, nextState, nextContext) { * return !equal(nextProps, this.props) || * !equal(nextState, this.state) || * !equal(nextContext, this.context); * } * * @param {object} nextProps * @param {?object} nextState * @param {?object} nextContext * @return {boolean} True if the component should update. * @optional */ shouldComponentUpdate: SpecPolicy.DEFINE_ONCE, /** * Invoked when the component is about to update due to a transition from * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState` * and `nextContext`. * * Use this as an opportunity to perform preparation before an update occurs. * * NOTE: You **cannot** use `this.setState()` in this method. * * @param {object} nextProps * @param {?object} nextState * @param {?object} nextContext * @param {ReactReconcileTransaction} transaction * @optional */ componentWillUpdate: SpecPolicy.DEFINE_MANY, /** * Invoked when the component's DOM representation has been updated. * * Use this as an opportunity to operate on the DOM when the component has * been updated. * * @param {object} prevProps * @param {?object} prevState * @param {?object} prevContext * @param {DOMElement} rootNode DOM element representing the component. * @optional */ componentDidUpdate: SpecPolicy.DEFINE_MANY, /** * Invoked when the component is about to be removed from its parent and have * its DOM representation destroyed. * * Use this as an opportunity to deallocate any external resources. * * NOTE: There is no `componentDidUnmount` since your component will have been * destroyed by that point. * * @optional */ componentWillUnmount: SpecPolicy.DEFINE_MANY, // ==== Advanced methods ==== /** * Updates the component's currently mounted DOM representation. * * By default, this implements React's rendering and reconciliation algorithm. * Sophisticated clients may wish to override this. * * @param {ReactReconcileTransaction} transaction * @internal * @overridable */ updateComponent: SpecPolicy.OVERRIDE_BASE }; /** * Mapping from class specification keys to special processing functions. * * Although these are declared like instance properties in the specification * when defining classes using `React.createClass`, they are actually static * and are accessible on the constructor instead of the prototype. Despite * being static, they must be defined outside of the "statics" key under * which all other static methods are defined. */ var RESERVED_SPEC_KEYS = { displayName: function (Constructor, displayName) { Constructor.displayName = displayName; }, mixins: function (Constructor, mixins) { if (mixins) { for (var i = 0; i < mixins.length; i++) { mixSpecIntoComponent(Constructor, mixins[i]); } } }, childContextTypes: function (Constructor, childContextTypes) { if (process.env.NODE_ENV !== 'production') { validateTypeDef(Constructor, childContextTypes, ReactPropTypeLocations.childContext); } Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, childContextTypes); }, contextTypes: function (Constructor, contextTypes) { if (process.env.NODE_ENV !== 'production') { validateTypeDef(Constructor, contextTypes, ReactPropTypeLocations.context); } Constructor.contextTypes = _assign({}, Constructor.contextTypes, contextTypes); }, /** * Special case getDefaultProps which should move into statics but requires * automatic merging. */ getDefaultProps: function (Constructor, getDefaultProps) { if (Constructor.getDefaultProps) { Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps); } else { Constructor.getDefaultProps = getDefaultProps; } }, propTypes: function (Constructor, propTypes) { if (process.env.NODE_ENV !== 'production') { validateTypeDef(Constructor, propTypes, ReactPropTypeLocations.prop); } Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes); }, statics: function (Constructor, statics) { mixStaticSpecIntoComponent(Constructor, statics); }, autobind: function () {} }; // noop function validateTypeDef(Constructor, typeDef, location) { for (var propName in typeDef) { if (typeDef.hasOwnProperty(propName)) { // use a warning instead of an invariant so components // don't show up in prod but only in __DEV__ process.env.NODE_ENV !== 'production' ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : void 0; } } } function validateMethodOverride(isAlreadyDefined, name) { var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null; // Disallow overriding of base class methods unless explicitly allowed. if (ReactClassMixin.hasOwnProperty(name)) { !(specPolicy === SpecPolicy.OVERRIDE_BASE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to override ' + '`%s` from your class specification. Ensure that your method names ' + 'do not overlap with React methods.', name) : invariant(false) : void 0; } // Disallow defining methods more than once unless explicitly allowed. if (isAlreadyDefined) { !(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to define ' + '`%s` on your component more than once. This conflict may be due ' + 'to a mixin.', name) : invariant(false) : void 0; } } /** * Mixin helper which handles policy validation and reserved * specification keys when building React classes. */ function mixSpecIntoComponent(Constructor, spec) { if (!spec) { return; } !(typeof spec !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to ' + 'use a component class or function as a mixin. Instead, just use a ' + 'regular object.') : invariant(false) : void 0; !!ReactElement.isValidElement(spec) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to ' + 'use a component as a mixin. Instead, just use a regular object.') : invariant(false) : void 0; var proto = Constructor.prototype; var autoBindPairs = proto.__reactAutoBindPairs; // By handling mixins before any other properties, we ensure the same // chaining order is applied to methods with DEFINE_MANY policy, whether // mixins are listed before or after these methods in the spec. if (spec.hasOwnProperty(MIXINS_KEY)) { RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins); } for (var name in spec) { if (!spec.hasOwnProperty(name)) { continue; } if (name === MIXINS_KEY) { // We have already handled mixins in a special case above. continue; } var property = spec[name]; var isAlreadyDefined = proto.hasOwnProperty(name); validateMethodOverride(isAlreadyDefined, name); if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) { RESERVED_SPEC_KEYS[name](Constructor, property); } else { // Setup methods on prototype: // The following member methods should not be automatically bound: // 1. Expected ReactClass methods (in the "interface"). // 2. Overridden methods (that were mixed in). var isReactClassMethod = ReactClassInterface.hasOwnProperty(name); var isFunction = typeof property === 'function'; var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false; if (shouldAutoBind) { autoBindPairs.push(name, property); proto[name] = property; } else { if (isAlreadyDefined) { var specPolicy = ReactClassInterface[name]; // These cases should already be caught by validateMethodOverride. !(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name) : invariant(false) : void 0; // For methods which are defined more than once, call the existing // methods before calling the new property, merging if appropriate. if (specPolicy === SpecPolicy.DEFINE_MANY_MERGED) { proto[name] = createMergedResultFunction(proto[name], property); } else if (specPolicy === SpecPolicy.DEFINE_MANY) { proto[name] = createChainedFunction(proto[name], property); } } else { proto[name] = property; if (process.env.NODE_ENV !== 'production') { // Add verbose displayName to the function, which helps when looking // at profiling tools. if (typeof property === 'function' && spec.displayName) { proto[name].displayName = spec.displayName + '_' + name; } } } } } } } function mixStaticSpecIntoComponent(Constructor, statics) { if (!statics) { return; } for (var name in statics) { var property = statics[name]; if (!statics.hasOwnProperty(name)) { continue; } var isReserved = name in RESERVED_SPEC_KEYS; !!isReserved ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define a reserved ' + 'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' + 'as an instance property instead; it will still be accessible on the ' + 'constructor.', name) : invariant(false) : void 0; var isInherited = name in Constructor; !!isInherited ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define ' + '`%s` on your component more than once. This conflict may be ' + 'due to a mixin.', name) : invariant(false) : void 0; Constructor[name] = property; } } /** * Merge two objects, but throw if both contain the same key. * * @param {object} one The first object, which is mutated. * @param {object} two The second object * @return {object} one after it has been mutated to contain everything in two. */ function mergeIntoWithNoDuplicateKeys(one, two) { !(one && two && typeof one === 'object' && typeof two === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : invariant(false) : void 0; for (var key in two) { if (two.hasOwnProperty(key)) { !(one[key] === undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): ' + 'Tried to merge two objects with the same key: `%s`. This conflict ' + 'may be due to a mixin; in particular, this may be caused by two ' + 'getInitialState() or getDefaultProps() methods returning objects ' + 'with clashing keys.', key) : invariant(false) : void 0; one[key] = two[key]; } } return one; } /** * Creates a function that invokes two functions and merges their return values. * * @param {function} one Function to invoke first. * @param {function} two Function to invoke second. * @return {function} Function that invokes the two argument functions. * @private */ function createMergedResultFunction(one, two) { return function mergedResult() { var a = one.apply(this, arguments); var b = two.apply(this, arguments); if (a == null) { return b; } else if (b == null) { return a; } var c = {}; mergeIntoWithNoDuplicateKeys(c, a); mergeIntoWithNoDuplicateKeys(c, b); return c; }; } /** * Creates a function that invokes two functions and ignores their return vales. * * @param {function} one Function to invoke first. * @param {function} two Function to invoke second. * @return {function} Function that invokes the two argument functions. * @private */ function createChainedFunction(one, two) { return function chainedFunction() { one.apply(this, arguments); two.apply(this, arguments); }; } /** * Binds a method to the component. * * @param {object} component Component whose method is going to be bound. * @param {function} method Method to be bound. * @return {function} The bound method. */ function bindAutoBindMethod(component, method) { var boundMethod = method.bind(component); if (process.env.NODE_ENV !== 'production') { boundMethod.__reactBoundContext = component; boundMethod.__reactBoundMethod = method; boundMethod.__reactBoundArguments = null; var componentName = component.constructor.displayName; var _bind = boundMethod.bind; boundMethod.bind = function (newThis) { for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } // User is trying to bind() an autobound method; we effectively will // ignore the value of "this" that the user is trying to use, so // let's warn. if (newThis !== component && newThis !== null) { process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : void 0; } else if (!args.length) { process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : void 0; return boundMethod; } var reboundMethod = _bind.apply(boundMethod, arguments); reboundMethod.__reactBoundContext = component; reboundMethod.__reactBoundMethod = method; reboundMethod.__reactBoundArguments = args; return reboundMethod; }; } return boundMethod; } /** * Binds all auto-bound methods in a component. * * @param {object} component Component whose method is going to be bound. */ function bindAutoBindMethods(component) { var pairs = component.__reactAutoBindPairs; for (var i = 0; i < pairs.length; i += 2) { var autoBindKey = pairs[i]; var method = pairs[i + 1]; component[autoBindKey] = bindAutoBindMethod(component, method); } } /** * Add more to the ReactClass base class. These are all legacy features and * therefore not already part of the modern ReactComponent. */ var ReactClassMixin = { /** * TODO: This will be deprecated because state should always keep a consistent * type signature and the only use case for this, is to avoid that. */ replaceState: function (newState, callback) { this.updater.enqueueReplaceState(this, newState); if (callback) { this.updater.enqueueCallback(this, callback, 'replaceState'); } }, /** * Checks whether or not this composite component is mounted. * @return {boolean} True if mounted, false otherwise. * @protected * @final */ isMounted: function () { return this.updater.isMounted(this); } }; var ReactClassComponent = function () {}; _assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin); /** * Module for creating composite components. * * @class ReactClass */ var ReactClass = { /** * Creates a composite component class given a class specification. * * @param {object} spec Class specification (which must define `render`). * @return {function} Component constructor function. * @public */ createClass: function (spec) { var Constructor = function (props, context, updater) { // This constructor gets overridden by mocks. The argument is used // by mocks to assert on what gets mounted. if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : void 0; } // Wire up auto-binding if (this.__reactAutoBindPairs.length) { bindAutoBindMethods(this); } this.props = props; this.context = context; this.refs = emptyObject; this.updater = updater || ReactNoopUpdateQueue; this.state = null; // ReactClasses doesn't have constructors. Instead, they use the // getInitialState and componentWillMount methods for initialization. var initialState = this.getInitialState ? this.getInitialState() : null; if (process.env.NODE_ENV !== 'production') { // We allow auto-mocks to proceed as if they're returning null. if (initialState === undefined && this.getInitialState._isMockFunction) { // This is probably bad practice. Consider warning here and // deprecating this convenience. initialState = null; } } !(typeof initialState === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : invariant(false) : void 0; this.state = initialState; }; Constructor.prototype = new ReactClassComponent(); Constructor.prototype.constructor = Constructor; Constructor.prototype.__reactAutoBindPairs = []; injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor)); mixSpecIntoComponent(Constructor, spec); // Initialize the defaultProps property after all mixins have been merged. if (Constructor.getDefaultProps) { Constructor.defaultProps = Constructor.getDefaultProps(); } if (process.env.NODE_ENV !== 'production') { // This is a tag to indicate that the use of these method names is ok, // since it's used with createClass. If it's not, then it's likely a // mistake so we'll warn you to use the static property, property // initializer or constructor respectively. if (Constructor.getDefaultProps) { Constructor.getDefaultProps.isReactClassApproved = {}; } if (Constructor.prototype.getInitialState) { Constructor.prototype.getInitialState.isReactClassApproved = {}; } } !Constructor.prototype.render ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createClass(...): Class specification must implement a `render` method.') : invariant(false) : void 0; if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component') : void 0; process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component') : void 0; } // Reduce time spent doing lookups by setting these on the prototype. for (var methodName in ReactClassInterface) { if (!Constructor.prototype[methodName]) { Constructor.prototype[methodName] = null; } } return Constructor; }, injection: { injectMixin: function (mixin) { injectedMixins.push(mixin); } } }; module.exports = ReactClass; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 23 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPropTypeLocations */ 'use strict'; var keyMirror = __webpack_require__(24); var ReactPropTypeLocations = keyMirror({ prop: null, context: null, childContext: null }); module.exports = ReactPropTypeLocations; /***/ }, /* 24 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @typechecks static-only */ 'use strict'; var invariant = __webpack_require__(7); /** * Constructs an enumeration with keys equal to their value. * * For example: * * var COLORS = keyMirror({blue: null, red: null}); * var myColor = COLORS.blue; * var isColorValid = !!COLORS[myColor]; * * The last line could not be performed if the values of the generated enum were * not equal to their keys. * * Input: {key1: val1, key2: val2} * Output: {key1: key1, key2: key2} * * @param {object} obj * @return {object} */ var keyMirror = function (obj) { var ret = {}; var key; !(obj instanceof Object && !Array.isArray(obj)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'keyMirror(...): Argument must be an object.') : invariant(false) : void 0; for (key in obj) { if (!obj.hasOwnProperty(key)) { continue; } ret[key] = key; } return ret; }; module.exports = keyMirror; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 25 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPropTypeLocationNames */ 'use strict'; var ReactPropTypeLocationNames = {}; if (process.env.NODE_ENV !== 'production') { ReactPropTypeLocationNames = { prop: 'prop', context: 'context', childContext: 'child context' }; } module.exports = ReactPropTypeLocationNames; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 26 */ /***/ function(module, exports) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ /** * Allows extraction of a minified key. Let's the build system minify keys * without losing the ability to dynamically use key strings as values * themselves. Pass in an object with a single key/val pair and it will return * you the string key of that single record. Suppose you want to grab the * value for a key 'className' inside of an object. Key/val minification may * have aliased that key to be 'xa12'. keyOf({className: null}) will return * 'xa12' in that case. Resolve keys you want to use once at startup time, then * reuse those resolutions. */ var keyOf = function (oneKeyObj) { var key; for (key in oneKeyObj) { if (!oneKeyObj.hasOwnProperty(key)) { continue; } return key; } return null; }; module.exports = keyOf; /***/ }, /* 27 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOMFactories */ 'use strict'; var ReactElement = __webpack_require__(8); var ReactElementValidator = __webpack_require__(28); var mapObject = __webpack_require__(29); /** * Create a factory that creates HTML tag elements. * * @param {string} tag Tag name (e.g. `div`). * @private */ function createDOMFactory(tag) { if (process.env.NODE_ENV !== 'production') { return ReactElementValidator.createFactory(tag); } return ReactElement.createFactory(tag); } /** * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes. * This is also accessible via `React.DOM`. * * @public */ var ReactDOMFactories = mapObject({ a: 'a', abbr: 'abbr', address: 'address', area: 'area', article: 'article', aside: 'aside', audio: 'audio', b: 'b', base: 'base', bdi: 'bdi', bdo: 'bdo', big: 'big', blockquote: 'blockquote', body: 'body', br: 'br', button: 'button', canvas: 'canvas', caption: 'caption', cite: 'cite', code: 'code', col: 'col', colgroup: 'colgroup', data: 'data', datalist: 'datalist', dd: 'dd', del: 'del', details: 'details', dfn: 'dfn', dialog: 'dialog', div: 'div', dl: 'dl', dt: 'dt', em: 'em', embed: 'embed', fieldset: 'fieldset', figcaption: 'figcaption', figure: 'figure', footer: 'footer', form: 'form', h1: 'h1', h2: 'h2', h3: 'h3', h4: 'h4', h5: 'h5', h6: 'h6', head: 'head', header: 'header', hgroup: 'hgroup', hr: 'hr', html: 'html', i: 'i', iframe: 'iframe', img: 'img', input: 'input', ins: 'ins', kbd: 'kbd', keygen: 'keygen', label: 'label', legend: 'legend', li: 'li', link: 'link', main: 'main', map: 'map', mark: 'mark', menu: 'menu', menuitem: 'menuitem', meta: 'meta', meter: 'meter', nav: 'nav', noscript: 'noscript', object: 'object', ol: 'ol', optgroup: 'optgroup', option: 'option', output: 'output', p: 'p', param: 'param', picture: 'picture', pre: 'pre', progress: 'progress', q: 'q', rp: 'rp', rt: 'rt', ruby: 'ruby', s: 's', samp: 'samp', script: 'script', section: 'section', select: 'select', small: 'small', source: 'source', span: 'span', strong: 'strong', style: 'style', sub: 'sub', summary: 'summary', sup: 'sup', table: 'table', tbody: 'tbody', td: 'td', textarea: 'textarea', tfoot: 'tfoot', th: 'th', thead: 'thead', time: 'time', title: 'title', tr: 'tr', track: 'track', u: 'u', ul: 'ul', 'var': 'var', video: 'video', wbr: 'wbr', // SVG circle: 'circle', clipPath: 'clipPath', defs: 'defs', ellipse: 'ellipse', g: 'g', image: 'image', line: 'line', linearGradient: 'linearGradient', mask: 'mask', path: 'path', pattern: 'pattern', polygon: 'polygon', polyline: 'polyline', radialGradient: 'radialGradient', rect: 'rect', stop: 'stop', svg: 'svg', text: 'text', tspan: 'tspan' }, createDOMFactory); module.exports = ReactDOMFactories; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 28 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactElementValidator */ /** * ReactElementValidator provides a wrapper around a element factory * which validates the props passed to the element. This is intended to be * used only in DEV and could be replaced by a static type checker for languages * that support it. */ 'use strict'; var ReactElement = __webpack_require__(8); var ReactPropTypeLocations = __webpack_require__(23); var ReactPropTypeLocationNames = __webpack_require__(25); var ReactCurrentOwner = __webpack_require__(9); var canDefineProperty = __webpack_require__(12); var getIteratorFn = __webpack_require__(14); var invariant = __webpack_require__(7); var warning = __webpack_require__(10); function getDeclarationErrorAddendum() { if (ReactCurrentOwner.current) { var name = ReactCurrentOwner.current.getName(); if (name) { return ' Check the render method of `' + name + '`.'; } } return ''; } /** * Warn if there's no key explicitly set on dynamic arrays of children or * object keys are not valid. This allows us to keep track of children between * updates. */ var ownerHasKeyUseWarning = {}; var loggedTypeFailures = {}; /** * Warn if the element doesn't have an explicit key assigned to it. * This element is in an array. The array could grow and shrink or be * reordered. All children that haven't already been validated are required to * have a "key" property assigned to it. * * @internal * @param {ReactElement} element Element that requires a key. * @param {*} parentType element's parent's type. */ function validateExplicitKey(element, parentType) { if (!element._store || element._store.validated || element.key != null) { return; } element._store.validated = true; var addenda = getAddendaForKeyUse('uniqueKey', element, parentType); if (addenda === null) { // we already showed the warning return; } process.env.NODE_ENV !== 'production' ? warning(false, 'Each child in an array or iterator should have a unique "key" prop.' + '%s%s%s', addenda.parentOrOwner || '', addenda.childOwner || '', addenda.url || '') : void 0; } /** * Shared warning and monitoring code for the key warnings. * * @internal * @param {string} messageType A key used for de-duping warnings. * @param {ReactElement} element Component that requires a key. * @param {*} parentType element's parent's type. * @returns {?object} A set of addenda to use in the warning message, or null * if the warning has already been shown before (and shouldn't be shown again). */ function getAddendaForKeyUse(messageType, element, parentType) { var addendum = getDeclarationErrorAddendum(); if (!addendum) { var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name; if (parentName) { addendum = ' Check the top-level render call using <' + parentName + '>.'; } } var memoizer = ownerHasKeyUseWarning[messageType] || (ownerHasKeyUseWarning[messageType] = {}); if (memoizer[addendum]) { return null; } memoizer[addendum] = true; var addenda = { parentOrOwner: addendum, url: ' See https://fb.me/react-warning-keys for more information.', childOwner: null }; // Usually the current owner is the offender, but if it accepts children as a // property, it may be the creator of the child that's responsible for // assigning it a key. if (element && element._owner && element._owner !== ReactCurrentOwner.current) { // Give the component that originally created this child. addenda.childOwner = ' It was passed a child from ' + element._owner.getName() + '.'; } return addenda; } /** * Ensure that every element either is passed in a static location, in an * array with an explicit keys property defined, or in an object literal * with valid key property. * * @internal * @param {ReactNode} node Statically passed child of any type. * @param {*} parentType node's parent's type. */ function validateChildKeys(node, parentType) { if (typeof node !== 'object') { return; } if (Array.isArray(node)) { for (var i = 0; i < node.length; i++) { var child = node[i]; if (ReactElement.isValidElement(child)) { validateExplicitKey(child, parentType); } } } else if (ReactElement.isValidElement(node)) { // This element was passed in a valid location. if (node._store) { node._store.validated = true; } } else if (node) { var iteratorFn = getIteratorFn(node); // Entry iterators provide implicit keys. if (iteratorFn) { if (iteratorFn !== node.entries) { var iterator = iteratorFn.call(node); var step; while (!(step = iterator.next()).done) { if (ReactElement.isValidElement(step.value)) { validateExplicitKey(step.value, parentType); } } } } } } /** * Assert that the props are valid * * @param {string} componentName Name of the component for error messages. * @param {object} propTypes Map of prop name to a ReactPropType * @param {object} props * @param {string} location e.g. "prop", "context", "child context" * @private */ function checkPropTypes(componentName, propTypes, props, location) { for (var propName in propTypes) { if (propTypes.hasOwnProperty(propName)) { var error; // Prop type validation may throw. In case they do, we don't want to // fail the render phase where it didn't fail before. So we log it. // After these have been cleaned up, we'll let them throw. try { // This is intentionally an invariant that gets caught. It's the same // behavior as without this statement except with a better message. !(typeof propTypes[propName] === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], propName) : invariant(false) : void 0; error = propTypes[propName](props, propName, componentName, location); } catch (ex) { error = ex; } process.env.NODE_ENV !== 'production' ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', ReactPropTypeLocationNames[location], propName, typeof error) : void 0; if (error instanceof Error && !(error.message in loggedTypeFailures)) { // Only monitor this failure once because there tends to be a lot of the // same error. loggedTypeFailures[error.message] = true; var addendum = getDeclarationErrorAddendum(); process.env.NODE_ENV !== 'production' ? warning(false, 'Failed propType: %s%s', error.message, addendum) : void 0; } } } } /** * Given an element, validate that its props follow the propTypes definition, * provided by the type. * * @param {ReactElement} element */ function validatePropTypes(element) { var componentClass = element.type; if (typeof componentClass !== 'function') { return; } var name = componentClass.displayName || componentClass.name; if (componentClass.propTypes) { checkPropTypes(name, componentClass.propTypes, element.props, ReactPropTypeLocations.prop); } if (typeof componentClass.getDefaultProps === 'function') { process.env.NODE_ENV !== 'production' ? warning(componentClass.getDefaultProps.isReactClassApproved, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : void 0; } } var ReactElementValidator = { createElement: function (type, props, children) { var validType = typeof type === 'string' || typeof type === 'function'; // We warn in this case but don't throw. We expect the element creation to // succeed and there will likely be errors in render. process.env.NODE_ENV !== 'production' ? warning(validType, 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : void 0; var element = ReactElement.createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used. // TODO: Drop this when these are no longer allowed as the type argument. if (element == null) { return element; } // Skip key warning if the type isn't valid since our key validation logic // doesn't expect a non-string/function type and can throw confusing errors. // We don't want exception behavior to differ between dev and prod. // (Rendering will throw with a helpful message and as soon as the type is // fixed, the key warnings will appear.) if (validType) { for (var i = 2; i < arguments.length; i++) { validateChildKeys(arguments[i], type); } } validatePropTypes(element); return element; }, createFactory: function (type) { var validatedFactory = ReactElementValidator.createElement.bind(null, type); // Legacy hook TODO: Warn if this is accessed validatedFactory.type = type; if (process.env.NODE_ENV !== 'production') { if (canDefineProperty) { Object.defineProperty(validatedFactory, 'type', { enumerable: false, get: function () { process.env.NODE_ENV !== 'production' ? warning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.') : void 0; Object.defineProperty(this, 'type', { value: type }); return type; } }); } } return validatedFactory; }, cloneElement: function (element, props, children) { var newElement = ReactElement.cloneElement.apply(this, arguments); for (var i = 2; i < arguments.length; i++) { validateChildKeys(arguments[i], newElement.type); } validatePropTypes(newElement); return newElement; } }; module.exports = ReactElementValidator; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 29 */ /***/ function(module, exports) { /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var hasOwnProperty = Object.prototype.hasOwnProperty; /** * Executes the provided `callback` once for each enumerable own property in the * object and constructs a new object from the results. The `callback` is * invoked with three arguments: * * - the property value * - the property name * - the object being traversed * * Properties that are added after the call to `mapObject` will not be visited * by `callback`. If the values of existing properties are changed, the value * passed to `callback` will be the value at the time `mapObject` visits them. * Properties that are deleted before being visited are not visited. * * @grep function objectMap() * @grep function objMap() * * @param {?object} object * @param {function} callback * @param {*} context * @return {?object} */ function mapObject(object, callback, context) { if (!object) { return null; } var result = {}; for (var name in object) { if (hasOwnProperty.call(object, name)) { result[name] = callback.call(context, object[name], name, object); } } return result; } module.exports = mapObject; /***/ }, /* 30 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPropTypes */ 'use strict'; var ReactElement = __webpack_require__(8); var ReactPropTypeLocationNames = __webpack_require__(25); var emptyFunction = __webpack_require__(11); var getIteratorFn = __webpack_require__(14); /** * Collection of methods that allow declaration and validation of props that are * supplied to React components. Example usage: * * var Props = require('ReactPropTypes'); * var MyArticle = React.createClass({ * propTypes: { * // An optional string prop named "description". * description: Props.string, * * // A required enum prop named "category". * category: Props.oneOf(['News','Photos']).isRequired, * * // A prop named "dialog" that requires an instance of Dialog. * dialog: Props.instanceOf(Dialog).isRequired * }, * render: function() { ... } * }); * * A more formal specification of how these methods are used: * * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) * decl := ReactPropTypes.{type}(.isRequired)? * * Each and every declaration produces a function with the same signature. This * allows the creation of custom validation functions. For example: * * var MyLink = React.createClass({ * propTypes: { * // An optional string or URI prop named "href". * href: function(props, propName, componentName) { * var propValue = props[propName]; * if (propValue != null && typeof propValue !== 'string' && * !(propValue instanceof URI)) { * return new Error( * 'Expected a string or an URI for ' + propName + ' in ' + * componentName * ); * } * } * }, * render: function() {...} * }); * * @internal */ var ANONYMOUS = '<>'; var ReactPropTypes = { array: createPrimitiveTypeChecker('array'), bool: createPrimitiveTypeChecker('boolean'), func: createPrimitiveTypeChecker('function'), number: createPrimitiveTypeChecker('number'), object: createPrimitiveTypeChecker('object'), string: createPrimitiveTypeChecker('string'), any: createAnyTypeChecker(), arrayOf: createArrayOfTypeChecker, element: createElementTypeChecker(), instanceOf: createInstanceTypeChecker, node: createNodeChecker(), objectOf: createObjectOfTypeChecker, oneOf: createEnumTypeChecker, oneOfType: createUnionTypeChecker, shape: createShapeTypeChecker }; /** * inlined Object.is polyfill to avoid requiring consumers ship their own * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is */ /*eslint-disable no-self-compare*/ function is(x, y) { // SameValue algorithm if (x === y) { // Steps 1-5, 7-10 // Steps 6.b-6.e: +0 != -0 return x !== 0 || 1 / x === 1 / y; } else { // Step 6.a: NaN == NaN return x !== x && y !== y; } } /*eslint-enable no-self-compare*/ function createChainableTypeChecker(validate) { function checkType(isRequired, props, propName, componentName, location, propFullName) { componentName = componentName || ANONYMOUS; propFullName = propFullName || propName; if (props[propName] == null) { var locationName = ReactPropTypeLocationNames[location]; if (isRequired) { return new Error('Required ' + locationName + ' `' + propFullName + '` was not specified in ' + ('`' + componentName + '`.')); } return null; } else { return validate(props, propName, componentName, location, propFullName); } } var chainedCheckType = checkType.bind(null, false); chainedCheckType.isRequired = checkType.bind(null, true); return chainedCheckType; } function createPrimitiveTypeChecker(expectedType) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== expectedType) { var locationName = ReactPropTypeLocationNames[location]; // `propValue` being instance of, say, date/regexp, pass the 'object' // check, but we can offer a more precise error message here rather than // 'of type `object`'. var preciseType = getPreciseType(propValue); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); } return null; } return createChainableTypeChecker(validate); } function createAnyTypeChecker() { return createChainableTypeChecker(emptyFunction.thatReturns(null)); } function createArrayOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new Error('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); } var propValue = props[propName]; if (!Array.isArray(propValue)) { var locationName = ReactPropTypeLocationNames[location]; var propType = getPropType(propValue); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); } for (var i = 0; i < propValue.length; i++) { var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']'); if (error instanceof Error) { return error; } } return null; } return createChainableTypeChecker(validate); } function createElementTypeChecker() { function validate(props, propName, componentName, location, propFullName) { if (!ReactElement.isValidElement(props[propName])) { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a single ReactElement.')); } return null; } return createChainableTypeChecker(validate); } function createInstanceTypeChecker(expectedClass) { function validate(props, propName, componentName, location, propFullName) { if (!(props[propName] instanceof expectedClass)) { var locationName = ReactPropTypeLocationNames[location]; var expectedClassName = expectedClass.name || ANONYMOUS; var actualClassName = getClassName(props[propName]); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); } return null; } return createChainableTypeChecker(validate); } function createEnumTypeChecker(expectedValues) { if (!Array.isArray(expectedValues)) { return createChainableTypeChecker(function () { return new Error('Invalid argument supplied to oneOf, expected an instance of array.'); }); } function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; for (var i = 0; i < expectedValues.length; i++) { if (is(propValue, expectedValues[i])) { return null; } } var locationName = ReactPropTypeLocationNames[location]; var valuesString = JSON.stringify(expectedValues); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); } return createChainableTypeChecker(validate); } function createObjectOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new Error('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); } var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); } for (var key in propValue) { if (propValue.hasOwnProperty(key)) { var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key); if (error instanceof Error) { return error; } } } return null; } return createChainableTypeChecker(validate); } function createUnionTypeChecker(arrayOfTypeCheckers) { if (!Array.isArray(arrayOfTypeCheckers)) { return createChainableTypeChecker(function () { return new Error('Invalid argument supplied to oneOfType, expected an instance of array.'); }); } function validate(props, propName, componentName, location, propFullName) { for (var i = 0; i < arrayOfTypeCheckers.length; i++) { var checker = arrayOfTypeCheckers[i]; if (checker(props, propName, componentName, location, propFullName) == null) { return null; } } var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); } return createChainableTypeChecker(validate); } function createNodeChecker() { function validate(props, propName, componentName, location, propFullName) { if (!isNode(props[propName])) { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); } return null; } return createChainableTypeChecker(validate); } function createShapeTypeChecker(shapeTypes) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); } for (var key in shapeTypes) { var checker = shapeTypes[key]; if (!checker) { continue; } var error = checker(propValue, key, componentName, location, propFullName + '.' + key); if (error) { return error; } } return null; } return createChainableTypeChecker(validate); } function isNode(propValue) { switch (typeof propValue) { case 'number': case 'string': case 'undefined': return true; case 'boolean': return !propValue; case 'object': if (Array.isArray(propValue)) { return propValue.every(isNode); } if (propValue === null || ReactElement.isValidElement(propValue)) { return true; } var iteratorFn = getIteratorFn(propValue); if (iteratorFn) { var iterator = iteratorFn.call(propValue); var step; if (iteratorFn !== propValue.entries) { while (!(step = iterator.next()).done) { if (!isNode(step.value)) { return false; } } } else { // Iterator will provide entry [k,v] tuples rather than values. while (!(step = iterator.next()).done) { var entry = step.value; if (entry) { if (!isNode(entry[1])) { return false; } } } } } else { return false; } return true; default: return false; } } // Equivalent of `typeof` but with special handling for array and regexp. function getPropType(propValue) { var propType = typeof propValue; if (Array.isArray(propValue)) { return 'array'; } if (propValue instanceof RegExp) { // Old webkits (at least until Android 4.0) return 'function' rather than // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ // passes PropTypes.object. return 'object'; } return propType; } // This handles more types than `getPropType`. Only used for error messages. // See `createPrimitiveTypeChecker`. function getPreciseType(propValue) { var propType = getPropType(propValue); if (propType === 'object') { if (propValue instanceof Date) { return 'date'; } else if (propValue instanceof RegExp) { return 'regexp'; } } return propType; } // Returns class name of the object, if any. function getClassName(propValue) { if (!propValue.constructor || !propValue.constructor.name) { return ANONYMOUS; } return propValue.constructor.name; } module.exports = ReactPropTypes; /***/ }, /* 31 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactVersion */ 'use strict'; module.exports = '15.0.2'; /***/ }, /* 32 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule onlyChild */ 'use strict'; var ReactElement = __webpack_require__(8); var invariant = __webpack_require__(7); /** * Returns the first child in a collection of children and verifies that there * is only one child in the collection. The current implementation of this * function assumes that a single child gets passed without a wrapper, but the * purpose of this helper function is to abstract away the particular structure * of children. * * @param {?object} children Child collection structure. * @return {ReactElement} The first and only `ReactElement` contained in the * structure. */ function onlyChild(children) { !ReactElement.isValidElement(children) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'onlyChild must be passed a children with exactly one child.') : invariant(false) : void 0; return children; } module.exports = onlyChild; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 33 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; module.exports = __webpack_require__(34); /***/ }, /* 34 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOM */ /* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/ 'use strict'; var ReactDOMComponentTree = __webpack_require__(35); var ReactDefaultInjection = __webpack_require__(38); var ReactMount = __webpack_require__(158); var ReactPerf = __webpack_require__(58); var ReactReconciler = __webpack_require__(59); var ReactUpdates = __webpack_require__(55); var ReactVersion = __webpack_require__(31); var findDOMNode = __webpack_require__(165); var getNativeComponentFromComposite = __webpack_require__(166); var renderSubtreeIntoContainer = __webpack_require__(167); var warning = __webpack_require__(10); ReactDefaultInjection.inject(); var render = ReactPerf.measure('React', 'render', ReactMount.render); var React = { findDOMNode: findDOMNode, render: render, unmountComponentAtNode: ReactMount.unmountComponentAtNode, version: ReactVersion, /* eslint-disable camelcase */ unstable_batchedUpdates: ReactUpdates.batchedUpdates, unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer }; // Inject the runtime into a devtools global hook regardless of browser. // Allows for debugging when the hook is injected on the page. /* eslint-enable camelcase */ if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') { __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ ComponentTree: { getClosestInstanceFromNode: ReactDOMComponentTree.getClosestInstanceFromNode, getNodeFromInstance: function (inst) { // inst is an internal instance (but could be a composite) if (inst._renderedComponent) { inst = getNativeComponentFromComposite(inst); } if (inst) { return ReactDOMComponentTree.getNodeFromInstance(inst); } else { return null; } } }, Mount: ReactMount, Reconciler: ReactReconciler }); } if (process.env.NODE_ENV !== 'production') { var ExecutionEnvironment = __webpack_require__(48); if (ExecutionEnvironment.canUseDOM && window.top === window.self) { // First check if devtools is not installed if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') { // If we're in Chrome or Firefox, provide a download link if not installed. if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) { // Firefox does not have the issue with devtools loaded over file:// var showFileUrlMessage = window.location.protocol.indexOf('http') === -1 && navigator.userAgent.indexOf('Firefox') === -1; console.debug('Download the React DevTools ' + (showFileUrlMessage ? 'and use an HTTP server (instead of a file: URL) ' : '') + 'for a better development experience: ' + 'https://fb.me/react-devtools'); } } var testFunc = function testFn() {}; process.env.NODE_ENV !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, 'It looks like you\'re using a minified copy of the development build ' + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0; // If we're in IE8, check to see if we are in compatibility mode and provide // information on preventing compatibility mode var ieCompatibilityMode = document.documentMode && document.documentMode < 8; process.env.NODE_ENV !== 'production' ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '') : void 0; var expectedFeatures = [ // shims Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.split, String.prototype.trim]; for (var i = 0; i < expectedFeatures.length; i++) { if (!expectedFeatures[i]) { process.env.NODE_ENV !== 'production' ? warning(false, 'One or more ES5 shims expected by React are not available: ' + 'https://fb.me/react-warning-polyfills') : void 0; break; } } } } module.exports = React; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 35 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOMComponentTree */ 'use strict'; var DOMProperty = __webpack_require__(36); var ReactDOMComponentFlags = __webpack_require__(37); var invariant = __webpack_require__(7); var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME; var Flags = ReactDOMComponentFlags; var internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2); /** * Drill down (through composites and empty components) until we get a native or * native text component. * * This is pretty polymorphic but unavoidable with the current structure we have * for `_renderedChildren`. */ function getRenderedNativeOrTextFromComponent(component) { var rendered; while (rendered = component._renderedComponent) { component = rendered; } return component; } /** * Populate `_nativeNode` on the rendered native/text component with the given * DOM node. The passed `inst` can be a composite. */ function precacheNode(inst, node) { var nativeInst = getRenderedNativeOrTextFromComponent(inst); nativeInst._nativeNode = node; node[internalInstanceKey] = nativeInst; } function uncacheNode(inst) { var node = inst._nativeNode; if (node) { delete node[internalInstanceKey]; inst._nativeNode = null; } } /** * Populate `_nativeNode` on each child of `inst`, assuming that the children * match up with the DOM (element) children of `node`. * * We cache entire levels at once to avoid an n^2 problem where we access the * children of a node sequentially and have to walk from the start to our target * node every time. * * Since we update `_renderedChildren` and the actual DOM at (slightly) * different times, we could race here and see a newer `_renderedChildren` than * the DOM nodes we see. To avoid this, ReactMultiChild calls * `prepareToManageChildren` before we change `_renderedChildren`, at which * time the container's child nodes are always cached (until it unmounts). */ function precacheChildNodes(inst, node) { if (inst._flags & Flags.hasCachedChildNodes) { return; } var children = inst._renderedChildren; var childNode = node.firstChild; outer: for (var name in children) { if (!children.hasOwnProperty(name)) { continue; } var childInst = children[name]; var childID = getRenderedNativeOrTextFromComponent(childInst)._domID; if (childID == null) { // We're currently unmounting this child in ReactMultiChild; skip it. continue; } // We assume the child nodes are in the same order as the child instances. for (; childNode !== null; childNode = childNode.nextSibling) { if (childNode.nodeType === 1 && childNode.getAttribute(ATTR_NAME) === String(childID) || childNode.nodeType === 8 && childNode.nodeValue === ' react-text: ' + childID + ' ' || childNode.nodeType === 8 && childNode.nodeValue === ' react-empty: ' + childID + ' ') { precacheNode(childInst, childNode); continue outer; } } // We reached the end of the DOM children without finding an ID match. true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unable to find element with ID %s.', childID) : invariant(false) : void 0; } inst._flags |= Flags.hasCachedChildNodes; } /** * Given a DOM node, return the closest ReactDOMComponent or * ReactDOMTextComponent instance ancestor. */ function getClosestInstanceFromNode(node) { if (node[internalInstanceKey]) { return node[internalInstanceKey]; } // Walk up the tree until we find an ancestor whose instance we have cached. var parents = []; while (!node[internalInstanceKey]) { parents.push(node); if (node.parentNode) { node = node.parentNode; } else { // Top of the tree. This node must not be part of a React tree (or is // unmounted, potentially). return null; } } var closest; var inst; for (; node && (inst = node[internalInstanceKey]); node = parents.pop()) { closest = inst; if (parents.length) { precacheChildNodes(inst, node); } } return closest; } /** * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent * instance, or null if the node was not rendered by this React. */ function getInstanceFromNode(node) { var inst = getClosestInstanceFromNode(node); if (inst != null && inst._nativeNode === node) { return inst; } else { return null; } } /** * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding * DOM node. */ function getNodeFromInstance(inst) { // Without this first invariant, passing a non-DOM-component triggers the next // invariant for a missing parent, which is super confusing. !(inst._nativeNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : invariant(false) : void 0; if (inst._nativeNode) { return inst._nativeNode; } // Walk up the tree until we find an ancestor whose DOM node we have cached. var parents = []; while (!inst._nativeNode) { parents.push(inst); !inst._nativeParent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React DOM tree root should always have a node reference.') : invariant(false) : void 0; inst = inst._nativeParent; } // Now parents contains each ancestor that does *not* have a cached native // node, and `inst` is the deepest ancestor that does. for (; parents.length; inst = parents.pop()) { precacheChildNodes(inst, inst._nativeNode); } return inst._nativeNode; } var ReactDOMComponentTree = { getClosestInstanceFromNode: getClosestInstanceFromNode, getInstanceFromNode: getInstanceFromNode, getNodeFromInstance: getNodeFromInstance, precacheChildNodes: precacheChildNodes, precacheNode: precacheNode, uncacheNode: uncacheNode }; module.exports = ReactDOMComponentTree; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 36 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DOMProperty */ 'use strict'; var invariant = __webpack_require__(7); function checkMask(value, bitmask) { return (value & bitmask) === bitmask; } var DOMPropertyInjection = { /** * Mapping from normalized, camelcased property names to a configuration that * specifies how the associated DOM property should be accessed or rendered. */ MUST_USE_PROPERTY: 0x1, HAS_SIDE_EFFECTS: 0x2, HAS_BOOLEAN_VALUE: 0x4, HAS_NUMERIC_VALUE: 0x8, HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8, HAS_OVERLOADED_BOOLEAN_VALUE: 0x20, /** * Inject some specialized knowledge about the DOM. This takes a config object * with the following properties: * * isCustomAttribute: function that given an attribute name will return true * if it can be inserted into the DOM verbatim. Useful for data-* or aria-* * attributes where it's impossible to enumerate all of the possible * attribute names, * * Properties: object mapping DOM property name to one of the * DOMPropertyInjection constants or null. If your attribute isn't in here, * it won't get written to the DOM. * * DOMAttributeNames: object mapping React attribute name to the DOM * attribute name. Attribute names not specified use the **lowercase** * normalized name. * * DOMAttributeNamespaces: object mapping React attribute name to the DOM * attribute namespace URL. (Attribute names not specified use no namespace.) * * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties. * Property names not specified use the normalized name. * * DOMMutationMethods: Properties that require special mutation methods. If * `value` is undefined, the mutation method should unset the property. * * @param {object} domPropertyConfig the config as described above. */ injectDOMPropertyConfig: function (domPropertyConfig) { var Injection = DOMPropertyInjection; var Properties = domPropertyConfig.Properties || {}; var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {}; var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {}; var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {}; var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {}; if (domPropertyConfig.isCustomAttribute) { DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute); } for (var propName in Properties) { !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'injectDOMPropertyConfig(...): You\'re trying to inject DOM property ' + '\'%s\' which has already been injected. You may be accidentally ' + 'injecting the same DOM property config twice, or you may be ' + 'injecting two configs that have conflicting property names.', propName) : invariant(false) : void 0; var lowerCased = propName.toLowerCase(); var propConfig = Properties[propName]; var propertyInfo = { attributeName: lowerCased, attributeNamespace: null, propertyName: propName, mutationMethod: null, mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY), hasSideEffects: checkMask(propConfig, Injection.HAS_SIDE_EFFECTS), hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE), hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE), hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE), hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE) }; !(propertyInfo.mustUseProperty || !propertyInfo.hasSideEffects) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Properties that have side effects must use property: %s', propName) : invariant(false) : void 0; !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or ' + 'numeric value, but not a combination: %s', propName) : invariant(false) : void 0; if (process.env.NODE_ENV !== 'production') { DOMProperty.getPossibleStandardName[lowerCased] = propName; } if (DOMAttributeNames.hasOwnProperty(propName)) { var attributeName = DOMAttributeNames[propName]; propertyInfo.attributeName = attributeName; if (process.env.NODE_ENV !== 'production') { DOMProperty.getPossibleStandardName[attributeName] = propName; } } if (DOMAttributeNamespaces.hasOwnProperty(propName)) { propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName]; } if (DOMPropertyNames.hasOwnProperty(propName)) { propertyInfo.propertyName = DOMPropertyNames[propName]; } if (DOMMutationMethods.hasOwnProperty(propName)) { propertyInfo.mutationMethod = DOMMutationMethods[propName]; } DOMProperty.properties[propName] = propertyInfo; } } }; /* eslint-disable max-len */ var ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD'; /* eslint-enable max-len */ /** * DOMProperty exports lookup objects that can be used like functions: * * > DOMProperty.isValid['id'] * true * > DOMProperty.isValid['foobar'] * undefined * * Although this may be confusing, it performs better in general. * * @see http://jsperf.com/key-exists * @see http://jsperf.com/key-missing */ var DOMProperty = { ID_ATTRIBUTE_NAME: 'data-reactid', ROOT_ATTRIBUTE_NAME: 'data-reactroot', ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR, ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\uB7\\u0300-\\u036F\\u203F-\\u2040', /** * Map from property "standard name" to an object with info about how to set * the property in the DOM. Each object contains: * * attributeName: * Used when rendering markup or with `*Attribute()`. * attributeNamespace * propertyName: * Used on DOM node instances. (This includes properties that mutate due to * external factors.) * mutationMethod: * If non-null, used instead of the property or `setAttribute()` after * initial render. * mustUseProperty: * Whether the property must be accessed and mutated as an object property. * hasSideEffects: * Whether or not setting a value causes side effects such as triggering * resources to be loaded or text selection changes. If true, we read from * the DOM before updating to ensure that the value is only set if it has * changed. * hasBooleanValue: * Whether the property should be removed when set to a falsey value. * hasNumericValue: * Whether the property must be numeric or parse as a numeric and should be * removed when set to a falsey value. * hasPositiveNumericValue: * Whether the property must be positive numeric or parse as a positive * numeric and should be removed when set to a falsey value. * hasOverloadedBooleanValue: * Whether the property can be used as a flag as well as with a value. * Removed when strictly equal to false; present without a value when * strictly equal to true; present with a value otherwise. */ properties: {}, /** * Mapping from lowercase property names to the properly cased version, used * to warn in the case of missing properties. Available only in __DEV__. * @type {Object} */ getPossibleStandardName: process.env.NODE_ENV !== 'production' ? {} : null, /** * All of the isCustomAttribute() functions that have been injected. */ _isCustomAttributeFunctions: [], /** * Checks whether a property name is a custom attribute. * @method */ isCustomAttribute: function (attributeName) { for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) { var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i]; if (isCustomAttributeFn(attributeName)) { return true; } } return false; }, injection: DOMPropertyInjection }; module.exports = DOMProperty; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 37 */ /***/ function(module, exports) { /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOMComponentFlags */ 'use strict'; var ReactDOMComponentFlags = { hasCachedChildNodes: 1 << 0 }; module.exports = ReactDOMComponentFlags; /***/ }, /* 38 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDefaultInjection */ 'use strict'; var BeforeInputEventPlugin = __webpack_require__(39); var ChangeEventPlugin = __webpack_require__(54); var DefaultEventPluginOrder = __webpack_require__(66); var EnterLeaveEventPlugin = __webpack_require__(67); var ExecutionEnvironment = __webpack_require__(48); var HTMLDOMPropertyConfig = __webpack_require__(72); var ReactComponentBrowserEnvironment = __webpack_require__(73); var ReactDOMComponent = __webpack_require__(86); var ReactDOMComponentTree = __webpack_require__(35); var ReactDOMEmptyComponent = __webpack_require__(127); var ReactDOMTreeTraversal = __webpack_require__(128); var ReactDOMTextComponent = __webpack_require__(129); var ReactDefaultBatchingStrategy = __webpack_require__(130); var ReactEventListener = __webpack_require__(131); var ReactInjection = __webpack_require__(134); var ReactReconcileTransaction = __webpack_require__(135); var SVGDOMPropertyConfig = __webpack_require__(143); var SelectEventPlugin = __webpack_require__(144); var SimpleEventPlugin = __webpack_require__(145); var alreadyInjected = false; function inject() { if (alreadyInjected) { // TODO: This is currently true because these injections are shared between // the client and the server package. They should be built independently // and not share any injection state. Then this problem will be solved. return; } alreadyInjected = true; ReactInjection.EventEmitter.injectReactEventListener(ReactEventListener); /** * Inject modules for resolving DOM hierarchy and plugin ordering. */ ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder); ReactInjection.EventPluginUtils.injectComponentTree(ReactDOMComponentTree); ReactInjection.EventPluginUtils.injectTreeTraversal(ReactDOMTreeTraversal); /** * Some important event plugins included by default (without having to require * them). */ ReactInjection.EventPluginHub.injectEventPluginsByName({ SimpleEventPlugin: SimpleEventPlugin, EnterLeaveEventPlugin: EnterLeaveEventPlugin, ChangeEventPlugin: ChangeEventPlugin, SelectEventPlugin: SelectEventPlugin, BeforeInputEventPlugin: BeforeInputEventPlugin }); ReactInjection.NativeComponent.injectGenericComponentClass(ReactDOMComponent); ReactInjection.NativeComponent.injectTextComponentClass(ReactDOMTextComponent); ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig); ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig); ReactInjection.EmptyComponent.injectEmptyComponentFactory(function (instantiate) { return new ReactDOMEmptyComponent(instantiate); }); ReactInjection.Updates.injectReconcileTransaction(ReactReconcileTransaction); ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy); ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment); if (process.env.NODE_ENV !== 'production') { var url = ExecutionEnvironment.canUseDOM && window.location.href || ''; if (/[?&]react_perf\b/.test(url)) { var ReactDefaultPerf = __webpack_require__(156); ReactDefaultPerf.start(); } } } module.exports = { inject: inject }; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 39 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule BeforeInputEventPlugin */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPropagators = __webpack_require__(41); var ExecutionEnvironment = __webpack_require__(48); var FallbackCompositionState = __webpack_require__(49); var SyntheticCompositionEvent = __webpack_require__(51); var SyntheticInputEvent = __webpack_require__(53); var keyOf = __webpack_require__(26); var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space var START_KEYCODE = 229; var canUseCompositionEvent = ExecutionEnvironment.canUseDOM && 'CompositionEvent' in window; var documentMode = null; if (ExecutionEnvironment.canUseDOM && 'documentMode' in document) { documentMode = document.documentMode; } // Webkit offers a very useful `textInput` event that can be used to // directly represent `beforeInput`. The IE `textinput` event is not as // useful, so we don't use it. var canUseTextInputEvent = ExecutionEnvironment.canUseDOM && 'TextEvent' in window && !documentMode && !isPresto(); // In IE9+, we have access to composition events, but the data supplied // by the native compositionend event may be incorrect. Japanese ideographic // spaces, for instance (\u3000) are not recorded correctly. var useFallbackCompositionData = ExecutionEnvironment.canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11); /** * Opera <= 12 includes TextEvent in window, but does not fire * text input events. Rely on keypress instead. */ function isPresto() { var opera = window.opera; return typeof opera === 'object' && typeof opera.version === 'function' && parseInt(opera.version(), 10) <= 12; } var SPACEBAR_CODE = 32; var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE); var topLevelTypes = EventConstants.topLevelTypes; // Events and their corresponding property names. var eventTypes = { beforeInput: { phasedRegistrationNames: { bubbled: keyOf({ onBeforeInput: null }), captured: keyOf({ onBeforeInputCapture: null }) }, dependencies: [topLevelTypes.topCompositionEnd, topLevelTypes.topKeyPress, topLevelTypes.topTextInput, topLevelTypes.topPaste] }, compositionEnd: { phasedRegistrationNames: { bubbled: keyOf({ onCompositionEnd: null }), captured: keyOf({ onCompositionEndCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionEnd, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] }, compositionStart: { phasedRegistrationNames: { bubbled: keyOf({ onCompositionStart: null }), captured: keyOf({ onCompositionStartCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionStart, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] }, compositionUpdate: { phasedRegistrationNames: { bubbled: keyOf({ onCompositionUpdate: null }), captured: keyOf({ onCompositionUpdateCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionUpdate, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] } }; // Track whether we've ever handled a keypress on the space key. var hasSpaceKeypress = false; /** * Return whether a native keypress event is assumed to be a command. * This is required because Firefox fires `keypress` events for key commands * (cut, copy, select-all, etc.) even though no character is inserted. */ function isKeypressCommand(nativeEvent) { return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command. !(nativeEvent.ctrlKey && nativeEvent.altKey); } /** * Translate native top level events into event types. * * @param {string} topLevelType * @return {object} */ function getCompositionEventType(topLevelType) { switch (topLevelType) { case topLevelTypes.topCompositionStart: return eventTypes.compositionStart; case topLevelTypes.topCompositionEnd: return eventTypes.compositionEnd; case topLevelTypes.topCompositionUpdate: return eventTypes.compositionUpdate; } } /** * Does our fallback best-guess model think this event signifies that * composition has begun? * * @param {string} topLevelType * @param {object} nativeEvent * @return {boolean} */ function isFallbackCompositionStart(topLevelType, nativeEvent) { return topLevelType === topLevelTypes.topKeyDown && nativeEvent.keyCode === START_KEYCODE; } /** * Does our fallback mode think that this event is the end of composition? * * @param {string} topLevelType * @param {object} nativeEvent * @return {boolean} */ function isFallbackCompositionEnd(topLevelType, nativeEvent) { switch (topLevelType) { case topLevelTypes.topKeyUp: // Command keys insert or clear IME input. return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1; case topLevelTypes.topKeyDown: // Expect IME keyCode on each keydown. If we get any other // code we must have exited earlier. return nativeEvent.keyCode !== START_KEYCODE; case topLevelTypes.topKeyPress: case topLevelTypes.topMouseDown: case topLevelTypes.topBlur: // Events are not possible without cancelling IME. return true; default: return false; } } /** * Google Input Tools provides composition data via a CustomEvent, * with the `data` property populated in the `detail` object. If this * is available on the event object, use it. If not, this is a plain * composition event and we have nothing special to extract. * * @param {object} nativeEvent * @return {?string} */ function getDataFromCustomEvent(nativeEvent) { var detail = nativeEvent.detail; if (typeof detail === 'object' && 'data' in detail) { return detail.data; } return null; } // Track the current IME composition fallback object, if any. var currentComposition = null; /** * @return {?object} A SyntheticCompositionEvent. */ function extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { var eventType; var fallbackData; if (canUseCompositionEvent) { eventType = getCompositionEventType(topLevelType); } else if (!currentComposition) { if (isFallbackCompositionStart(topLevelType, nativeEvent)) { eventType = eventTypes.compositionStart; } } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) { eventType = eventTypes.compositionEnd; } if (!eventType) { return null; } if (useFallbackCompositionData) { // The current composition is stored statically and must not be // overwritten while composition continues. if (!currentComposition && eventType === eventTypes.compositionStart) { currentComposition = FallbackCompositionState.getPooled(nativeEventTarget); } else if (eventType === eventTypes.compositionEnd) { if (currentComposition) { fallbackData = currentComposition.getData(); } } } var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget); if (fallbackData) { // Inject data generated from fallback path into the synthetic event. // This matches the property of native CompositionEventInterface. event.data = fallbackData; } else { var customData = getDataFromCustomEvent(nativeEvent); if (customData !== null) { event.data = customData; } } EventPropagators.accumulateTwoPhaseDispatches(event); return event; } /** * @param {string} topLevelType Record from `EventConstants`. * @param {object} nativeEvent Native browser event. * @return {?string} The string corresponding to this `beforeInput` event. */ function getNativeBeforeInputChars(topLevelType, nativeEvent) { switch (topLevelType) { case topLevelTypes.topCompositionEnd: return getDataFromCustomEvent(nativeEvent); case topLevelTypes.topKeyPress: /** * If native `textInput` events are available, our goal is to make * use of them. However, there is a special case: the spacebar key. * In Webkit, preventing default on a spacebar `textInput` event * cancels character insertion, but it *also* causes the browser * to fall back to its default spacebar behavior of scrolling the * page. * * Tracking at: * https://code.google.com/p/chromium/issues/detail?id=355103 * * To avoid this issue, use the keypress event as if no `textInput` * event is available. */ var which = nativeEvent.which; if (which !== SPACEBAR_CODE) { return null; } hasSpaceKeypress = true; return SPACEBAR_CHAR; case topLevelTypes.topTextInput: // Record the characters to be added to the DOM. var chars = nativeEvent.data; // If it's a spacebar character, assume that we have already handled // it at the keypress level and bail immediately. Android Chrome // doesn't give us keycodes, so we need to blacklist it. if (chars === SPACEBAR_CHAR && hasSpaceKeypress) { return null; } return chars; default: // For other native event types, do nothing. return null; } } /** * For browsers that do not provide the `textInput` event, extract the * appropriate string to use for SyntheticInputEvent. * * @param {string} topLevelType Record from `EventConstants`. * @param {object} nativeEvent Native browser event. * @return {?string} The fallback string for this `beforeInput` event. */ function getFallbackBeforeInputChars(topLevelType, nativeEvent) { // If we are currently composing (IME) and using a fallback to do so, // try to extract the composed characters from the fallback object. if (currentComposition) { if (topLevelType === topLevelTypes.topCompositionEnd || isFallbackCompositionEnd(topLevelType, nativeEvent)) { var chars = currentComposition.getData(); FallbackCompositionState.release(currentComposition); currentComposition = null; return chars; } return null; } switch (topLevelType) { case topLevelTypes.topPaste: // If a paste event occurs after a keypress, throw out the input // chars. Paste events should not lead to BeforeInput events. return null; case topLevelTypes.topKeyPress: /** * As of v27, Firefox may fire keypress events even when no character * will be inserted. A few possibilities: * * - `which` is `0`. Arrow keys, Esc key, etc. * * - `which` is the pressed key code, but no char is available. * Ex: 'AltGr + d` in Polish. There is no modified character for * this key combination and no character is inserted into the * document, but FF fires the keypress for char code `100` anyway. * No `input` event will occur. * * - `which` is the pressed key code, but a command combination is * being used. Ex: `Cmd+C`. No character is inserted, and no * `input` event will occur. */ if (nativeEvent.which && !isKeypressCommand(nativeEvent)) { return String.fromCharCode(nativeEvent.which); } return null; case topLevelTypes.topCompositionEnd: return useFallbackCompositionData ? null : nativeEvent.data; default: return null; } } /** * Extract a SyntheticInputEvent for `beforeInput`, based on either native * `textInput` or fallback behavior. * * @return {?object} A SyntheticInputEvent. */ function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { var chars; if (canUseTextInputEvent) { chars = getNativeBeforeInputChars(topLevelType, nativeEvent); } else { chars = getFallbackBeforeInputChars(topLevelType, nativeEvent); } // If no characters are being inserted, no BeforeInput event should // be fired. if (!chars) { return null; } var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget); event.data = chars; EventPropagators.accumulateTwoPhaseDispatches(event); return event; } /** * Create an `onBeforeInput` event to match * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents. * * This event plugin is based on the native `textInput` event * available in Chrome, Safari, Opera, and IE. This event fires after * `onKeyPress` and `onCompositionEnd`, but before `onInput`. * * `beforeInput` is spec'd but not implemented in any browsers, and * the `input` event does not provide any useful information about what has * actually been added, contrary to the spec. Thus, `textInput` is the best * available event to identify the characters that have actually been inserted * into the target node. * * This plugin is also responsible for emitting `composition` events, thus * allowing us to share composition fallback code for both `beforeInput` and * `composition` event types. */ var BeforeInputEventPlugin = { eventTypes: eventTypes, extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { return [extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget), extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget)]; } }; module.exports = BeforeInputEventPlugin; /***/ }, /* 40 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventConstants */ 'use strict'; var keyMirror = __webpack_require__(24); var PropagationPhases = keyMirror({ bubbled: null, captured: null }); /** * Types of raw signals from the browser caught at the top level. */ var topLevelTypes = keyMirror({ topAbort: null, topAnimationEnd: null, topAnimationIteration: null, topAnimationStart: null, topBlur: null, topCanPlay: null, topCanPlayThrough: null, topChange: null, topClick: null, topCompositionEnd: null, topCompositionStart: null, topCompositionUpdate: null, topContextMenu: null, topCopy: null, topCut: null, topDoubleClick: null, topDrag: null, topDragEnd: null, topDragEnter: null, topDragExit: null, topDragLeave: null, topDragOver: null, topDragStart: null, topDrop: null, topDurationChange: null, topEmptied: null, topEncrypted: null, topEnded: null, topError: null, topFocus: null, topInput: null, topInvalid: null, topKeyDown: null, topKeyPress: null, topKeyUp: null, topLoad: null, topLoadedData: null, topLoadedMetadata: null, topLoadStart: null, topMouseDown: null, topMouseMove: null, topMouseOut: null, topMouseOver: null, topMouseUp: null, topPaste: null, topPause: null, topPlay: null, topPlaying: null, topProgress: null, topRateChange: null, topReset: null, topScroll: null, topSeeked: null, topSeeking: null, topSelectionChange: null, topStalled: null, topSubmit: null, topSuspend: null, topTextInput: null, topTimeUpdate: null, topTouchCancel: null, topTouchEnd: null, topTouchMove: null, topTouchStart: null, topTransitionEnd: null, topVolumeChange: null, topWaiting: null, topWheel: null }); var EventConstants = { topLevelTypes: topLevelTypes, PropagationPhases: PropagationPhases }; module.exports = EventConstants; /***/ }, /* 41 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPropagators */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPluginHub = __webpack_require__(42); var EventPluginUtils = __webpack_require__(44); var accumulateInto = __webpack_require__(46); var forEachAccumulated = __webpack_require__(47); var warning = __webpack_require__(10); var PropagationPhases = EventConstants.PropagationPhases; var getListener = EventPluginHub.getListener; /** * Some event types have a notion of different registration names for different * "phases" of propagation. This finds listeners by a given phase. */ function listenerAtPhase(inst, event, propagationPhase) { var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase]; return getListener(inst, registrationName); } /** * Tags a `SyntheticEvent` with dispatched listeners. Creating this function * here, allows us to not have to bind or create functions for each event. * Mutating the event's members allows us to not have to create a wrapping * "dispatch" object that pairs the event with the listener. */ function accumulateDirectionalDispatches(inst, upwards, event) { if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0; } var phase = upwards ? PropagationPhases.bubbled : PropagationPhases.captured; var listener = listenerAtPhase(inst, event, phase); if (listener) { event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); } } /** * Collect dispatches (must be entirely collected before dispatching - see unit * tests). Lazily allocate the array to conserve memory. We must loop through * each event and perform the traversal for each one. We cannot perform a * single traversal for the entire collection of events because each event may * have a different target. */ function accumulateTwoPhaseDispatchesSingle(event) { if (event && event.dispatchConfig.phasedRegistrationNames) { EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event); } } /** * Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID. */ function accumulateTwoPhaseDispatchesSingleSkipTarget(event) { if (event && event.dispatchConfig.phasedRegistrationNames) { var targetInst = event._targetInst; var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null; EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event); } } /** * Accumulates without regard to direction, does not look for phased * registration names. Same as `accumulateDirectDispatchesSingle` but without * requiring that the `dispatchMarker` be the same as the dispatched ID. */ function accumulateDispatches(inst, ignoredDirection, event) { if (event && event.dispatchConfig.registrationName) { var registrationName = event.dispatchConfig.registrationName; var listener = getListener(inst, registrationName); if (listener) { event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); } } } /** * Accumulates dispatches on an `SyntheticEvent`, but only for the * `dispatchMarker`. * @param {SyntheticEvent} event */ function accumulateDirectDispatchesSingle(event) { if (event && event.dispatchConfig.registrationName) { accumulateDispatches(event._targetInst, null, event); } } function accumulateTwoPhaseDispatches(events) { forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle); } function accumulateTwoPhaseDispatchesSkipTarget(events) { forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget); } function accumulateEnterLeaveDispatches(leave, enter, from, to) { EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter); } function accumulateDirectDispatches(events) { forEachAccumulated(events, accumulateDirectDispatchesSingle); } /** * A small set of propagation patterns, each of which will accept a small amount * of information, and generate a set of "dispatch ready event objects" - which * are sets of events that have already been annotated with a set of dispatched * listener functions/ids. The API is designed this way to discourage these * propagation strategies from actually executing the dispatches, since we * always want to collect the entire set of dispatches before executing event a * single one. * * @constructor EventPropagators */ var EventPropagators = { accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches, accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget, accumulateDirectDispatches: accumulateDirectDispatches, accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatches }; module.exports = EventPropagators; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 42 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPluginHub */ 'use strict'; var EventPluginRegistry = __webpack_require__(43); var EventPluginUtils = __webpack_require__(44); var ReactErrorUtils = __webpack_require__(45); var accumulateInto = __webpack_require__(46); var forEachAccumulated = __webpack_require__(47); var invariant = __webpack_require__(7); /** * Internal store for event listeners */ var listenerBank = {}; /** * Internal queue of events that have accumulated their dispatches and are * waiting to have their dispatches executed. */ var eventQueue = null; /** * Dispatches an event and releases it back into the pool, unless persistent. * * @param {?object} event Synthetic event to be dispatched. * @param {boolean} simulated If the event is simulated (changes exn behavior) * @private */ var executeDispatchesAndRelease = function (event, simulated) { if (event) { EventPluginUtils.executeDispatchesInOrder(event, simulated); if (!event.isPersistent()) { event.constructor.release(event); } } }; var executeDispatchesAndReleaseSimulated = function (e) { return executeDispatchesAndRelease(e, true); }; var executeDispatchesAndReleaseTopLevel = function (e) { return executeDispatchesAndRelease(e, false); }; /** * This is a unified interface for event plugins to be installed and configured. * * Event plugins can implement the following properties: * * `extractEvents` {function(string, DOMEventTarget, string, object): *} * Required. When a top-level event is fired, this method is expected to * extract synthetic events that will in turn be queued and dispatched. * * `eventTypes` {object} * Optional, plugins that fire events must publish a mapping of registration * names that are used to register listeners. Values of this mapping must * be objects that contain `registrationName` or `phasedRegistrationNames`. * * `executeDispatch` {function(object, function, string)} * Optional, allows plugins to override how an event gets dispatched. By * default, the listener is simply invoked. * * Each plugin that is injected into `EventsPluginHub` is immediately operable. * * @public */ var EventPluginHub = { /** * Methods for injecting dependencies. */ injection: { /** * @param {array} InjectedEventPluginOrder * @public */ injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder, /** * @param {object} injectedNamesToPlugins Map from names to plugin modules. */ injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName }, /** * Stores `listener` at `listenerBank[registrationName][id]`. Is idempotent. * * @param {object} inst The instance, which is the source of events. * @param {string} registrationName Name of listener (e.g. `onClick`). * @param {function} listener The callback to store. */ putListener: function (inst, registrationName, listener) { !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : invariant(false) : void 0; var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {}); bankForRegistrationName[inst._rootNodeID] = listener; var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; if (PluginModule && PluginModule.didPutListener) { PluginModule.didPutListener(inst, registrationName, listener); } }, /** * @param {object} inst The instance, which is the source of events. * @param {string} registrationName Name of listener (e.g. `onClick`). * @return {?function} The stored callback. */ getListener: function (inst, registrationName) { var bankForRegistrationName = listenerBank[registrationName]; return bankForRegistrationName && bankForRegistrationName[inst._rootNodeID]; }, /** * Deletes a listener from the registration bank. * * @param {object} inst The instance, which is the source of events. * @param {string} registrationName Name of listener (e.g. `onClick`). */ deleteListener: function (inst, registrationName) { var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; if (PluginModule && PluginModule.willDeleteListener) { PluginModule.willDeleteListener(inst, registrationName); } var bankForRegistrationName = listenerBank[registrationName]; // TODO: This should never be null -- when is it? if (bankForRegistrationName) { delete bankForRegistrationName[inst._rootNodeID]; } }, /** * Deletes all listeners for the DOM element with the supplied ID. * * @param {object} inst The instance, which is the source of events. */ deleteAllListeners: function (inst) { for (var registrationName in listenerBank) { if (!listenerBank[registrationName][inst._rootNodeID]) { continue; } var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; if (PluginModule && PluginModule.willDeleteListener) { PluginModule.willDeleteListener(inst, registrationName); } delete listenerBank[registrationName][inst._rootNodeID]; } }, /** * Allows registered plugins an opportunity to extract events from top-level * native browser events. * * @return {*} An accumulation of synthetic events. * @internal */ extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { var events; var plugins = EventPluginRegistry.plugins; for (var i = 0; i < plugins.length; i++) { // Not every plugin in the ordering may be loaded at runtime. var possiblePlugin = plugins[i]; if (possiblePlugin) { var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget); if (extractedEvents) { events = accumulateInto(events, extractedEvents); } } } return events; }, /** * Enqueues a synthetic event that should be dispatched when * `processEventQueue` is invoked. * * @param {*} events An accumulation of synthetic events. * @internal */ enqueueEvents: function (events) { if (events) { eventQueue = accumulateInto(eventQueue, events); } }, /** * Dispatches all synthetic events on the event queue. * * @internal */ processEventQueue: function (simulated) { // Set `eventQueue` to null before processing it so that we can tell if more // events get enqueued while processing. var processingEventQueue = eventQueue; eventQueue = null; if (simulated) { forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated); } else { forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel); } !!eventQueue ? process.env.NODE_ENV !== 'production' ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing ' + 'an event queue. Support for this has not yet been implemented.') : invariant(false) : void 0; // This would be a good time to rethrow if any of the event handlers threw. ReactErrorUtils.rethrowCaughtError(); }, /** * These are needed for tests only. Do not use! */ __purge: function () { listenerBank = {}; }, __getListenerBank: function () { return listenerBank; } }; module.exports = EventPluginHub; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 43 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPluginRegistry */ 'use strict'; var invariant = __webpack_require__(7); /** * Injectable ordering of event plugins. */ var EventPluginOrder = null; /** * Injectable mapping from names to event plugin modules. */ var namesToPlugins = {}; /** * Recomputes the plugin list using the injected plugins and plugin ordering. * * @private */ function recomputePluginOrdering() { if (!EventPluginOrder) { // Wait until an `EventPluginOrder` is injected. return; } for (var pluginName in namesToPlugins) { var PluginModule = namesToPlugins[pluginName]; var pluginIndex = EventPluginOrder.indexOf(pluginName); !(pluginIndex > -1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in ' + 'the plugin ordering, `%s`.', pluginName) : invariant(false) : void 0; if (EventPluginRegistry.plugins[pluginIndex]) { continue; } !PluginModule.extractEvents ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` ' + 'method, but `%s` does not.', pluginName) : invariant(false) : void 0; EventPluginRegistry.plugins[pluginIndex] = PluginModule; var publishedEvents = PluginModule.eventTypes; for (var eventName in publishedEvents) { !publishEventForPlugin(publishedEvents[eventName], PluginModule, eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : invariant(false) : void 0; } } } /** * Publishes an event so that it can be dispatched by the supplied plugin. * * @param {object} dispatchConfig Dispatch configuration for the event. * @param {object} PluginModule Plugin publishing the event. * @return {boolean} True if the event was successfully published. * @private */ function publishEventForPlugin(dispatchConfig, PluginModule, eventName) { !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'event name, `%s`.', eventName) : invariant(false) : void 0; EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig; var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames; if (phasedRegistrationNames) { for (var phaseName in phasedRegistrationNames) { if (phasedRegistrationNames.hasOwnProperty(phaseName)) { var phasedRegistrationName = phasedRegistrationNames[phaseName]; publishRegistrationName(phasedRegistrationName, PluginModule, eventName); } } return true; } else if (dispatchConfig.registrationName) { publishRegistrationName(dispatchConfig.registrationName, PluginModule, eventName); return true; } return false; } /** * Publishes a registration name that is used to identify dispatched events and * can be used with `EventPluginHub.putListener` to register listeners. * * @param {string} registrationName Registration name to add. * @param {object} PluginModule Plugin publishing the event. * @private */ function publishRegistrationName(registrationName, PluginModule, eventName) { !!EventPluginRegistry.registrationNameModules[registrationName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName) : invariant(false) : void 0; EventPluginRegistry.registrationNameModules[registrationName] = PluginModule; EventPluginRegistry.registrationNameDependencies[registrationName] = PluginModule.eventTypes[eventName].dependencies; if (process.env.NODE_ENV !== 'production') { var lowerCasedName = registrationName.toLowerCase(); EventPluginRegistry.possibleRegistrationNames[lowerCasedName] = registrationName; } } /** * Registers plugins so that they can extract and dispatch events. * * @see {EventPluginHub} */ var EventPluginRegistry = { /** * Ordered list of injected plugins. */ plugins: [], /** * Mapping from event name to dispatch config */ eventNameDispatchConfigs: {}, /** * Mapping from registration name to plugin module */ registrationNameModules: {}, /** * Mapping from registration name to event name */ registrationNameDependencies: {}, /** * Mapping from lowercase registration names to the properly cased version, * used to warn in the case of missing event handlers. Available * only in __DEV__. * @type {Object} */ possibleRegistrationNames: process.env.NODE_ENV !== 'production' ? {} : null, /** * Injects an ordering of plugins (by plugin name). This allows the ordering * to be decoupled from injection of the actual plugins so that ordering is * always deterministic regardless of packaging, on-the-fly injection, etc. * * @param {array} InjectedEventPluginOrder * @internal * @see {EventPluginHub.injection.injectEventPluginOrder} */ injectEventPluginOrder: function (InjectedEventPluginOrder) { !!EventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than ' + 'once. You are likely trying to load more than one copy of React.') : invariant(false) : void 0; // Clone the ordering so it cannot be dynamically mutated. EventPluginOrder = Array.prototype.slice.call(InjectedEventPluginOrder); recomputePluginOrdering(); }, /** * Injects plugins to be used by `EventPluginHub`. The plugin names must be * in the ordering injected by `injectEventPluginOrder`. * * Plugins can be injected as part of page initialization or on-the-fly. * * @param {object} injectedNamesToPlugins Map from names to plugin modules. * @internal * @see {EventPluginHub.injection.injectEventPluginsByName} */ injectEventPluginsByName: function (injectedNamesToPlugins) { var isOrderingDirty = false; for (var pluginName in injectedNamesToPlugins) { if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) { continue; } var PluginModule = injectedNamesToPlugins[pluginName]; if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== PluginModule) { !!namesToPlugins[pluginName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins ' + 'using the same name, `%s`.', pluginName) : invariant(false) : void 0; namesToPlugins[pluginName] = PluginModule; isOrderingDirty = true; } } if (isOrderingDirty) { recomputePluginOrdering(); } }, /** * Looks up the plugin for the supplied event. * * @param {object} event A synthetic event. * @return {?object} The plugin that created the supplied event. * @internal */ getPluginModuleForEvent: function (event) { var dispatchConfig = event.dispatchConfig; if (dispatchConfig.registrationName) { return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null; } for (var phase in dispatchConfig.phasedRegistrationNames) { if (!dispatchConfig.phasedRegistrationNames.hasOwnProperty(phase)) { continue; } var PluginModule = EventPluginRegistry.registrationNameModules[dispatchConfig.phasedRegistrationNames[phase]]; if (PluginModule) { return PluginModule; } } return null; }, /** * Exposed for unit testing. * @private */ _resetEventPlugins: function () { EventPluginOrder = null; for (var pluginName in namesToPlugins) { if (namesToPlugins.hasOwnProperty(pluginName)) { delete namesToPlugins[pluginName]; } } EventPluginRegistry.plugins.length = 0; var eventNameDispatchConfigs = EventPluginRegistry.eventNameDispatchConfigs; for (var eventName in eventNameDispatchConfigs) { if (eventNameDispatchConfigs.hasOwnProperty(eventName)) { delete eventNameDispatchConfigs[eventName]; } } var registrationNameModules = EventPluginRegistry.registrationNameModules; for (var registrationName in registrationNameModules) { if (registrationNameModules.hasOwnProperty(registrationName)) { delete registrationNameModules[registrationName]; } } if (process.env.NODE_ENV !== 'production') { var possibleRegistrationNames = EventPluginRegistry.possibleRegistrationNames; for (var lowerCasedName in possibleRegistrationNames) { if (possibleRegistrationNames.hasOwnProperty(lowerCasedName)) { delete possibleRegistrationNames[lowerCasedName]; } } } } }; module.exports = EventPluginRegistry; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 44 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPluginUtils */ 'use strict'; var EventConstants = __webpack_require__(40); var ReactErrorUtils = __webpack_require__(45); var invariant = __webpack_require__(7); var warning = __webpack_require__(10); /** * Injected dependencies: */ /** * - `ComponentTree`: [required] Module that can convert between React instances * and actual node references. */ var ComponentTree; var TreeTraversal; var injection = { injectComponentTree: function (Injected) { ComponentTree = Injected; if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.getNodeFromInstance && Injected.getInstanceFromNode, 'EventPluginUtils.injection.injectComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.') : void 0; } }, injectTreeTraversal: function (Injected) { TreeTraversal = Injected; if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.isAncestor && Injected.getLowestCommonAncestor, 'EventPluginUtils.injection.injectTreeTraversal(...): Injected ' + 'module is missing isAncestor or getLowestCommonAncestor.') : void 0; } } }; var topLevelTypes = EventConstants.topLevelTypes; function isEndish(topLevelType) { return topLevelType === topLevelTypes.topMouseUp || topLevelType === topLevelTypes.topTouchEnd || topLevelType === topLevelTypes.topTouchCancel; } function isMoveish(topLevelType) { return topLevelType === topLevelTypes.topMouseMove || topLevelType === topLevelTypes.topTouchMove; } function isStartish(topLevelType) { return topLevelType === topLevelTypes.topMouseDown || topLevelType === topLevelTypes.topTouchStart; } var validateEventDispatches; if (process.env.NODE_ENV !== 'production') { validateEventDispatches = function (event) { var dispatchListeners = event._dispatchListeners; var dispatchInstances = event._dispatchInstances; var listenersIsArr = Array.isArray(dispatchListeners); var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0; var instancesIsArr = Array.isArray(dispatchInstances); var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0; process.env.NODE_ENV !== 'production' ? warning(instancesIsArr === listenersIsArr && instancesLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : void 0; }; } /** * Dispatch the event to the listener. * @param {SyntheticEvent} event SyntheticEvent to handle * @param {boolean} simulated If the event is simulated (changes exn behavior) * @param {function} listener Application-level callback * @param {*} inst Internal component instance */ function executeDispatch(event, simulated, listener, inst) { var type = event.type || 'unknown-event'; event.currentTarget = EventPluginUtils.getNodeFromInstance(inst); if (simulated) { ReactErrorUtils.invokeGuardedCallbackWithCatch(type, listener, event); } else { ReactErrorUtils.invokeGuardedCallback(type, listener, event); } event.currentTarget = null; } /** * Standard/simple iteration through an event's collected dispatches. */ function executeDispatchesInOrder(event, simulated) { var dispatchListeners = event._dispatchListeners; var dispatchInstances = event._dispatchInstances; if (process.env.NODE_ENV !== 'production') { validateEventDispatches(event); } if (Array.isArray(dispatchListeners)) { for (var i = 0; i < dispatchListeners.length; i++) { if (event.isPropagationStopped()) { break; } // Listeners and Instances are two parallel arrays that are always in sync. executeDispatch(event, simulated, dispatchListeners[i], dispatchInstances[i]); } } else if (dispatchListeners) { executeDispatch(event, simulated, dispatchListeners, dispatchInstances); } event._dispatchListeners = null; event._dispatchInstances = null; } /** * Standard/simple iteration through an event's collected dispatches, but stops * at the first dispatch execution returning true, and returns that id. * * @return {?string} id of the first dispatch execution who's listener returns * true, or null if no listener returned true. */ function executeDispatchesInOrderStopAtTrueImpl(event) { var dispatchListeners = event._dispatchListeners; var dispatchInstances = event._dispatchInstances; if (process.env.NODE_ENV !== 'production') { validateEventDispatches(event); } if (Array.isArray(dispatchListeners)) { for (var i = 0; i < dispatchListeners.length; i++) { if (event.isPropagationStopped()) { break; } // Listeners and Instances are two parallel arrays that are always in sync. if (dispatchListeners[i](event, dispatchInstances[i])) { return dispatchInstances[i]; } } } else if (dispatchListeners) { if (dispatchListeners(event, dispatchInstances)) { return dispatchInstances; } } return null; } /** * @see executeDispatchesInOrderStopAtTrueImpl */ function executeDispatchesInOrderStopAtTrue(event) { var ret = executeDispatchesInOrderStopAtTrueImpl(event); event._dispatchInstances = null; event._dispatchListeners = null; return ret; } /** * Execution of a "direct" dispatch - there must be at most one dispatch * accumulated on the event or it is considered an error. It doesn't really make * sense for an event with multiple dispatches (bubbled) to keep track of the * return values at each dispatch execution, but it does tend to make sense when * dealing with "direct" dispatches. * * @return {*} The return value of executing the single dispatch. */ function executeDirectDispatch(event) { if (process.env.NODE_ENV !== 'production') { validateEventDispatches(event); } var dispatchListener = event._dispatchListeners; var dispatchInstance = event._dispatchInstances; !!Array.isArray(dispatchListener) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : invariant(false) : void 0; event.currentTarget = dispatchListener ? EventPluginUtils.getNodeFromInstance(dispatchInstance) : null; var res = dispatchListener ? dispatchListener(event) : null; event.currentTarget = null; event._dispatchListeners = null; event._dispatchInstances = null; return res; } /** * @param {SyntheticEvent} event * @return {boolean} True iff number of dispatches accumulated is greater than 0. */ function hasDispatches(event) { return !!event._dispatchListeners; } /** * General utilities that are useful in creating custom Event Plugins. */ var EventPluginUtils = { isEndish: isEndish, isMoveish: isMoveish, isStartish: isStartish, executeDirectDispatch: executeDirectDispatch, executeDispatchesInOrder: executeDispatchesInOrder, executeDispatchesInOrderStopAtTrue: executeDispatchesInOrderStopAtTrue, hasDispatches: hasDispatches, getInstanceFromNode: function (node) { return ComponentTree.getInstanceFromNode(node); }, getNodeFromInstance: function (node) { return ComponentTree.getNodeFromInstance(node); }, isAncestor: function (a, b) { return TreeTraversal.isAncestor(a, b); }, getLowestCommonAncestor: function (a, b) { return TreeTraversal.getLowestCommonAncestor(a, b); }, getParentInstance: function (inst) { return TreeTraversal.getParentInstance(inst); }, traverseTwoPhase: function (target, fn, arg) { return TreeTraversal.traverseTwoPhase(target, fn, arg); }, traverseEnterLeave: function (from, to, fn, argFrom, argTo) { return TreeTraversal.traverseEnterLeave(from, to, fn, argFrom, argTo); }, injection: injection }; module.exports = EventPluginUtils; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 45 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactErrorUtils */ 'use strict'; var caughtError = null; /** * Call a function while guarding against errors that happens within it. * * @param {?String} name of the guard to use for logging or debugging * @param {Function} func The function to invoke * @param {*} a First argument * @param {*} b Second argument */ function invokeGuardedCallback(name, func, a, b) { try { return func(a, b); } catch (x) { if (caughtError === null) { caughtError = x; } return undefined; } } var ReactErrorUtils = { invokeGuardedCallback: invokeGuardedCallback, /** * Invoked by ReactTestUtils.Simulate so that any errors thrown by the event * handler are sure to be rethrown by rethrowCaughtError. */ invokeGuardedCallbackWithCatch: invokeGuardedCallback, /** * During execution of guarded functions we will capture the first error which * we will rethrow to be handled by the top level error handler. */ rethrowCaughtError: function () { if (caughtError) { var error = caughtError; caughtError = null; throw error; } } }; if (process.env.NODE_ENV !== 'production') { /** * To help development we can get better devtools integration by simulating a * real browser event. */ if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') { var fakeNode = document.createElement('react'); ReactErrorUtils.invokeGuardedCallback = function (name, func, a, b) { var boundFunc = func.bind(null, a, b); var evtType = 'react-' + name; fakeNode.addEventListener(evtType, boundFunc, false); var evt = document.createEvent('Event'); evt.initEvent(evtType, false, false); fakeNode.dispatchEvent(evt); fakeNode.removeEventListener(evtType, boundFunc, false); }; } } module.exports = ReactErrorUtils; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 46 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule accumulateInto */ 'use strict'; var invariant = __webpack_require__(7); /** * * Accumulates items that must not be null or undefined into the first one. This * is used to conserve memory by avoiding array allocations, and thus sacrifices * API cleanness. Since `current` can be null before being passed in and not * null after this function, make sure to assign it back to `current`: * * `a = accumulateInto(a, b);` * * This API should be sparingly used. Try `accumulate` for something cleaner. * * @return {*|array<*>} An accumulation of items. */ function accumulateInto(current, next) { !(next != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : invariant(false) : void 0; if (current == null) { return next; } // Both are not empty. Warning: Never call x.concat(y) when you are not // certain that x is an Array (x could be a string with concat method). var currentIsArray = Array.isArray(current); var nextIsArray = Array.isArray(next); if (currentIsArray && nextIsArray) { current.push.apply(current, next); return current; } if (currentIsArray) { current.push(next); return current; } if (nextIsArray) { // A bit too dangerous to mutate `next`. return [current].concat(next); } return [current, next]; } module.exports = accumulateInto; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 47 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule forEachAccumulated */ 'use strict'; /** * @param {array} arr an "accumulation" of items which is either an Array or * a single item. Useful when paired with the `accumulate` module. This is a * simple utility that allows us to reason about a collection of items, but * handling the case when there is exactly one item (and we do not need to * allocate an array). */ var forEachAccumulated = function (arr, cb, scope) { if (Array.isArray(arr)) { arr.forEach(cb, scope); } else if (arr) { cb.call(scope, arr); } }; module.exports = forEachAccumulated; /***/ }, /* 48 */ /***/ function(module, exports) { /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); /** * Simple, lightweight module assisting with the detection and context of * Worker. Helps avoid circular dependencies and allows code to reason about * whether or not they are in a Worker, even if they never include the main * `ReactWorker` dependency. */ var ExecutionEnvironment = { canUseDOM: canUseDOM, canUseWorkers: typeof Worker !== 'undefined', canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent), canUseViewport: canUseDOM && !!window.screen, isInWorker: !canUseDOM // For now, this is true - might change in the future. }; module.exports = ExecutionEnvironment; /***/ }, /* 49 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule FallbackCompositionState */ 'use strict'; var _assign = __webpack_require__(4); var PooledClass = __webpack_require__(6); var getTextContentAccessor = __webpack_require__(50); /** * This helper class stores information about text content of a target node, * allowing comparison of content before and after a given event. * * Identify the node where selection currently begins, then observe * both its text content and its current position in the DOM. Since the * browser may natively replace the target node during composition, we can * use its position to find its replacement. * * @param {DOMEventTarget} root */ function FallbackCompositionState(root) { this._root = root; this._startText = this.getText(); this._fallbackText = null; } _assign(FallbackCompositionState.prototype, { destructor: function () { this._root = null; this._startText = null; this._fallbackText = null; }, /** * Get current text of input. * * @return {string} */ getText: function () { if ('value' in this._root) { return this._root.value; } return this._root[getTextContentAccessor()]; }, /** * Determine the differing substring between the initially stored * text content and the current content. * * @return {string} */ getData: function () { if (this._fallbackText) { return this._fallbackText; } var start; var startValue = this._startText; var startLength = startValue.length; var end; var endValue = this.getText(); var endLength = endValue.length; for (start = 0; start < startLength; start++) { if (startValue[start] !== endValue[start]) { break; } } var minEnd = startLength - start; for (end = 1; end <= minEnd; end++) { if (startValue[startLength - end] !== endValue[endLength - end]) { break; } } var sliceTail = end > 1 ? 1 - end : undefined; this._fallbackText = endValue.slice(start, sliceTail); return this._fallbackText; } }); PooledClass.addPoolingTo(FallbackCompositionState); module.exports = FallbackCompositionState; /***/ }, /* 50 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getTextContentAccessor */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var contentKey = null; /** * Gets the key used to access text content on a DOM node. * * @return {?string} Key used to access text content. * @internal */ function getTextContentAccessor() { if (!contentKey && ExecutionEnvironment.canUseDOM) { // Prefer textContent to innerText because many browsers support both but // SVG elements don't support innerText even when
    does. contentKey = 'textContent' in document.documentElement ? 'textContent' : 'innerText'; } return contentKey; } module.exports = getTextContentAccessor; /***/ }, /* 51 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticCompositionEvent */ 'use strict'; var SyntheticEvent = __webpack_require__(52); /** * @interface Event * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents */ var CompositionEventInterface = { data: null }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticUIEvent} */ function SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface); module.exports = SyntheticCompositionEvent; /***/ }, /* 52 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticEvent */ 'use strict'; var _assign = __webpack_require__(4); var PooledClass = __webpack_require__(6); var emptyFunction = __webpack_require__(11); var warning = __webpack_require__(10); var didWarnForAddedNewProperty = false; var isProxySupported = typeof Proxy === 'function'; var shouldBeReleasedProperties = ['dispatchConfig', '_targetInst', 'nativeEvent', 'isDefaultPrevented', 'isPropagationStopped', '_dispatchListeners', '_dispatchInstances']; /** * @interface Event * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var EventInterface = { type: null, target: null, // currentTarget is set when dispatching; no use in copying it here currentTarget: emptyFunction.thatReturnsNull, eventPhase: null, bubbles: null, cancelable: null, timeStamp: function (event) { return event.timeStamp || Date.now(); }, defaultPrevented: null, isTrusted: null }; /** * Synthetic events are dispatched by event plugins, typically in response to a * top-level event delegation handler. * * These systems should generally use pooling to reduce the frequency of garbage * collection. The system should check `isPersistent` to determine whether the * event should be released into the pool after being dispatched. Users that * need a persisted event should invoke `persist`. * * Synthetic events (and subclasses) implement the DOM Level 3 Events API by * normalizing browser quirks. Subclasses do not necessarily have to implement a * DOM interface; custom application-specific events can also subclass this. * * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {*} targetInst Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @param {DOMEventTarget} nativeEventTarget Target node. */ function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) { if (process.env.NODE_ENV !== 'production') { // these have a getter/setter for warnings delete this.nativeEvent; delete this.preventDefault; delete this.stopPropagation; } this.dispatchConfig = dispatchConfig; this._targetInst = targetInst; this.nativeEvent = nativeEvent; var Interface = this.constructor.Interface; for (var propName in Interface) { if (!Interface.hasOwnProperty(propName)) { continue; } if (process.env.NODE_ENV !== 'production') { delete this[propName]; // this has a getter/setter for warnings } var normalize = Interface[propName]; if (normalize) { this[propName] = normalize(nativeEvent); } else { if (propName === 'target') { this.target = nativeEventTarget; } else { this[propName] = nativeEvent[propName]; } } } var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false; if (defaultPrevented) { this.isDefaultPrevented = emptyFunction.thatReturnsTrue; } else { this.isDefaultPrevented = emptyFunction.thatReturnsFalse; } this.isPropagationStopped = emptyFunction.thatReturnsFalse; return this; } _assign(SyntheticEvent.prototype, { preventDefault: function () { this.defaultPrevented = true; var event = this.nativeEvent; if (!event) { return; } if (event.preventDefault) { event.preventDefault(); } else { event.returnValue = false; } this.isDefaultPrevented = emptyFunction.thatReturnsTrue; }, stopPropagation: function () { var event = this.nativeEvent; if (!event) { return; } if (event.stopPropagation) { event.stopPropagation(); } else { event.cancelBubble = true; } this.isPropagationStopped = emptyFunction.thatReturnsTrue; }, /** * We release all dispatched `SyntheticEvent`s after each event loop, adding * them back into the pool. This allows a way to hold onto a reference that * won't be added back into the pool. */ persist: function () { this.isPersistent = emptyFunction.thatReturnsTrue; }, /** * Checks if this event should be released back into the pool. * * @return {boolean} True if this should not be released, false otherwise. */ isPersistent: emptyFunction.thatReturnsFalse, /** * `PooledClass` looks for `destructor` on each instance it releases. */ destructor: function () { var Interface = this.constructor.Interface; for (var propName in Interface) { if (process.env.NODE_ENV !== 'production') { Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName])); } else { this[propName] = null; } } for (var i = 0; i < shouldBeReleasedProperties.length; i++) { this[shouldBeReleasedProperties[i]] = null; } if (process.env.NODE_ENV !== 'production') { var noop = __webpack_require__(11); Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null)); Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', noop)); Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', noop)); } } }); SyntheticEvent.Interface = EventInterface; if (process.env.NODE_ENV !== 'production') { if (isProxySupported) { /*eslint-disable no-func-assign */ SyntheticEvent = new Proxy(SyntheticEvent, { construct: function (target, args) { return this.apply(target, Object.create(target.prototype), args); }, apply: function (constructor, that, args) { return new Proxy(constructor.apply(that, args), { set: function (target, prop, value) { if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) { process.env.NODE_ENV !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), 'This synthetic event is reused for performance reasons. If you\'re ' + 'seeing this, you\'re adding a new property in the synthetic event object. ' + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0; didWarnForAddedNewProperty = true; } target[prop] = value; return true; } }); } }); /*eslint-enable no-func-assign */ } } /** * Helper to reduce boilerplate when creating subclasses. * * @param {function} Class * @param {?object} Interface */ SyntheticEvent.augmentClass = function (Class, Interface) { var Super = this; var E = function () {}; E.prototype = Super.prototype; var prototype = new E(); _assign(prototype, Class.prototype); Class.prototype = prototype; Class.prototype.constructor = Class; Class.Interface = _assign({}, Super.Interface, Interface); Class.augmentClass = Super.augmentClass; PooledClass.addPoolingTo(Class, PooledClass.fourArgumentPooler); }; PooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler); module.exports = SyntheticEvent; /** * Helper to nullify syntheticEvent instance properties when destructing * * @param {object} SyntheticEvent * @param {String} propName * @return {object} defineProperty object */ function getPooledWarningPropertyDefinition(propName, getVal) { var isFunction = typeof getVal === 'function'; return { configurable: true, set: set, get: get }; function set(val) { var action = isFunction ? 'setting the method' : 'setting the property'; warn(action, 'This is effectively a no-op'); return val; } function get() { var action = isFunction ? 'accessing the method' : 'accessing the property'; var result = isFunction ? 'This is a no-op function' : 'This is set to null'; warn(action, result); return getVal; } function warn(action, result) { var warningCondition = false; process.env.NODE_ENV !== 'production' ? warning(warningCondition, 'This synthetic event is reused for performance reasons. If you\'re seeing this, ' + 'you\'re %s `%s` on a released/nullified synthetic event. %s. ' + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0; } } /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 53 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticInputEvent */ 'use strict'; var SyntheticEvent = __webpack_require__(52); /** * @interface Event * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105 * /#events-inputevents */ var InputEventInterface = { data: null }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticUIEvent} */ function SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface); module.exports = SyntheticInputEvent; /***/ }, /* 54 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ChangeEventPlugin */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPluginHub = __webpack_require__(42); var EventPropagators = __webpack_require__(41); var ExecutionEnvironment = __webpack_require__(48); var ReactDOMComponentTree = __webpack_require__(35); var ReactUpdates = __webpack_require__(55); var SyntheticEvent = __webpack_require__(52); var getEventTarget = __webpack_require__(63); var isEventSupported = __webpack_require__(64); var isTextInputElement = __webpack_require__(65); var keyOf = __webpack_require__(26); var topLevelTypes = EventConstants.topLevelTypes; var eventTypes = { change: { phasedRegistrationNames: { bubbled: keyOf({ onChange: null }), captured: keyOf({ onChangeCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topChange, topLevelTypes.topClick, topLevelTypes.topFocus, topLevelTypes.topInput, topLevelTypes.topKeyDown, topLevelTypes.topKeyUp, topLevelTypes.topSelectionChange] } }; /** * For IE shims */ var activeElement = null; var activeElementInst = null; var activeElementValue = null; var activeElementValueProp = null; /** * SECTION: handle `change` event */ function shouldUseChangeEvent(elem) { var nodeName = elem.nodeName && elem.nodeName.toLowerCase(); return nodeName === 'select' || nodeName === 'input' && elem.type === 'file'; } var doesChangeEventBubble = false; if (ExecutionEnvironment.canUseDOM) { // See `handleChange` comment below doesChangeEventBubble = isEventSupported('change') && (!('documentMode' in document) || document.documentMode > 8); } function manualDispatchChangeEvent(nativeEvent) { var event = SyntheticEvent.getPooled(eventTypes.change, activeElementInst, nativeEvent, getEventTarget(nativeEvent)); EventPropagators.accumulateTwoPhaseDispatches(event); // If change and propertychange bubbled, we'd just bind to it like all the // other events and have it go through ReactBrowserEventEmitter. Since it // doesn't, we manually listen for the events and so we have to enqueue and // process the abstract event manually. // // Batching is necessary here in order to ensure that all event handlers run // before the next rerender (including event handlers attached to ancestor // elements instead of directly on the input). Without this, controlled // components don't work properly in conjunction with event bubbling because // the component is rerendered and the value reverted before all the event // handlers can run. See https://github.com/facebook/react/issues/708. ReactUpdates.batchedUpdates(runEventInBatch, event); } function runEventInBatch(event) { EventPluginHub.enqueueEvents(event); EventPluginHub.processEventQueue(false); } function startWatchingForChangeEventIE8(target, targetInst) { activeElement = target; activeElementInst = targetInst; activeElement.attachEvent('onchange', manualDispatchChangeEvent); } function stopWatchingForChangeEventIE8() { if (!activeElement) { return; } activeElement.detachEvent('onchange', manualDispatchChangeEvent); activeElement = null; activeElementInst = null; } function getTargetInstForChangeEvent(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topChange) { return targetInst; } } function handleEventsForChangeEventIE8(topLevelType, target, targetInst) { if (topLevelType === topLevelTypes.topFocus) { // stopWatching() should be a noop here but we call it just in case we // missed a blur event somehow. stopWatchingForChangeEventIE8(); startWatchingForChangeEventIE8(target, targetInst); } else if (topLevelType === topLevelTypes.topBlur) { stopWatchingForChangeEventIE8(); } } /** * SECTION: handle `input` event */ var isInputEventSupported = false; if (ExecutionEnvironment.canUseDOM) { // IE9 claims to support the input event but fails to trigger it when // deleting text, so we ignore its input events. // IE10+ fire input events to often, such when a placeholder // changes or when an input with a placeholder is focused. isInputEventSupported = isEventSupported('input') && (!('documentMode' in document) || document.documentMode > 11); } /** * (For IE <=11) Replacement getter/setter for the `value` property that gets * set on the active element. */ var newValueProp = { get: function () { return activeElementValueProp.get.call(this); }, set: function (val) { // Cast to a string so we can do equality checks. activeElementValue = '' + val; activeElementValueProp.set.call(this, val); } }; /** * (For IE <=11) Starts tracking propertychange events on the passed-in element * and override the value property so that we can distinguish user events from * value changes in JS. */ function startWatchingForValueChange(target, targetInst) { activeElement = target; activeElementInst = targetInst; activeElementValue = target.value; activeElementValueProp = Object.getOwnPropertyDescriptor(target.constructor.prototype, 'value'); // Not guarded in a canDefineProperty check: IE8 supports defineProperty only // on DOM elements Object.defineProperty(activeElement, 'value', newValueProp); if (activeElement.attachEvent) { activeElement.attachEvent('onpropertychange', handlePropertyChange); } else { activeElement.addEventListener('propertychange', handlePropertyChange, false); } } /** * (For IE <=11) Removes the event listeners from the currently-tracked element, * if any exists. */ function stopWatchingForValueChange() { if (!activeElement) { return; } // delete restores the original property definition delete activeElement.value; if (activeElement.detachEvent) { activeElement.detachEvent('onpropertychange', handlePropertyChange); } else { activeElement.removeEventListener('propertychange', handlePropertyChange, false); } activeElement = null; activeElementInst = null; activeElementValue = null; activeElementValueProp = null; } /** * (For IE <=11) Handles a propertychange event, sending a `change` event if * the value of the active element has changed. */ function handlePropertyChange(nativeEvent) { if (nativeEvent.propertyName !== 'value') { return; } var value = nativeEvent.srcElement.value; if (value === activeElementValue) { return; } activeElementValue = value; manualDispatchChangeEvent(nativeEvent); } /** * If a `change` event should be fired, returns the target's ID. */ function getTargetInstForInputEvent(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topInput) { // In modern browsers (i.e., not IE8 or IE9), the input event is exactly // what we want so fall through here and trigger an abstract event return targetInst; } } function handleEventsForInputEventIE(topLevelType, target, targetInst) { if (topLevelType === topLevelTypes.topFocus) { // In IE8, we can capture almost all .value changes by adding a // propertychange handler and looking for events with propertyName // equal to 'value' // In IE9-11, propertychange fires for most input events but is buggy and // doesn't fire when text is deleted, but conveniently, selectionchange // appears to fire in all of the remaining cases so we catch those and // forward the event if the value has changed // In either case, we don't want to call the event handler if the value // is changed from JS so we redefine a setter for `.value` that updates // our activeElementValue variable, allowing us to ignore those changes // // stopWatching() should be a noop here but we call it just in case we // missed a blur event somehow. stopWatchingForValueChange(); startWatchingForValueChange(target, targetInst); } else if (topLevelType === topLevelTypes.topBlur) { stopWatchingForValueChange(); } } // For IE8 and IE9. function getTargetInstForInputEventIE(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topSelectionChange || topLevelType === topLevelTypes.topKeyUp || topLevelType === topLevelTypes.topKeyDown) { // On the selectionchange event, the target is just document which isn't // helpful for us so just check activeElement instead. // // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire // propertychange on the first input event after setting `value` from a // script and fires only keydown, keypress, keyup. Catching keyup usually // gets it and catching keydown lets us fire an event for the first // keystroke if user does a key repeat (it'll be a little delayed: right // before the second keystroke). Other input methods (e.g., paste) seem to // fire selectionchange normally. if (activeElement && activeElement.value !== activeElementValue) { activeElementValue = activeElement.value; return activeElementInst; } } } /** * SECTION: handle `click` event */ function shouldUseClickEvent(elem) { // Use the `click` event to detect changes to checkbox and radio inputs. // This approach works across all browsers, whereas `change` does not fire // until `blur` in IE8. return elem.nodeName && elem.nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio'); } function getTargetInstForClickEvent(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topClick) { return targetInst; } } /** * This plugin creates an `onChange` event that normalizes change events * across form elements. This event fires at a time when it's possible to * change the element's value without seeing a flicker. * * Supported elements are: * - input (see `isTextInputElement`) * - textarea * - select */ var ChangeEventPlugin = { eventTypes: eventTypes, extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window; var getTargetInstFunc, handleEventFunc; if (shouldUseChangeEvent(targetNode)) { if (doesChangeEventBubble) { getTargetInstFunc = getTargetInstForChangeEvent; } else { handleEventFunc = handleEventsForChangeEventIE8; } } else if (isTextInputElement(targetNode)) { if (isInputEventSupported) { getTargetInstFunc = getTargetInstForInputEvent; } else { getTargetInstFunc = getTargetInstForInputEventIE; handleEventFunc = handleEventsForInputEventIE; } } else if (shouldUseClickEvent(targetNode)) { getTargetInstFunc = getTargetInstForClickEvent; } if (getTargetInstFunc) { var inst = getTargetInstFunc(topLevelType, targetInst); if (inst) { var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, nativeEventTarget); event.type = 'change'; EventPropagators.accumulateTwoPhaseDispatches(event); return event; } } if (handleEventFunc) { handleEventFunc(topLevelType, targetNode, targetInst); } } }; module.exports = ChangeEventPlugin; /***/ }, /* 55 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactUpdates */ 'use strict'; var _assign = __webpack_require__(4); var CallbackQueue = __webpack_require__(56); var PooledClass = __webpack_require__(6); var ReactFeatureFlags = __webpack_require__(57); var ReactPerf = __webpack_require__(58); var ReactReconciler = __webpack_require__(59); var Transaction = __webpack_require__(62); var invariant = __webpack_require__(7); var dirtyComponents = []; var asapCallbackQueue = CallbackQueue.getPooled(); var asapEnqueued = false; var batchingStrategy = null; function ensureInjected() { !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching ' + 'strategy') : invariant(false) : void 0; } var NESTED_UPDATES = { initialize: function () { this.dirtyComponentsLength = dirtyComponents.length; }, close: function () { if (this.dirtyComponentsLength !== dirtyComponents.length) { // Additional updates were enqueued by componentDidUpdate handlers or // similar; before our own UPDATE_QUEUEING wrapper closes, we want to run // these new updates so that if A's componentDidUpdate calls setState on // B, B will update before the callback A's updater provided when calling // setState. 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( /* useCreateElement */true); } _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) { // Essentially calls `this.reconcileTransaction.perform(method, scope, a)` // with this transaction's wrappers around it. 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); } /** * Array comparator for ReactComponents by mount ordering. * * @param {ReactComponent} c1 first component you're comparing * @param {ReactComponent} c2 second component you're comparing * @return {number} Return value usable by Array.prototype.sort(). */ function mountOrderComparator(c1, c2) { return c1._mountOrder - c2._mountOrder; } function runBatchedUpdates(transaction) { var len = transaction.dirtyComponentsLength; !(len === dirtyComponents.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected flush transaction\'s stored dirty-components length (%s) to ' + 'match dirty-components array length (%s).', len, dirtyComponents.length) : invariant(false) : void 0; // Since reconciling a component higher in the owner hierarchy usually (not // always -- see shouldComponentUpdate()) will reconcile children, reconcile // them before their children by sorting the array. dirtyComponents.sort(mountOrderComparator); for (var i = 0; i < len; i++) { // If a component is unmounted before pending changes apply, it will still // be here, but we assume that it has cleared its _pendingCallbacks and // that performUpdateIfNecessary is a noop. var component = dirtyComponents[i]; // If performUpdateIfNecessary happens to enqueue any new updates, we // shouldn't execute the callbacks until the next render happens, so // stash the callbacks first var callbacks = component._pendingCallbacks; component._pendingCallbacks = null; var markerName; if (ReactFeatureFlags.logTopLevelRenders) { var namedComponent = component; // Duck type TopLevelWrapper. This is probably always true. if (component._currentElement.props === component._renderedComponent._currentElement) { namedComponent = component._renderedComponent; } markerName = 'React update: ' + namedComponent.getName(); console.time(markerName); } ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction); if (markerName) { console.timeEnd(markerName); } if (callbacks) { for (var j = 0; j < callbacks.length; j++) { transaction.callbackQueue.enqueue(callbacks[j], component.getPublicInstance()); } } } } var flushBatchedUpdates = function () { // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents // array and perform any updates enqueued by mount-ready handlers (i.e., // componentDidUpdate) but we need to check here too in order to catch // updates enqueued by setState callbacks and asap calls. 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); /** * Mark a component as needing a rerender, adding an optional callback to a * list of functions which will be executed once the rerender occurs. */ function enqueueUpdate(component) { ensureInjected(); // Various parts of our code (such as ReactCompositeComponent's // _renderValidatedComponent) assume that calls to render aren't nested; // verify that that's the case. (This is called by each top-level update // function, like setProps, setState, forceUpdate, etc.; creation and // destruction of top-level components is guarded in ReactMount.) if (!batchingStrategy.isBatchingUpdates) { batchingStrategy.batchedUpdates(enqueueUpdate, component); return; } dirtyComponents.push(component); } /** * Enqueue a callback to be run at the end of the current batching cycle. Throws * if no updates are currently being performed. */ function asap(callback, context) { !batchingStrategy.isBatchingUpdates ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context where' + 'updates are not being batched.') : invariant(false) : void 0; asapCallbackQueue.enqueue(callback, context); asapEnqueued = true; } var ReactUpdatesInjection = { injectReconcileTransaction: function (ReconcileTransaction) { !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : invariant(false) : void 0; ReactUpdates.ReactReconcileTransaction = ReconcileTransaction; }, injectBatchingStrategy: function (_batchingStrategy) { !_batchingStrategy ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batching strategy') : invariant(false) : void 0; !(typeof _batchingStrategy.batchedUpdates === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : invariant(false) : void 0; !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : invariant(false) : void 0; batchingStrategy = _batchingStrategy; } }; var ReactUpdates = { /** * React references `ReactReconcileTransaction` using this property in order * to allow dependency injection. * * @internal */ ReactReconcileTransaction: null, batchedUpdates: batchedUpdates, enqueueUpdate: enqueueUpdate, flushBatchedUpdates: flushBatchedUpdates, injection: ReactUpdatesInjection, asap: asap }; module.exports = ReactUpdates; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 56 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule CallbackQueue */ 'use strict'; var _assign = __webpack_require__(4); var PooledClass = __webpack_require__(6); var invariant = __webpack_require__(7); /** * A specialized pseudo-event module to help keep track of components waiting to * be notified when their DOM representations are available for use. * * This implements `PooledClass`, so you should never need to instantiate this. * Instead, use `CallbackQueue.getPooled()`. * * @class ReactMountReady * @implements PooledClass * @internal */ function CallbackQueue() { this._callbacks = null; this._contexts = null; } _assign(CallbackQueue.prototype, { /** * Enqueues a callback to be invoked when `notifyAll` is invoked. * * @param {function} callback Invoked when `notifyAll` is invoked. * @param {?object} context Context to call `callback` with. * @internal */ enqueue: function (callback, context) { this._callbacks = this._callbacks || []; this._contexts = this._contexts || []; this._callbacks.push(callback); this._contexts.push(context); }, /** * Invokes all enqueued callbacks and clears the queue. This is invoked after * the DOM representation of a component has been created or updated. * * @internal */ notifyAll: function () { var callbacks = this._callbacks; var contexts = this._contexts; if (callbacks) { !(callbacks.length === contexts.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Mismatched list of contexts in callback queue') : invariant(false) : void 0; 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; } }, checkpoint: function () { return this._callbacks ? this._callbacks.length : 0; }, rollback: function (len) { if (this._callbacks) { this._callbacks.length = len; this._contexts.length = len; } }, /** * Resets the internal queue. * * @internal */ reset: function () { this._callbacks = null; this._contexts = null; }, /** * `PooledClass` looks for this. */ destructor: function () { this.reset(); } }); PooledClass.addPoolingTo(CallbackQueue); module.exports = CallbackQueue; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 57 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactFeatureFlags */ 'use strict'; var ReactFeatureFlags = { // When true, call console.time() before and .timeEnd() after each top-level // render (both initial renders and updates). Useful when looking at prod-mode // timeline profiles in Chrome, for example. logTopLevelRenders: false }; module.exports = ReactFeatureFlags; /***/ }, /* 58 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPerf */ 'use strict'; /** * ReactPerf is a general AOP system designed to measure performance. This * module only has the hooks: see ReactDefaultPerf for the analysis tool. */ var ReactPerf = { /** * Boolean to enable/disable measurement. Set to false by default to prevent * accidental logging and perf loss. */ enableMeasure: false, /** * Holds onto the measure function in use. By default, don't measure * anything, but we'll override this if we inject a measure function. */ storedMeasure: _noMeasure, /** * @param {object} object * @param {string} objectName * @param {object} methodNames */ measureMethods: function (object, objectName, methodNames) { if (process.env.NODE_ENV !== 'production') { for (var key in methodNames) { if (!methodNames.hasOwnProperty(key)) { continue; } object[key] = ReactPerf.measure(objectName, methodNames[key], object[key]); } } }, /** * Use this to wrap methods you want to measure. Zero overhead in production. * * @param {string} objName * @param {string} fnName * @param {function} func * @return {function} */ measure: function (objName, fnName, func) { if (process.env.NODE_ENV !== 'production') { 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: { /** * @param {function} measure */ injectMeasure: function (measure) { ReactPerf.storedMeasure = measure; } } }; /** * Simply passes through the measured function, without measuring it. * * @param {string} objName * @param {string} fnName * @param {function} func * @return {function} */ function _noMeasure(objName, fnName, func) { return func; } module.exports = ReactPerf; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 59 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactReconciler */ 'use strict'; var ReactRef = __webpack_require__(60); var ReactInstrumentation = __webpack_require__(18); /** * Helper to call ReactRef.attachRefs with this composite component, split out * to avoid allocations in the transaction mount-ready queue. */ function attachRefs() { ReactRef.attachRefs(this, this._currentElement); } var ReactReconciler = { /** * Initializes the component, renders markup, and registers event listeners. * * @param {ReactComponent} internalInstance * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction * @param {?object} the containing native component instance * @param {?object} info about the native container * @return {?string} Rendered markup to be inserted into the DOM. * @final * @internal */ mountComponent: function (internalInstance, transaction, nativeParent, nativeContainerInfo, context) { var markup = internalInstance.mountComponent(transaction, nativeParent, nativeContainerInfo, context); if (internalInstance._currentElement && internalInstance._currentElement.ref != null) { transaction.getReactMountReady().enqueue(attachRefs, internalInstance); } if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onMountComponent(internalInstance); } return markup; }, /** * Returns a value that can be passed to * ReactComponentEnvironment.replaceNodeWithMarkup. */ getNativeNode: function (internalInstance) { return internalInstance.getNativeNode(); }, /** * Releases any resources allocated by `mountComponent`. * * @final * @internal */ unmountComponent: function (internalInstance, safely) { ReactRef.detachRefs(internalInstance, internalInstance._currentElement); internalInstance.unmountComponent(safely); if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onUnmountComponent(internalInstance); } }, /** * Update a component using a new element. * * @param {ReactComponent} internalInstance * @param {ReactElement} nextElement * @param {ReactReconcileTransaction} transaction * @param {object} context * @internal */ receiveComponent: function (internalInstance, nextElement, transaction, context) { var prevElement = internalInstance._currentElement; if (nextElement === prevElement && context === internalInstance._context) { // Since elements are immutable after the owner is rendered, // we can do a cheap identity compare here to determine if this is a // superfluous reconcile. It's possible for state to be mutable but such // change should trigger an update of the owner which would recreate // the element. We explicitly check for the existence of an owner since // it's possible for an element created outside a composite to be // deeply mutated and reused. // TODO: Bailing out early is just a perf optimization right? // TODO: Removing the return statement should affect correctness? 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); } if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onUpdateComponent(internalInstance); } }, /** * Flush any dirty changes in a component. * * @param {ReactComponent} internalInstance * @param {ReactReconcileTransaction} transaction * @internal */ performUpdateIfNecessary: function (internalInstance, transaction) { internalInstance.performUpdateIfNecessary(transaction); if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onUpdateComponent(internalInstance); } } }; module.exports = ReactReconciler; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 60 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactRef */ 'use strict'; var ReactOwner = __webpack_require__(61); var ReactRef = {}; function attachRef(ref, component, owner) { if (typeof ref === 'function') { ref(component.getPublicInstance()); } else { // Legacy ref ReactOwner.addComponentAsRefTo(component, ref, owner); } } function detachRef(ref, component, owner) { if (typeof ref === 'function') { ref(null); } else { // Legacy ref 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) { // If either the owner or a `ref` has changed, make sure the newest owner // has stored a reference to `this`, and the previous owner (if different) // has forgotten the reference to `this`. We use the element instead // of the public this.props because the post processing cannot determine // a ref. The ref conceptually lives on the element. // TODO: Should this even be possible? The owner cannot change because // it's forbidden by shouldUpdateReactComponent. The ref can change // if you swap the keys of but not the refs. Reconsider where this check // is made. It probably belongs where the key checking and // instantiateReactComponent is done. var prevEmpty = prevElement === null || prevElement === false; var nextEmpty = nextElement === null || nextElement === false; return( // This has a few false positives w/r/t empty components. 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; /***/ }, /* 61 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactOwner */ 'use strict'; var invariant = __webpack_require__(7); /** * ReactOwners are capable of storing references to owned components. * * All components are capable of //being// referenced by owner components, but * only ReactOwner components are capable of //referencing// owned components. * The named reference is known as a "ref". * * Refs are available when mounted and updated during reconciliation. * * var MyComponent = React.createClass({ * render: function() { * return ( *
    * *
    * ); * }, * handleClick: function() { * this.refs.custom.handleClick(); * }, * componentDidMount: function() { * this.refs.custom.initialize(); * } * }); * * Refs should rarely be used. When refs are used, they should only be done to * control data that is not handled by React's data flow. * * @class ReactOwner */ var ReactOwner = { /** * @param {?object} object * @return {boolean} True if `object` is a valid owner. * @final */ isValidOwner: function (object) { return !!(object && typeof object.attachRef === 'function' && typeof object.detachRef === 'function'); }, /** * Adds a component by ref to an owner component. * * @param {ReactComponent} component Component to reference. * @param {string} ref Name by which to refer to the component. * @param {ReactOwner} owner Component on which to record the ref. * @final * @internal */ addComponentAsRefTo: function (component, ref, owner) { !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, '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).') : invariant(false) : void 0; owner.attachRef(ref, component); }, /** * Removes a component by ref from an owner component. * * @param {ReactComponent} component Component to dereference. * @param {string} ref Name of the ref to remove. * @param {ReactOwner} owner Component on which the ref is recorded. * @final * @internal */ removeComponentAsRefFrom: function (component, ref, owner) { !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, '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).') : invariant(false) : void 0; var ownerPublicInstance = owner.getPublicInstance(); // Check that `component`'s owner is still alive and that `component` is still the current ref // because we do not want to detach the ref if another component stole it. if (ownerPublicInstance && ownerPublicInstance.refs[ref] === component.getPublicInstance()) { owner.detachRef(ref); } } }; module.exports = ReactOwner; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 62 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule Transaction */ 'use strict'; var invariant = __webpack_require__(7); /** * `Transaction` creates a black box that is able to wrap any method such that * certain invariants are maintained before and after the method is invoked * (Even if an exception is thrown while invoking the wrapped method). Whoever * instantiates a transaction can provide enforcers of the invariants at * creation time. The `Transaction` class itself will supply one additional * automatic invariant for you - the invariant that any transaction instance * should not be run while it is already being run. You would typically create a * single instance of a `Transaction` for reuse multiple times, that potentially * is used to wrap several different methods. Wrappers are extremely simple - * they only require implementing two methods. * *
    	 *                       wrappers (injected at creation time)
    	 *                                      +        +
    	 *                                      |        |
    	 *                    +-----------------|--------|--------------+
    	 *                    |                 v        |              |
    	 *                    |      +---------------+   |              |
    	 *                    |   +--|    wrapper1   |---|----+         |
    	 *                    |   |  +---------------+   v    |         |
    	 *                    |   |          +-------------+  |         |
    	 *                    |   |     +----|   wrapper2  |--------+   |
    	 *                    |   |     |    +-------------+  |     |   |
    	 *                    |   |     |                     |     |   |
    	 *                    |   v     v                     v     v   | wrapper
    	 *                    | +---+ +---+   +---------+   +---+ +---+ | invariants
    	 * perform(anyMethod) | |   | |   |   |         |   |   | |   | | maintained
    	 * +----------------->|-|---|-|---|-->|anyMethod|---|---|-|---|-|-------->
    	 *                    | |   | |   |   |         |   |   | |   | |
    	 *                    | |   | |   |   |         |   |   | |   | |
    	 *                    | |   | |   |   |         |   |   | |   | |
    	 *                    | +---+ +---+   +---------+   +---+ +---+ |
    	 *                    |  initialize                    close    |
    	 *                    +-----------------------------------------+
    	 * 
    * * Use cases: * - Preserving the input selection ranges before/after reconciliation. * Restoring selection even in the event of an unexpected error. * - Deactivating events while rearranging the DOM, preventing blurs/focuses, * while guaranteeing that afterwards, the event system is reactivated. * - Flushing a queue of collected DOM mutations to the main UI thread after a * reconciliation takes place in a worker thread. * - Invoking any collected `componentDidUpdate` callbacks after rendering new * content. * - (Future use case): Wrapping particular flushes of the `ReactWorker` queue * to preserve the `scrollTop` (an automatic scroll aware DOM). * - (Future use case): Layout calculations before and after DOM updates. * * Transactional plugin API: * - A module that has an `initialize` method that returns any precomputation. * - and a `close` method that accepts the precomputation. `close` is invoked * when the wrapped process is completed, or has failed. * * @param {Array} transactionWrapper Wrapper modules * that implement `initialize` and `close`. * @return {Transaction} Single transaction for reuse in thread. * * @class Transaction */ var Mixin = { /** * Sets up this instance so that it is prepared for collecting metrics. Does * so such that this setup method may be used on an instance that is already * initialized, in a way that does not consume additional memory upon reuse. * That can be useful if you decide to make your subclass of this mixin a * "PooledClass". */ reinitializeTransaction: function () { this.transactionWrappers = this.getTransactionWrappers(); if (this.wrapperInitData) { this.wrapperInitData.length = 0; } else { this.wrapperInitData = []; } this._isInTransaction = false; }, _isInTransaction: false, /** * @abstract * @return {Array} Array of transaction wrappers. */ getTransactionWrappers: null, isInTransaction: function () { return !!this._isInTransaction; }, /** * Executes the function within a safety window. Use this for the top level * methods that result in large amounts of computation/mutations that would * need to be safety checked. The optional arguments helps prevent the need * to bind in many cases. * * @param {function} method Member of scope to call. * @param {Object} scope Scope to invoke from. * @param {Object?=} a Argument to pass to the method. * @param {Object?=} b Argument to pass to the method. * @param {Object?=} c Argument to pass to the method. * @param {Object?=} d Argument to pass to the method. * @param {Object?=} e Argument to pass to the method. * @param {Object?=} f Argument to pass to the method. * * @return {*} Return value from `method`. */ perform: function (method, scope, a, b, c, d, e, f) { !!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there ' + 'is already an outstanding transaction.') : invariant(false) : void 0; var errorThrown; var ret; try { this._isInTransaction = true; // Catching errors makes debugging more difficult, so we start with // errorThrown set to true before setting it to false after calling // close -- if it's still set to true in the finally block, it means // one of these calls threw. errorThrown = true; this.initializeAll(0); ret = method.call(scope, a, b, c, d, e, f); errorThrown = false; } finally { try { if (errorThrown) { // If `method` throws, prefer to show that stack trace over any thrown // by invoking `closeAll`. try { this.closeAll(0); } catch (err) {} } else { // Since `method` didn't throw, we don't want to silence the exception // here. 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 { // Catching errors makes debugging more difficult, so we start with the // OBSERVED_ERROR state before overwriting it with the real return value // of initialize -- if it's still set to OBSERVED_ERROR in the finally // block, it means wrapper.initialize threw. this.wrapperInitData[i] = Transaction.OBSERVED_ERROR; this.wrapperInitData[i] = wrapper.initialize ? wrapper.initialize.call(this) : null; } finally { if (this.wrapperInitData[i] === Transaction.OBSERVED_ERROR) { // The initializer for wrapper i threw an error; initialize the // remaining wrappers but silence any exceptions from them to ensure // that the first error is the one to bubble up. try { this.initializeAll(i + 1); } catch (err) {} } } } }, /** * Invokes each of `this.transactionWrappers.close[i]` functions, passing into * them the respective return values of `this.transactionWrappers.init[i]` * (`close`rs that correspond to initializers that failed will not be * invoked). */ closeAll: function (startIndex) { !this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : invariant(false) : void 0; var transactionWrappers = this.transactionWrappers; for (var i = startIndex; i < transactionWrappers.length; i++) { var wrapper = transactionWrappers[i]; var initData = this.wrapperInitData[i]; var errorThrown; try { // Catching errors makes debugging more difficult, so we start with // errorThrown set to true before setting it to false after calling // close -- if it's still set to true in the finally block, it means // wrapper.close threw. errorThrown = true; if (initData !== Transaction.OBSERVED_ERROR && wrapper.close) { wrapper.close.call(this, initData); } errorThrown = false; } finally { if (errorThrown) { // The closer for wrapper i threw an error; close the remaining // wrappers but silence any exceptions from them to ensure that the // first error is the one to bubble up. try { this.closeAll(i + 1); } catch (e) {} } } } this.wrapperInitData.length = 0; } }; var Transaction = { Mixin: Mixin, /** * Token to look for to determine if an error occurred. */ OBSERVED_ERROR: {} }; module.exports = Transaction; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 63 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getEventTarget */ 'use strict'; /** * Gets the target node from a native browser event by accounting for * inconsistencies in browser DOM APIs. * * @param {object} nativeEvent Native browser event. * @return {DOMEventTarget} Target node. */ function getEventTarget(nativeEvent) { var target = nativeEvent.target || nativeEvent.srcElement || window; // Normalize SVG element events #4963 if (target.correspondingUseElement) { target = target.correspondingUseElement; } // Safari may fire events on text nodes (Node.TEXT_NODE is 3). // @see http://www.quirksmode.org/js/events_properties.html return target.nodeType === 3 ? target.parentNode : target; } module.exports = getEventTarget; /***/ }, /* 64 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule isEventSupported */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var useHasFeature; if (ExecutionEnvironment.canUseDOM) { useHasFeature = document.implementation && document.implementation.hasFeature && // always returns true in newer browsers as per the standard. // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature document.implementation.hasFeature('', '') !== true; } /** * Checks if an event is supported in the current execution environment. * * NOTE: This will not work correctly for non-generic events such as `change`, * `reset`, `load`, `error`, and `select`. * * Borrows from Modernizr. * * @param {string} eventNameSuffix Event name, e.g. "click". * @param {?boolean} capture Check if the capture phase is supported. * @return {boolean} True if the event is supported. * @internal * @license Modernizr 3.0.0pre (Custom Build) | MIT */ function isEventSupported(eventNameSuffix, capture) { if (!ExecutionEnvironment.canUseDOM || capture && !('addEventListener' in document)) { return false; } var eventName = 'on' + eventNameSuffix; var isSupported = eventName in document; if (!isSupported) { var element = document.createElement('div'); element.setAttribute(eventName, 'return;'); isSupported = typeof element[eventName] === 'function'; } if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') { // This is the only way to test support for the `wheel` event in IE9+. isSupported = document.implementation.hasFeature('Events.wheel', '3.0'); } return isSupported; } module.exports = isEventSupported; /***/ }, /* 65 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule isTextInputElement */ 'use strict'; /** * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary */ var supportedInputTypes = { 'color': true, 'date': true, 'datetime': true, 'datetime-local': true, 'email': true, 'month': true, 'number': true, 'password': true, 'range': true, 'search': true, 'tel': true, 'text': true, 'time': true, 'url': true, 'week': true }; function isTextInputElement(elem) { var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); return nodeName && (nodeName === 'input' && supportedInputTypes[elem.type] || nodeName === 'textarea'); } module.exports = isTextInputElement; /***/ }, /* 66 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DefaultEventPluginOrder */ 'use strict'; var keyOf = __webpack_require__(26); /** * Module that is injectable into `EventPluginHub`, that specifies a * deterministic ordering of `EventPlugin`s. A convenient way to reason about * plugins, without having to package every one of them. This is better than * having plugins be ordered in the same order that they are injected because * that ordering would be influenced by the packaging order. * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that * preventing default on events is convenient in `SimpleEventPlugin` handlers. */ var DefaultEventPluginOrder = [keyOf({ ResponderEventPlugin: null }), keyOf({ SimpleEventPlugin: null }), keyOf({ TapEventPlugin: null }), keyOf({ EnterLeaveEventPlugin: null }), keyOf({ ChangeEventPlugin: null }), keyOf({ SelectEventPlugin: null }), keyOf({ BeforeInputEventPlugin: null })]; module.exports = DefaultEventPluginOrder; /***/ }, /* 67 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EnterLeaveEventPlugin */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPropagators = __webpack_require__(41); var ReactDOMComponentTree = __webpack_require__(35); var SyntheticMouseEvent = __webpack_require__(68); var keyOf = __webpack_require__(26); var topLevelTypes = EventConstants.topLevelTypes; var eventTypes = { mouseEnter: { registrationName: keyOf({ onMouseEnter: null }), dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver] }, mouseLeave: { registrationName: keyOf({ onMouseLeave: null }), dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver] } }; var EnterLeaveEventPlugin = { eventTypes: eventTypes, /** * For almost every interaction we care about, there will be both a top-level * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that * we do not extract duplicate events. However, moving the mouse into the * browser from outside will not fire a `mouseout` event. In this case, we use * the `mouseover` top-level event. */ extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { if (topLevelType === topLevelTypes.topMouseOver && (nativeEvent.relatedTarget || nativeEvent.fromElement)) { return null; } if (topLevelType !== topLevelTypes.topMouseOut && topLevelType !== topLevelTypes.topMouseOver) { // Must not be a mouse in or mouse out - ignoring. return null; } var win; if (nativeEventTarget.window === nativeEventTarget) { // `nativeEventTarget` is probably a window object. win = nativeEventTarget; } else { // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. var doc = nativeEventTarget.ownerDocument; if (doc) { win = doc.defaultView || doc.parentWindow; } else { win = window; } } var from; var to; if (topLevelType === topLevelTypes.topMouseOut) { from = targetInst; var related = nativeEvent.relatedTarget || nativeEvent.toElement; to = related ? ReactDOMComponentTree.getClosestInstanceFromNode(related) : null; } else { // Moving to a node from outside the window. from = null; to = targetInst; } if (from === to) { // Nothing pertains to our managed components. return null; } var fromNode = from == null ? win : ReactDOMComponentTree.getNodeFromInstance(from); var toNode = to == null ? win : ReactDOMComponentTree.getNodeFromInstance(to); var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, from, nativeEvent, nativeEventTarget); leave.type = 'mouseleave'; leave.target = fromNode; leave.relatedTarget = toNode; var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, to, nativeEvent, nativeEventTarget); enter.type = 'mouseenter'; enter.target = toNode; enter.relatedTarget = fromNode; EventPropagators.accumulateEnterLeaveDispatches(leave, enter, from, to); return [leave, enter]; } }; module.exports = EnterLeaveEventPlugin; /***/ }, /* 68 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticMouseEvent */ 'use strict'; var SyntheticUIEvent = __webpack_require__(69); var ViewportMetrics = __webpack_require__(70); var getEventModifierState = __webpack_require__(71); /** * @interface MouseEvent * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var MouseEventInterface = { screenX: null, screenY: null, clientX: null, clientY: null, ctrlKey: null, shiftKey: null, altKey: null, metaKey: null, getModifierState: getEventModifierState, button: function (event) { // Webkit, Firefox, IE9+ // which: 1 2 3 // button: 0 1 2 (standard) var button = event.button; if ('which' in event) { return button; } // IE<9 // which: undefined // button: 0 0 0 // button: 1 4 2 (onmouseup) return button === 2 ? 2 : button === 4 ? 1 : 0; }, buttons: null, relatedTarget: function (event) { return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement); }, // "Proprietary" Interface. pageX: function (event) { return 'pageX' in event ? event.pageX : event.clientX + ViewportMetrics.currentScrollLeft; }, pageY: function (event) { return 'pageY' in event ? event.pageY : event.clientY + ViewportMetrics.currentScrollTop; } }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticUIEvent} */ function SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface); module.exports = SyntheticMouseEvent; /***/ }, /* 69 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticUIEvent */ 'use strict'; var SyntheticEvent = __webpack_require__(52); var getEventTarget = __webpack_require__(63); /** * @interface UIEvent * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var UIEventInterface = { view: function (event) { if (event.view) { return event.view; } var target = getEventTarget(event); if (target != null && target.window === target) { // target is a window object return target; } var doc = target.ownerDocument; // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. if (doc) { return doc.defaultView || doc.parentWindow; } else { return window; } }, detail: function (event) { return event.detail || 0; } }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticEvent} */ function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface); module.exports = SyntheticUIEvent; /***/ }, /* 70 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ViewportMetrics */ 'use strict'; var ViewportMetrics = { currentScrollLeft: 0, currentScrollTop: 0, refreshScrollValues: function (scrollPosition) { ViewportMetrics.currentScrollLeft = scrollPosition.x; ViewportMetrics.currentScrollTop = scrollPosition.y; } }; module.exports = ViewportMetrics; /***/ }, /* 71 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getEventModifierState */ 'use strict'; /** * Translation from modifier key to the associated property in the event. * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers */ var modifierKeyToProp = { 'Alt': 'altKey', 'Control': 'ctrlKey', 'Meta': 'metaKey', 'Shift': 'shiftKey' }; // IE8 does not implement getModifierState so we simply map it to the only // modifier keys exposed by the event itself, does not support Lock-keys. // Currently, all major browsers except Chrome seems to support Lock-keys. function modifierStateGetter(keyArg) { var syntheticEvent = this; var nativeEvent = syntheticEvent.nativeEvent; if (nativeEvent.getModifierState) { return nativeEvent.getModifierState(keyArg); } var keyProp = modifierKeyToProp[keyArg]; return keyProp ? !!nativeEvent[keyProp] : false; } function getEventModifierState(nativeEvent) { return modifierStateGetter; } module.exports = getEventModifierState; /***/ }, /* 72 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule HTMLDOMPropertyConfig */ 'use strict'; var DOMProperty = __webpack_require__(36); var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY; var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE; var HAS_SIDE_EFFECTS = DOMProperty.injection.HAS_SIDE_EFFECTS; var HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE; var HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE; var HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE; var HTMLDOMPropertyConfig = { isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')), Properties: { /** * Standard Properties */ accept: 0, acceptCharset: 0, accessKey: 0, action: 0, allowFullScreen: HAS_BOOLEAN_VALUE, allowTransparency: 0, alt: 0, async: HAS_BOOLEAN_VALUE, autoComplete: 0, // autoFocus is polyfilled/normalized by AutoFocusUtils // autoFocus: HAS_BOOLEAN_VALUE, autoPlay: HAS_BOOLEAN_VALUE, capture: HAS_BOOLEAN_VALUE, cellPadding: 0, cellSpacing: 0, charSet: 0, challenge: 0, checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, cite: 0, classID: 0, className: 0, cols: HAS_POSITIVE_NUMERIC_VALUE, colSpan: 0, content: 0, contentEditable: 0, contextMenu: 0, controls: HAS_BOOLEAN_VALUE, coords: 0, crossOrigin: 0, data: 0, // For `` acts as `src`. dateTime: 0, 'default': HAS_BOOLEAN_VALUE, defer: HAS_BOOLEAN_VALUE, dir: 0, disabled: HAS_BOOLEAN_VALUE, download: HAS_OVERLOADED_BOOLEAN_VALUE, draggable: 0, encType: 0, form: 0, formAction: 0, formEncType: 0, formMethod: 0, formNoValidate: HAS_BOOLEAN_VALUE, formTarget: 0, frameBorder: 0, headers: 0, height: 0, hidden: HAS_BOOLEAN_VALUE, high: 0, href: 0, hrefLang: 0, htmlFor: 0, httpEquiv: 0, icon: 0, id: 0, inputMode: 0, integrity: 0, is: 0, keyParams: 0, keyType: 0, kind: 0, label: 0, lang: 0, list: 0, loop: HAS_BOOLEAN_VALUE, low: 0, manifest: 0, marginHeight: 0, marginWidth: 0, max: 0, maxLength: 0, media: 0, mediaGroup: 0, method: 0, min: 0, minLength: 0, // Caution; `option.selected` is not updated if `select.multiple` is // disabled with `removeAttribute`. multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, name: 0, nonce: 0, noValidate: HAS_BOOLEAN_VALUE, open: HAS_BOOLEAN_VALUE, optimum: 0, pattern: 0, placeholder: 0, poster: 0, preload: 0, profile: 0, radioGroup: 0, readOnly: HAS_BOOLEAN_VALUE, rel: 0, required: HAS_BOOLEAN_VALUE, reversed: HAS_BOOLEAN_VALUE, role: 0, rows: HAS_POSITIVE_NUMERIC_VALUE, rowSpan: HAS_NUMERIC_VALUE, sandbox: 0, scope: 0, scoped: HAS_BOOLEAN_VALUE, scrolling: 0, seamless: HAS_BOOLEAN_VALUE, selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, shape: 0, size: HAS_POSITIVE_NUMERIC_VALUE, sizes: 0, span: HAS_POSITIVE_NUMERIC_VALUE, spellCheck: 0, src: 0, srcDoc: 0, srcLang: 0, srcSet: 0, start: HAS_NUMERIC_VALUE, step: 0, style: 0, summary: 0, tabIndex: 0, target: 0, title: 0, // Setting .type throws on non- tags type: 0, useMap: 0, value: MUST_USE_PROPERTY | HAS_SIDE_EFFECTS, width: 0, wmode: 0, wrap: 0, /** * RDFa Properties */ about: 0, datatype: 0, inlist: 0, prefix: 0, // property is also supported for OpenGraph in meta tags. property: 0, resource: 0, 'typeof': 0, vocab: 0, /** * Non-standard Properties */ // autoCapitalize and autoCorrect are supported in Mobile Safari for // keyboard hints. autoCapitalize: 0, autoCorrect: 0, // autoSave allows WebKit/Blink to persist values of input fields on page reloads autoSave: 0, // color is for Safari mask-icon link color: 0, // itemProp, itemScope, itemType are for // Microdata support. See http://schema.org/docs/gs.html itemProp: 0, itemScope: HAS_BOOLEAN_VALUE, itemType: 0, // itemID and itemRef are for Microdata support as well but // only specified in the WHATWG spec document. See // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api itemID: 0, itemRef: 0, // results show looking glass icon and recent searches on input // search fields in WebKit/Blink results: 0, // IE-only attribute that specifies security restrictions on an iframe // as an alternative to the sandbox attribute on IE<10 security: 0, // IE-only attribute that controls focus behavior unselectable: 0 }, DOMAttributeNames: { acceptCharset: 'accept-charset', className: 'class', htmlFor: 'for', httpEquiv: 'http-equiv' }, DOMPropertyNames: {} }; module.exports = HTMLDOMPropertyConfig; /***/ }, /* 73 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactComponentBrowserEnvironment */ 'use strict'; var DOMChildrenOperations = __webpack_require__(74); var ReactDOMIDOperations = __webpack_require__(85); var ReactPerf = __webpack_require__(58); /** * Abstracts away all functionality of the reconciler that requires knowledge of * the browser context. TODO: These callers should be refactored to avoid the * need for this injection. */ var ReactComponentBrowserEnvironment = { processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates, replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup, /** * If a particular environment requires that some resources be cleaned up, * specify this in the injected Mixin. In the DOM, we would likely want to * purge any cached node ID lookups. * * @private */ unmountIDFromEnvironment: function (rootNodeID) {} }; ReactPerf.measureMethods(ReactComponentBrowserEnvironment, 'ReactComponentBrowserEnvironment', { replaceNodeWithMarkup: 'replaceNodeWithMarkup' }); module.exports = ReactComponentBrowserEnvironment; /***/ }, /* 74 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DOMChildrenOperations */ 'use strict'; var DOMLazyTree = __webpack_require__(75); var Danger = __webpack_require__(80); var ReactMultiChildUpdateTypes = __webpack_require__(84); var ReactPerf = __webpack_require__(58); var createMicrosoftUnsafeLocalFunction = __webpack_require__(76); var setInnerHTML = __webpack_require__(79); var setTextContent = __webpack_require__(77); function getNodeAfter(parentNode, node) { // Special case for text components, which return [open, close] comments // from getNativeNode. if (Array.isArray(node)) { node = node[1]; } return node ? node.nextSibling : parentNode.firstChild; } /** * Inserts `childNode` as a child of `parentNode` at the `index`. * * @param {DOMElement} parentNode Parent node in which to insert. * @param {DOMElement} childNode Child node to insert. * @param {number} index Index at which to insert the child. * @internal */ var insertChildAt = createMicrosoftUnsafeLocalFunction(function (parentNode, childNode, referenceNode) { // We rely exclusively on `insertBefore(node, null)` instead of also using // `appendChild(node)`. (Using `undefined` is not allowed by all browsers so // we are careful to use `null`.) parentNode.insertBefore(childNode, referenceNode); }); function insertLazyTreeChildAt(parentNode, childTree, referenceNode) { DOMLazyTree.insertTreeBefore(parentNode, childTree, referenceNode); } function moveChild(parentNode, childNode, referenceNode) { if (Array.isArray(childNode)) { moveDelimitedText(parentNode, childNode[0], childNode[1], referenceNode); } else { insertChildAt(parentNode, childNode, referenceNode); } } function removeChild(parentNode, childNode) { if (Array.isArray(childNode)) { var closingComment = childNode[1]; childNode = childNode[0]; removeDelimitedText(parentNode, childNode, closingComment); parentNode.removeChild(closingComment); } parentNode.removeChild(childNode); } function moveDelimitedText(parentNode, openingComment, closingComment, referenceNode) { var node = openingComment; while (true) { var nextNode = node.nextSibling; insertChildAt(parentNode, node, referenceNode); if (node === closingComment) { break; } node = nextNode; } } function removeDelimitedText(parentNode, startNode, closingComment) { while (true) { var node = startNode.nextSibling; if (node === closingComment) { // The closing comment is removed by ReactMultiChild. break; } else { parentNode.removeChild(node); } } } function replaceDelimitedText(openingComment, closingComment, stringText) { var parentNode = openingComment.parentNode; var nodeAfterComment = openingComment.nextSibling; if (nodeAfterComment === closingComment) { // There are no text nodes between the opening and closing comments; insert // a new one if stringText isn't empty. if (stringText) { insertChildAt(parentNode, document.createTextNode(stringText), nodeAfterComment); } } else { if (stringText) { // Set the text content of the first node after the opening comment, and // remove all following nodes up until the closing comment. setTextContent(nodeAfterComment, stringText); removeDelimitedText(parentNode, nodeAfterComment, closingComment); } else { removeDelimitedText(parentNode, openingComment, closingComment); } } } /** * Operations for updating with DOM children. */ var DOMChildrenOperations = { dangerouslyReplaceNodeWithMarkup: Danger.dangerouslyReplaceNodeWithMarkup, replaceDelimitedText: replaceDelimitedText, /** * Updates a component's children by processing a series of updates. The * update configurations are each expected to have a `parentNode` property. * * @param {array} updates List of update configurations. * @internal */ processUpdates: function (parentNode, updates) { for (var k = 0; k < updates.length; k++) { var update = updates[k]; switch (update.type) { case ReactMultiChildUpdateTypes.INSERT_MARKUP: insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode)); break; case ReactMultiChildUpdateTypes.MOVE_EXISTING: moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode)); break; case ReactMultiChildUpdateTypes.SET_MARKUP: setInnerHTML(parentNode, update.content); break; case ReactMultiChildUpdateTypes.TEXT_CONTENT: setTextContent(parentNode, update.content); break; case ReactMultiChildUpdateTypes.REMOVE_NODE: removeChild(parentNode, update.fromNode); break; } } } }; ReactPerf.measureMethods(DOMChildrenOperations, 'DOMChildrenOperations', { replaceDelimitedText: 'replaceDelimitedText' }); module.exports = DOMChildrenOperations; /***/ }, /* 75 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DOMLazyTree */ 'use strict'; var createMicrosoftUnsafeLocalFunction = __webpack_require__(76); var setTextContent = __webpack_require__(77); /** * In IE (8-11) and Edge, appending nodes with no children is dramatically * faster than appending a full subtree, so we essentially queue up the * .appendChild calls here and apply them so each node is added to its parent * before any children are added. * * In other browsers, doing so is slower or neutral compared to the other order * (in Firefox, twice as slow) so we only do this inversion in IE. * * See https://github.com/spicyj/innerhtml-vs-createelement-vs-clonenode. */ var enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\bEdge\/\d/.test(navigator.userAgent); function insertTreeChildren(tree) { if (!enableLazy) { return; } var node = tree.node; var children = tree.children; if (children.length) { for (var i = 0; i < children.length; i++) { insertTreeBefore(node, children[i], null); } } else if (tree.html != null) { node.innerHTML = tree.html; } else if (tree.text != null) { setTextContent(node, tree.text); } } var insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) { // DocumentFragments aren't actually part of the DOM after insertion so // appending children won't update the DOM. We need to ensure the fragment // is properly populated first, breaking out of our lazy approach for just // this level. if (tree.node.nodeType === 11) { insertTreeChildren(tree); parentNode.insertBefore(tree.node, referenceNode); } else { parentNode.insertBefore(tree.node, referenceNode); insertTreeChildren(tree); } }); function replaceChildWithTree(oldNode, newTree) { oldNode.parentNode.replaceChild(newTree.node, oldNode); insertTreeChildren(newTree); } function queueChild(parentTree, childTree) { if (enableLazy) { parentTree.children.push(childTree); } else { parentTree.node.appendChild(childTree.node); } } function queueHTML(tree, html) { if (enableLazy) { tree.html = html; } else { tree.node.innerHTML = html; } } function queueText(tree, text) { if (enableLazy) { tree.text = text; } else { setTextContent(tree.node, text); } } function DOMLazyTree(node) { return { node: node, children: [], html: null, text: null }; } DOMLazyTree.insertTreeBefore = insertTreeBefore; DOMLazyTree.replaceChildWithTree = replaceChildWithTree; DOMLazyTree.queueChild = queueChild; DOMLazyTree.queueHTML = queueHTML; DOMLazyTree.queueText = queueText; module.exports = DOMLazyTree; /***/ }, /* 76 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule createMicrosoftUnsafeLocalFunction */ /* globals MSApp */ 'use strict'; /** * Create a function which has 'unsafe' privileges (required by windows8 apps) */ var createMicrosoftUnsafeLocalFunction = function (func) { if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) { return function (arg0, arg1, arg2, arg3) { MSApp.execUnsafeLocalFunction(function () { return func(arg0, arg1, arg2, arg3); }); }; } else { return func; } }; module.exports = createMicrosoftUnsafeLocalFunction; /***/ }, /* 77 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule setTextContent */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var escapeTextContentForBrowser = __webpack_require__(78); var setInnerHTML = __webpack_require__(79); /** * Set the textContent property of a node, ensuring that whitespace is preserved * even in IE8. innerText is a poor substitute for textContent and, among many * issues, inserts
    instead of the literal newline chars. innerHTML behaves * as it should. * * @param {DOMElement} node * @param {string} text * @internal */ var setTextContent = function (node, text) { node.textContent = text; }; if (ExecutionEnvironment.canUseDOM) { if (!('textContent' in document.documentElement)) { setTextContent = function (node, text) { setInnerHTML(node, escapeTextContentForBrowser(text)); }; } } module.exports = setTextContent; /***/ }, /* 78 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule escapeTextContentForBrowser */ 'use strict'; var ESCAPE_LOOKUP = { '&': '&', '>': '>', '<': '<', '"': '"', '\'': ''' }; var ESCAPE_REGEX = /[&><"']/g; function escaper(match) { return ESCAPE_LOOKUP[match]; } /** * Escapes text to prevent scripting attacks. * * @param {*} text Text value to escape. * @return {string} An escaped string. */ function escapeTextContentForBrowser(text) { return ('' + text).replace(ESCAPE_REGEX, escaper); } module.exports = escapeTextContentForBrowser; /***/ }, /* 79 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule setInnerHTML */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var WHITESPACE_TEST = /^[ \r\n\t\f]/; var NONVISIBLE_TEST = /<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/; var createMicrosoftUnsafeLocalFunction = __webpack_require__(76); /** * Set the innerHTML property of a node, ensuring that whitespace is preserved * even in IE8. * * @param {DOMElement} node * @param {string} html * @internal */ var setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) { node.innerHTML = html; }); if (ExecutionEnvironment.canUseDOM) { // IE8: When updating a just created node with innerHTML only leading // whitespace is removed. When updating an existing node with innerHTML // whitespace in root TextNodes is also collapsed. // @see quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.html // Feature detection; only IE8 is known to behave improperly like this. var testElement = document.createElement('div'); testElement.innerHTML = ' '; if (testElement.innerHTML === '') { setInnerHTML = function (node, html) { // Magic theory: IE8 supposedly differentiates between added and updated // nodes when processing innerHTML, innerHTML on updated nodes suffers // from worse whitespace behavior. Re-adding a node like this triggers // the initial and more favorable whitespace behavior. // TODO: What to do on a detached node? if (node.parentNode) { node.parentNode.replaceChild(node, node); } // We also implement a workaround for non-visible tags disappearing into // thin air on IE8, this only happens if there is no visible text // in-front of the non-visible tags. Piggyback on the whitespace fix // and simply check if any non-visible tags appear in the source. if (WHITESPACE_TEST.test(html) || html[0] === '<' && NONVISIBLE_TEST.test(html)) { // Recover leading whitespace by temporarily prepending any character. // \uFEFF has the potential advantage of being zero-width/invisible. // UglifyJS drops U+FEFF chars when parsing, so use String.fromCharCode // in hopes that this is preserved even if "\uFEFF" is transformed to // the actual Unicode character (by Babel, for example). // https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216 node.innerHTML = String.fromCharCode(0xFEFF) + html; // deleteData leaves an empty `TextNode` which offsets the index of all // children. Definitely want to avoid this. var textNode = node.firstChild; if (textNode.data.length === 1) { node.removeChild(textNode); } else { textNode.deleteData(0, 1); } } else { node.innerHTML = html; } }; } testElement = null; } module.exports = setInnerHTML; /***/ }, /* 80 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule Danger */ 'use strict'; var DOMLazyTree = __webpack_require__(75); var ExecutionEnvironment = __webpack_require__(48); var createNodesFromMarkup = __webpack_require__(81); var emptyFunction = __webpack_require__(11); var getMarkupWrap = __webpack_require__(83); var invariant = __webpack_require__(7); var OPEN_TAG_NAME_EXP = /^(<[^ \/>]+)/; var RESULT_INDEX_ATTR = 'data-danger-index'; /** * Extracts the `nodeName` from a string of markup. * * NOTE: Extracting the `nodeName` does not require a regular expression match * because we make assumptions about React-generated markup (i.e. there are no * spaces surrounding the opening tag and there is at least one attribute). * * @param {string} markup String of markup. * @return {string} Node name of the supplied markup. * @see http://jsperf.com/extract-nodename */ function getNodeName(markup) { return markup.substring(1, markup.indexOf(' ')); } var Danger = { /** * Renders markup into an array of nodes. The markup is expected to render * into a list of root nodes. Also, the length of `resultList` and * `markupList` should be the same. * * @param {array} markupList List of markup strings to render. * @return {array} List of rendered nodes. * @internal */ dangerouslyRenderMarkup: function (markupList) { !ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyRenderMarkup(...): Cannot render markup in a worker ' + 'thread. Make sure `window` and `document` are available globally ' + 'before requiring React when unit testing or use ' + 'ReactDOMServer.renderToString for server rendering.') : invariant(false) : void 0; var nodeName; var markupByNodeName = {}; // Group markup by `nodeName` if a wrap is necessary, else by '*'. for (var i = 0; i < markupList.length; i++) { !markupList[i] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyRenderMarkup(...): Missing markup.') : invariant(false) : void 0; nodeName = getNodeName(markupList[i]); nodeName = getMarkupWrap(nodeName) ? nodeName : '*'; markupByNodeName[nodeName] = markupByNodeName[nodeName] || []; markupByNodeName[nodeName][i] = markupList[i]; } var resultList = []; var resultListAssignmentCount = 0; for (nodeName in markupByNodeName) { if (!markupByNodeName.hasOwnProperty(nodeName)) { continue; } var markupListByNodeName = markupByNodeName[nodeName]; // This for-in loop skips the holes of the sparse array. The order of // iteration should follow the order of assignment, which happens to match // numerical index order, but we don't rely on that. var resultIndex; for (resultIndex in markupListByNodeName) { if (markupListByNodeName.hasOwnProperty(resultIndex)) { var markup = markupListByNodeName[resultIndex]; // Push the requested markup with an additional RESULT_INDEX_ATTR // attribute. If the markup does not start with a < character, it // will be discarded below (with an appropriate console.error). markupListByNodeName[resultIndex] = markup.replace(OPEN_TAG_NAME_EXP, // This index will be parsed back out below. '$1 ' + RESULT_INDEX_ATTR + '="' + resultIndex + '" '); } } // Render each group of markup with similar wrapping `nodeName`. var renderNodes = createNodesFromMarkup(markupListByNodeName.join(''), emptyFunction // Do nothing special with ================================================ FILE: Day 004 - React App with Firebase + Realtime Data Validation/webpack.config.js ================================================ module.exports = { entry: "./app/App.js", output: { filename: "public/bundle.js" }, module: { loaders: [ { test: /\.jsx?$/, exclude: /(node_modules|bower_components)/, loader: 'babel', query: { presets: ['react', 'es2015'] } } ] } } ================================================ FILE: Day 005 - React App with Axios for server requests/README.md ================================================ 100DaysOfCode Challenge - React App #DAY 5 - Making Server request in React with Axios Day 5 was about bringing it all together and wrapping up the app. Finalized the user profile and repos component by retrieving data from github API using Axios to make promise based HTTP request. - Introduced HTTP network capability to the app using Axios to make github API calls. - Wrapped up all components together to allow searching github for bios and repos using axios as well as note taking ability using firebase - React App completed Read more about it on medium here: https://medium.com/@harinilabs About me and other interesting projects on my website: http://HariniLabs.com/ ================================================ FILE: Day 005 - React App with Axios for server requests/app/App.js ================================================ var React = require('react'); var ReactDOM = require('react-dom'); var Router = require('react-router').Router; var routes = require('./config/routes'); ReactDOM.render( {routes}, document.getElementById('app') ) ================================================ FILE: Day 005 - React App with Axios for server requests/app/components/Github/Repos.js ================================================ var React = require('react'); var Repos = React.createClass({ propTypes: { username: React.PropTypes.string.isRequired, repos: React.PropTypes.array.isRequired }, render: function(){ var repos = this.props.repos.map(function(repo, index){ return (
  • {repo.html_url &&

    {repo.name}

    } {repo.description &&

    {repo.description}

    }
  • ) }); return (

    User Repos

      {repos}
    ) } }) module.exports = Repos; ================================================ FILE: Day 005 - React App with Axios for server requests/app/components/Github/UserProfile.js ================================================ var React = require('react'); var UserProfile = React.createClass({ propTypes: { username: React.PropTypes.string.isRequired, bio: React.PropTypes.object.isRequired }, render: function(){ return (
    {this.props.bio.avatar_url &&
  • } {this.props.bio.name &&
  • Name: {this.props.bio.name}
  • } {this.props.bio.login &&
  • Username: {this.props.bio.login}
  • } {this.props.bio.email &&
  • Email: {this.props.bio.email}
  • } {this.props.bio.location &&
  • Location: {this.props.bio.location}
  • } {this.props.bio.company &&
  • Company: {this.props.bio.company}
  • } {this.props.bio.followers &&
  • Followers: {this.props.bio.followers}
  • } {this.props.bio.following &&
  • Following: {this.props.bio.following}
  • } {this.props.bio.following &&
  • Public Repos: {this.props.bio.public_repos}
  • } {this.props.bio.blog &&
  • Blog: {this.props.bio.blog}
  • }
    ) } }) module.exports = UserProfile; ================================================ FILE: Day 005 - React App with Axios for server requests/app/components/Home.js ================================================ var React = require('react'); var Home = React.createClass({ render: function(){ return(

    Search By Github Username Above

    ) } }) module.exports = Home; ================================================ FILE: Day 005 - React App with Axios for server requests/app/components/Main.js ================================================ var React = require('react'); var SearchGithub = require('./SearchGithub'); var Main = React.createClass({ render: function(){ return (
    {this.props.children}
    ) } }); module.exports = Main; ================================================ FILE: Day 005 - React App with Axios for server requests/app/components/Notes/AddNote.js ================================================ var React = require('react'); var AddNote = React.createClass({ propTypes: { username: React.PropTypes.string.isRequired, addNote: React.PropTypes.func.isRequired }, setRef: function(ref){ this.note = ref; }, handleSubmit: function(){ var newNote = this.note.value; this.note.value = ''; this.props.addNote(newNote) }, render: function(){ return (
    ) } }); module.exports = AddNote; ================================================ FILE: Day 005 - React App with Axios for server requests/app/components/Notes/Notes.js ================================================ var React = require('react'); var NotesList = require('./NotesList'); var AddNote = require('./AddNote'); var Notes = React.createClass({ propTypes: { username: React.PropTypes.string.isRequired, notes: React.PropTypes.array.isRequired, addNote: React.PropTypes.func.isRequired, }, render: function(){ return (

    Notes for {this.props.username}

    ) } }) module.exports = Notes; ================================================ FILE: Day 005 - React App with Axios for server requests/app/components/Notes/NotesList.js ================================================ var React = require('react') var NotesList = React.createClass({ render: function(){ var notes = this.props.notes.map(function(note, index){ return
  • {note['.value']}
  • }) return (
      {notes}
    ) } }); module.exports = NotesList; ================================================ FILE: Day 005 - React App with Axios for server requests/app/components/Profile.js ================================================ var React = require('react'); var Router = require('react-router'); var Repos = require('./Github/Repos'); var UserProfile = require('./Github/UserProfile'); var Notes = require('./Notes/Notes'); var ReactFireMixin = require('reactfire'); var Firebase = require('firebase'); var helpers = require('../utils/helpers'); var Profile = React.createClass({ mixins: [ReactFireMixin], getInitialState: function(){ return { notes: [1,2,3], bio: {}, repos: [] } }, componentDidMount: function(){ this.ref = new Firebase('https://amber-fire-5168.firebaseio.com'); var childRef = this.ref.child(this.props.params.username); this.bindAsArray(childRef, 'notes'); helpers.getGithubInfo(this.props.params.username) .then(function(data){ this.setState({ bio: data.bio, repos: data.repos }) }.bind(this)) }, componentWillUnmount: function(){ this.unbind('notes'); }, handleAddNote: function(newNote){ this.ref.child(this.props.params.username).child(this.state.notes.length).set(newNote) }, render: function(){ return (
    ) } }) module.exports = Profile; ================================================ FILE: Day 005 - React App with Axios for server requests/app/components/SearchGithub.js ================================================ var React = require('react'); var Router = require('react-router'); var SearchGithub = React.createClass({ mixins: [Router.History], getRef: function(ref){ this.usernameRef = ref; }, handleSubmit: function(){ var username = this.usernameRef.value; this.usernameRef.value = ''; this.history.pushState(null, "//profile/" + username) }, render: function(){ return (
    ) } }); module.exports = SearchGithub; ================================================ FILE: Day 005 - React App with Axios for server requests/app/config/routes.js ================================================ var React = require('react'); var Main = require('../components/Main'); var Home = require('../components/Home'); var Profile = require('../components/Profile'); var Router = require('react-router'); var Route = Router.Route; var IndexRoute = Router.IndexRoute; module.exports = ( ); ================================================ FILE: Day 005 - React App with Axios for server requests/app/utils/helpers.js ================================================ var axios = require('axios'); function getRepos(username){ return axios.get('https://api.github.com/users/' + username + '/repos'); } function getUserInfo(username){ return axios.get('https://api.github.com/users/' + username); } var helpers = { getGithubInfo: function(username){ return axios.all([getRepos(username), getUserInfo(username)]) .then(function(arr){ return { repos: arr[0].data, bio: arr[1].data } }) } } module.exports = helpers; ================================================ FILE: Day 005 - React App with Axios for server requests/package.json ================================================ { "name": "reactapp", "version": "1.0.0", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "axios": "^0.11.0", "firebase": "^2.4.2", "history": "^2.1.1", "react": "^15.0.2", "react-router": "^2.4.0", "reactfire": "^0.7.0" }, "devDependencies": { "babel-core": "github:node_modules/babel-core", "babel-loader": "github:node_modules/babel-loader", "babel-preset-es2015": "^6.6.0", "babel-preset-es2016": "^6.0.11", "babel-preset-react": "github:node_modules/babel-preset-react", "webpack": "^1.13.0" }, "description": "" } ================================================ FILE: Day 005 - React App with Axios for server requests/public/bundle.js ================================================ /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ }; /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ // Flag the module as loaded /******/ module.loaded = true; /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ // Load entry module and return exports /******/ return __webpack_require__(0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var React = __webpack_require__(1); var ReactDOM = __webpack_require__(33); var Router = __webpack_require__(168).Router; var routes = __webpack_require__(231); ReactDOM.render(React.createElement( Router, null, routes ), document.getElementById('app')); /***/ }, /* 1 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; module.exports = __webpack_require__(2); /***/ }, /* 2 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule React */ 'use strict'; var _assign = __webpack_require__(4); var ReactChildren = __webpack_require__(5); var ReactComponent = __webpack_require__(16); var ReactClass = __webpack_require__(22); var ReactDOMFactories = __webpack_require__(27); var ReactElement = __webpack_require__(8); var ReactElementValidator = __webpack_require__(28); var ReactPropTypes = __webpack_require__(30); var ReactVersion = __webpack_require__(31); var onlyChild = __webpack_require__(32); var warning = __webpack_require__(10); var createElement = ReactElement.createElement; var createFactory = ReactElement.createFactory; var cloneElement = ReactElement.cloneElement; if (process.env.NODE_ENV !== 'production') { createElement = ReactElementValidator.createElement; createFactory = ReactElementValidator.createFactory; cloneElement = ReactElementValidator.cloneElement; } var __spread = _assign; if (process.env.NODE_ENV !== 'production') { var warned = false; __spread = function () { process.env.NODE_ENV !== 'production' ? warning(warned, 'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See https://fb.me/react-spread-deprecation for more details.') : void 0; warned = true; return _assign.apply(null, arguments); }; } var React = { // Modern Children: { map: ReactChildren.map, forEach: ReactChildren.forEach, count: ReactChildren.count, toArray: ReactChildren.toArray, only: onlyChild }, Component: ReactComponent, createElement: createElement, cloneElement: cloneElement, isValidElement: ReactElement.isValidElement, // Classic PropTypes: ReactPropTypes, createClass: ReactClass.createClass, createFactory: createFactory, createMixin: function (mixin) { // Currently a noop. Will be used to validate and trace mixins. return mixin; }, // This looks DOM specific but these are actually isomorphic helpers // since they are just generating DOM strings. DOM: ReactDOMFactories, version: ReactVersion, // Deprecated hook for JSX spread, don't use this for anything. __spread: __spread }; module.exports = React; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 3 */ /***/ function(module, exports) { // shim for using process in browser var process = module.exports = {}; var queue = []; var draining = false; var currentQueue; var queueIndex = -1; function cleanUpNextTick() { if (!draining || !currentQueue) { return; } draining = false; if (currentQueue.length) { queue = currentQueue.concat(queue); } else { queueIndex = -1; } if (queue.length) { drainQueue(); } } function drainQueue() { if (draining) { return; } var timeout = setTimeout(cleanUpNextTick); draining = true; var len = queue.length; while(len) { currentQueue = queue; queue = []; while (++queueIndex < len) { if (currentQueue) { currentQueue[queueIndex].run(); } } queueIndex = -1; len = queue.length; } currentQueue = null; draining = false; clearTimeout(timeout); } process.nextTick = function (fun) { var args = new Array(arguments.length - 1); if (arguments.length > 1) { for (var i = 1; i < arguments.length; i++) { args[i - 1] = arguments[i]; } } queue.push(new Item(fun, args)); if (queue.length === 1 && !draining) { setTimeout(drainQueue, 0); } }; // v8 likes predictible objects function Item(fun, array) { this.fun = fun; this.array = array; } Item.prototype.run = function () { this.fun.apply(null, this.array); }; process.title = 'browser'; process.browser = true; process.env = {}; process.argv = []; process.version = ''; // empty string to avoid regexp issues process.versions = {}; function noop() {} process.on = noop; process.addListener = noop; process.once = noop; process.off = noop; process.removeListener = noop; process.removeAllListeners = noop; process.emit = noop; process.binding = function (name) { throw new Error('process.binding is not supported'); }; process.cwd = function () { return '/' }; process.chdir = function (dir) { throw new Error('process.chdir is not supported'); }; process.umask = function() { return 0; }; /***/ }, /* 4 */ /***/ function(module, exports) { 'use strict'; /* eslint-disable no-unused-vars */ var hasOwnProperty = Object.prototype.hasOwnProperty; var propIsEnumerable = Object.prototype.propertyIsEnumerable; function toObject(val) { if (val === null || val === undefined) { throw new TypeError('Object.assign cannot be called with null or undefined'); } return Object(val); } function shouldUseNative() { try { if (!Object.assign) { return false; } // Detect buggy property enumeration order in older V8 versions. // https://bugs.chromium.org/p/v8/issues/detail?id=4118 var test1 = new String('abc'); // eslint-disable-line test1[5] = 'de'; if (Object.getOwnPropertyNames(test1)[0] === '5') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test2 = {}; for (var i = 0; i < 10; i++) { test2['_' + String.fromCharCode(i)] = i; } var order2 = Object.getOwnPropertyNames(test2).map(function (n) { return test2[n]; }); if (order2.join('') !== '0123456789') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test3 = {}; 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { test3[letter] = letter; }); if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') { return false; } return true; } catch (e) { // We don't expect any of the above to throw, but better to be safe. return false; } } module.exports = shouldUseNative() ? Object.assign : function (target, source) { var from; var to = toObject(target); var symbols; for (var s = 1; s < arguments.length; s++) { from = Object(arguments[s]); for (var key in from) { if (hasOwnProperty.call(from, key)) { to[key] = from[key]; } } if (Object.getOwnPropertySymbols) { symbols = Object.getOwnPropertySymbols(from); for (var i = 0; i < symbols.length; i++) { if (propIsEnumerable.call(from, symbols[i])) { to[symbols[i]] = from[symbols[i]]; } } } } return to; }; /***/ }, /* 5 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactChildren */ 'use strict'; var PooledClass = __webpack_require__(6); var ReactElement = __webpack_require__(8); var emptyFunction = __webpack_require__(11); var traverseAllChildren = __webpack_require__(13); var twoArgumentPooler = PooledClass.twoArgumentPooler; var fourArgumentPooler = PooledClass.fourArgumentPooler; var userProvidedKeyEscapeRegex = /\/+/g; function escapeUserProvidedKey(text) { return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/'); } /** * PooledClass representing the bookkeeping associated with performing a child * traversal. Allows avoiding binding callbacks. * * @constructor ForEachBookKeeping * @param {!function} forEachFunction Function to perform traversal with. * @param {?*} forEachContext Context to perform context with. */ function ForEachBookKeeping(forEachFunction, forEachContext) { this.func = forEachFunction; this.context = forEachContext; this.count = 0; } ForEachBookKeeping.prototype.destructor = function () { this.func = null; this.context = null; this.count = 0; }; PooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler); function forEachSingleChild(bookKeeping, child, name) { var func = bookKeeping.func; var context = bookKeeping.context; func.call(context, child, bookKeeping.count++); } /** * Iterates through children that are typically specified as `props.children`. * * The provided forEachFunc(child, index) will be called for each * leaf child. * * @param {?*} children Children tree container. * @param {function(*, int)} forEachFunc * @param {*} forEachContext Context for forEachContext. */ function forEachChildren(children, forEachFunc, forEachContext) { if (children == null) { return children; } var traverseContext = ForEachBookKeeping.getPooled(forEachFunc, forEachContext); traverseAllChildren(children, forEachSingleChild, traverseContext); ForEachBookKeeping.release(traverseContext); } /** * PooledClass representing the bookkeeping associated with performing a child * mapping. Allows avoiding binding callbacks. * * @constructor MapBookKeeping * @param {!*} mapResult Object containing the ordered map of results. * @param {!function} mapFunction Function to perform mapping with. * @param {?*} mapContext Context to perform mapping with. */ function MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) { this.result = mapResult; this.keyPrefix = keyPrefix; this.func = mapFunction; this.context = mapContext; this.count = 0; } MapBookKeeping.prototype.destructor = function () { this.result = null; this.keyPrefix = null; this.func = null; this.context = null; this.count = 0; }; PooledClass.addPoolingTo(MapBookKeeping, fourArgumentPooler); function mapSingleChildIntoContext(bookKeeping, child, childKey) { var result = bookKeeping.result; var keyPrefix = bookKeeping.keyPrefix; var func = bookKeeping.func; var context = bookKeeping.context; var mappedChild = func.call(context, child, bookKeeping.count++); if (Array.isArray(mappedChild)) { mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, emptyFunction.thatReturnsArgument); } else if (mappedChild != null) { if (ReactElement.isValidElement(mappedChild)) { mappedChild = ReactElement.cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as // traverseAllChildren used to do for objects as children keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey); } result.push(mappedChild); } } function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) { var escapedPrefix = ''; if (prefix != null) { escapedPrefix = escapeUserProvidedKey(prefix) + '/'; } var traverseContext = MapBookKeeping.getPooled(array, escapedPrefix, func, context); traverseAllChildren(children, mapSingleChildIntoContext, traverseContext); MapBookKeeping.release(traverseContext); } /** * Maps children that are typically specified as `props.children`. * * The provided mapFunction(child, index) will be called for each * leaf child. * * @param {?*} children Children tree container. * @param {function(*, int)} func The map function. * @param {*} context Context for mapFunction. * @return {object} Object containing the ordered map of results. */ function mapChildren(children, func, context) { if (children == null) { return children; } var result = []; mapIntoWithKeyPrefixInternal(children, result, null, func, context); return result; } function forEachSingleChildDummy(traverseContext, child, name) { return null; } /** * Count the number of children that are typically specified as * `props.children`. * * @param {?*} children Children tree container. * @return {number} The number of children. */ function countChildren(children, context) { return traverseAllChildren(children, forEachSingleChildDummy, null); } /** * Flatten a children object (typically specified as `props.children`) and * return an array with appropriately re-keyed children. */ function toArray(children) { var result = []; mapIntoWithKeyPrefixInternal(children, result, null, emptyFunction.thatReturnsArgument); return result; } var ReactChildren = { forEach: forEachChildren, map: mapChildren, mapIntoWithKeyPrefixInternal: mapIntoWithKeyPrefixInternal, count: countChildren, toArray: toArray }; module.exports = ReactChildren; /***/ }, /* 6 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule PooledClass */ 'use strict'; var invariant = __webpack_require__(7); /** * Static poolers. Several custom versions for each potential number of * arguments. A completely generic pooler is easy to implement, but would * require accessing the `arguments` object. In each of these, `this` refers to * the Class itself, not an instance. If any others are needed, simply add them * here, or in their own files. */ 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; !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : invariant(false) : void 0; instance.destructor(); if (Klass.instancePool.length < Klass.poolSize) { Klass.instancePool.push(instance); } }; var DEFAULT_POOL_SIZE = 10; var DEFAULT_POOLER = oneArgumentPooler; /** * Augments `CopyConstructor` to be a poolable class, augmenting only the class * itself (statically) not adding any prototypical fields. Any CopyConstructor * you give this may have a `poolSize` property, and will look for a * prototypical `destructor` on instances (optional). * * @param {Function} CopyConstructor Constructor that can be used to reset. * @param {Function} pooler Customizable pooler. */ 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; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 7 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; /** * Use invariant() to assert state which your program assumes to be true. * * Provide sprintf-style format (only %s is supported) and arguments * to provide information about what broke and what you were * expecting. * * The invariant message will be stripped in production, but the invariant * will remain to ensure logic does not differ in production. */ function invariant(condition, format, a, b, c, d, e, f) { if (process.env.NODE_ENV !== 'production') { 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(format.replace(/%s/g, function () { return args[argIndex++]; })); error.name = 'Invariant Violation'; } error.framesToPop = 1; // we don't care about invariant's own frame throw error; } } module.exports = invariant; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 8 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactElement */ 'use strict'; var _assign = __webpack_require__(4); var ReactCurrentOwner = __webpack_require__(9); var warning = __webpack_require__(10); var canDefineProperty = __webpack_require__(12); // The Symbol used to tag the ReactElement type. If there is no native Symbol // nor polyfill, then a plain number is used for performance. 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 specialPropKeyWarningShown, specialPropRefWarningShown; /** * Factory method to create a new React element. This no longer adheres to * the class pattern, so do not use new to call it. Also, no instanceof check * will work. Instead test $$typeof field against Symbol.for('react.element') to check * if something is a React Element. * * @param {*} type * @param {*} key * @param {string|object} ref * @param {*} self A *temporary* helper to detect places where `this` is * different from the `owner` when React.createElement is called, so that we * can warn. We want to get rid of owner and replace string `ref`s with arrow * functions, and as long as `this` and owner are the same, there will be no * change in behavior. * @param {*} source An annotation object (added by a transpiler or otherwise) * indicating filename, line number, and/or other information. * @param {*} owner * @param {*} props * @internal */ var ReactElement = function (type, key, ref, self, source, owner, props) { var element = { // This tag allow us to uniquely identify this as a React Element $$typeof: REACT_ELEMENT_TYPE, // Built-in properties that belong on the element type: type, key: key, ref: ref, props: props, // Record the component responsible for creating this element. _owner: owner }; if (process.env.NODE_ENV !== 'production') { // The validation flag is currently mutative. We put it on // an external backing store so that we can freeze the whole object. // This can be replaced with a WeakMap once they are implemented in // commonly used development environments. element._store = {}; // To make comparing ReactElements easier for testing purposes, we make // the validation flag non-enumerable (where possible, which should // include every environment we run tests in), so the test framework // ignores it. if (canDefineProperty) { Object.defineProperty(element._store, 'validated', { configurable: false, enumerable: false, writable: true, value: false }); // self and source are DEV only properties. Object.defineProperty(element, '_self', { configurable: false, enumerable: false, writable: false, value: self }); // Two elements created in two different places should be considered // equal for testing purposes and therefore we hide it from enumeration. Object.defineProperty(element, '_source', { configurable: false, enumerable: false, writable: false, value: source }); } else { element._store.validated = false; element._self = self; element._source = source; } if (Object.freeze) { Object.freeze(element.props); Object.freeze(element); } } return element; }; ReactElement.createElement = function (type, config, children) { var propName; // Reserved names are extracted var props = {}; var key = null; var ref = null; var self = null; var source = null; if (config != null) { if (process.env.NODE_ENV !== 'production') { ref = !config.hasOwnProperty('ref') || Object.getOwnPropertyDescriptor(config, 'ref').get ? null : config.ref; key = !config.hasOwnProperty('key') || Object.getOwnPropertyDescriptor(config, 'key').get ? null : '' + config.key; } else { 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; // Remaining properties are added to a new props object for (propName in config) { if (config.hasOwnProperty(propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { props[propName] = config[propName]; } } } // Children can be more than one argument, and those are transferred onto // the newly allocated props object. 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; } // Resolve default props if (type && type.defaultProps) { var defaultProps = type.defaultProps; for (propName in defaultProps) { if (props[propName] === undefined) { props[propName] = defaultProps[propName]; } } } if (process.env.NODE_ENV !== 'production') { // Create dummy `key` and `ref` property to `props` to warn users // against its use if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) { if (!props.hasOwnProperty('key')) { Object.defineProperty(props, 'key', { get: function () { if (!specialPropKeyWarningShown) { specialPropKeyWarningShown = true; process.env.NODE_ENV !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', typeof type === 'function' && 'displayName' in type ? type.displayName : 'Element') : void 0; } return undefined; }, configurable: true }); } if (!props.hasOwnProperty('ref')) { Object.defineProperty(props, 'ref', { get: function () { if (!specialPropRefWarningShown) { specialPropRefWarningShown = true; process.env.NODE_ENV !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', typeof type === 'function' && 'displayName' in type ? type.displayName : 'Element') : void 0; } return undefined; }, configurable: true }); } } } return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); }; ReactElement.createFactory = function (type) { var factory = ReactElement.createElement.bind(null, type); // Expose the type on the factory and the prototype so that it can be // easily accessed on elements. E.g. `.type === Foo`. // This should not be named `constructor` since this may not be the function // that created the element, and it may not even be a constructor. // Legacy hook TODO: Warn if this is accessed 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.cloneElement = function (element, config, children) { var propName; // Original props are copied var props = _assign({}, element.props); // Reserved names are extracted var key = element.key; var ref = element.ref; // Self is preserved since the owner is preserved. var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a // transpiler, and the original source is probably a better indicator of the // true owner. var source = element._source; // Owner will be preserved, unless ref is overridden var owner = element._owner; if (config != null) { if (config.ref !== undefined) { // Silently steal the ref from the parent. ref = config.ref; owner = ReactCurrentOwner.current; } if (config.key !== undefined) { key = '' + config.key; } // Remaining properties override existing props var defaultProps; if (element.type && element.type.defaultProps) { defaultProps = element.type.defaultProps; } for (propName in config) { if (config.hasOwnProperty(propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { if (config[propName] === undefined && defaultProps !== undefined) { // Resolve default props props[propName] = defaultProps[propName]; } else { props[propName] = config[propName]; } } } } // Children can be more than one argument, and those are transferred onto // the newly allocated props object. 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); }; /** * @param {?object} object * @return {boolean} True if `object` is a valid component. * @final */ ReactElement.isValidElement = function (object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; }; module.exports = ReactElement; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 9 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactCurrentOwner */ 'use strict'; /** * Keeps track of the current owner. * * The current owner is the component who should own any components that are * currently being constructed. */ var ReactCurrentOwner = { /** * @internal * @type {ReactComponent} */ current: null }; module.exports = ReactCurrentOwner; /***/ }, /* 10 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-2015, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var emptyFunction = __webpack_require__(11); /** * Similar to invariant but only logs a warning if the condition is not met. * This can be used to log issues in development environments in critical * paths. Removing the logging code for production environments will keep the * same logic and follow the same code paths. */ var warning = emptyFunction; if (process.env.NODE_ENV !== 'production') { 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; // Ignore CompositeComponent proptype check. } if (!condition) { var argIndex = 0; var message = 'Warning: ' + format.replace(/%s/g, function () { return args[argIndex++]; }); if (typeof console !== 'undefined') { console.error(message); } try { // --- Welcome to debugging React --- // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch (x) {} } }; } module.exports = warning; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 11 */ /***/ function(module, exports) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ function makeEmptyFunction(arg) { return function () { return arg; }; } /** * This function accepts and discards inputs; it has no side effects. This is * primarily useful idiomatically for overridable function endpoints which * always need to be callable, since JS lacks a null-call idiom ala Cocoa. */ 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; /***/ }, /* 12 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule canDefineProperty */ 'use strict'; var canDefineProperty = false; if (process.env.NODE_ENV !== 'production') { try { Object.defineProperty({}, 'x', { get: function () {} }); canDefineProperty = true; } catch (x) { // IE will fail on defineProperty } } module.exports = canDefineProperty; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 13 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule traverseAllChildren */ 'use strict'; var ReactCurrentOwner = __webpack_require__(9); var ReactElement = __webpack_require__(8); var getIteratorFn = __webpack_require__(14); var invariant = __webpack_require__(7); var KeyEscapeUtils = __webpack_require__(15); var warning = __webpack_require__(10); var SEPARATOR = '.'; var SUBSEPARATOR = ':'; /** * TODO: Test that a single child and an array with one item have the same key * pattern. */ var didWarnAboutMaps = false; /** * Generate a key string that identifies a component within a set. * * @param {*} component A component that could contain a manual key. * @param {number} index Index that is used if a manual key is not provided. * @return {string} */ function getComponentKey(component, index) { // Do some typechecking here since we call this blindly. We want to ensure // that we don't block potential future ES APIs. if (component && typeof component === 'object' && component.key != null) { // Explicit key return KeyEscapeUtils.escape(component.key); } // Implicit key determined by the index in the set return index.toString(36); } /** * @param {?*} children Children tree container. * @param {!string} nameSoFar Name of the key path so far. * @param {!function} callback Callback to invoke with each child found. * @param {?*} traverseContext Used to pass information throughout the traversal * process. * @return {!number} The number of children in this subtree. */ function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) { var type = typeof children; if (type === 'undefined' || type === 'boolean') { // All of the above are perceived as null. children = null; } if (children === null || type === 'string' || type === 'number' || ReactElement.isValidElement(children)) { callback(traverseContext, children, // If it's the only child, treat the name as if it was wrapped in an array // so that it's consistent if the number of children grows. nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar); return 1; } var child; var nextName; var subtreeCount = 0; // Count of children found in the current subtree. var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR; if (Array.isArray(children)) { for (var i = 0; i < children.length; i++) { child = children[i]; nextName = nextNamePrefix + getComponentKey(child, i); subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); } } else { var iteratorFn = getIteratorFn(children); if (iteratorFn) { var iterator = iteratorFn.call(children); var step; if (iteratorFn !== children.entries) { var ii = 0; while (!(step = iterator.next()).done) { child = step.value; nextName = nextNamePrefix + getComponentKey(child, ii++); subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); } } else { if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.') : void 0; didWarnAboutMaps = true; } // Iterator will provide entry [k,v] tuples rather than values. while (!(step = iterator.next()).done) { var entry = step.value; if (entry) { child = entry[1]; nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0); subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); } } } } else if (type === 'object') { var addendum = ''; if (process.env.NODE_ENV !== 'production') { addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.'; if (children._isReactElement) { addendum = ' It looks like you\'re using an element created by a different ' + 'version of React. Make sure to use only one copy of React.'; } if (ReactCurrentOwner.current) { var name = ReactCurrentOwner.current.getName(); if (name) { addendum += ' Check the render method of `' + name + '`.'; } } } var childrenString = String(children); true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : invariant(false) : void 0; } } return subtreeCount; } /** * Traverses children that are typically specified as `props.children`, but * might also be specified through attributes: * * - `traverseAllChildren(this.props.children, ...)` * - `traverseAllChildren(this.props.leftPanelChildren, ...)` * * The `traverseContext` is an optional argument that is passed through the * entire traversal. It can be used to store accumulations or anything else that * the callback might find relevant. * * @param {?*} children Children tree object. * @param {!function} callback To invoke upon traversing each child. * @param {?*} traverseContext Context for traversal. * @return {!number} The number of children in this subtree. */ function traverseAllChildren(children, callback, traverseContext) { if (children == null) { return 0; } return traverseAllChildrenImpl(children, '', callback, traverseContext); } module.exports = traverseAllChildren; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 14 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getIteratorFn */ 'use strict'; /* global Symbol */ var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. /** * Returns the iterator method function contained on the iterable object. * * Be sure to invoke the function with the iterable as context: * * var iteratorFn = getIteratorFn(myIterable); * if (iteratorFn) { * var iterator = iteratorFn.call(myIterable); * ... * } * * @param {?object} maybeIterable * @return {?function} */ function getIteratorFn(maybeIterable) { var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); if (typeof iteratorFn === 'function') { return iteratorFn; } } module.exports = getIteratorFn; /***/ }, /* 15 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule KeyEscapeUtils */ 'use strict'; /** * Escape and wrap key so it is safe to use as a reactid * * @param {*} key to be escaped. * @return {string} the escaped key. */ function escape(key) { var escapeRegex = /[=:]/g; var escaperLookup = { '=': '=0', ':': '=2' }; var escapedString = ('' + key).replace(escapeRegex, function (match) { return escaperLookup[match]; }); return '$' + escapedString; } /** * Unescape and unwrap key for human-readable display * * @param {string} key to unescape. * @return {string} the unescaped key. */ function unescape(key) { var unescapeRegex = /(=0|=2)/g; var unescaperLookup = { '=0': '=', '=2': ':' }; var keySubstring = key[0] === '.' && key[1] === '$' ? key.substring(2) : key.substring(1); return ('' + keySubstring).replace(unescapeRegex, function (match) { return unescaperLookup[match]; }); } var KeyEscapeUtils = { escape: escape, unescape: unescape }; module.exports = KeyEscapeUtils; /***/ }, /* 16 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactComponent */ 'use strict'; var ReactNoopUpdateQueue = __webpack_require__(17); var ReactInstrumentation = __webpack_require__(18); var canDefineProperty = __webpack_require__(12); var emptyObject = __webpack_require__(21); var invariant = __webpack_require__(7); var warning = __webpack_require__(10); /** * Base class helpers for the updating state of a component. */ function ReactComponent(props, context, updater) { this.props = props; this.context = context; this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the // renderer. this.updater = updater || ReactNoopUpdateQueue; } ReactComponent.prototype.isReactComponent = {}; /** * Sets a subset of the state. Always use this to mutate * state. You should treat `this.state` as immutable. * * There is no guarantee that `this.state` will be immediately updated, so * accessing `this.state` after calling this method may return the old value. * * There is no guarantee that calls to `setState` will run synchronously, * as they may eventually be batched together. You can provide an optional * callback that will be executed when the call to setState is actually * completed. * * When a function is provided to setState, it will be called at some point in * the future (not synchronously). It will be called with the up to date * component arguments (state, props, context). These values can be different * from this.* because your function may be called after receiveProps but before * shouldComponentUpdate, and this new state, props, and context will not yet be * assigned to this. * * @param {object|function} partialState Next partial state or function to * produce next partial state to be merged with current state. * @param {?function} callback Called after state is updated. * @final * @protected */ ReactComponent.prototype.setState = function (partialState, callback) { !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.') : invariant(false) : void 0; if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onSetState(); process.env.NODE_ENV !== 'production' ? warning(partialState != null, 'setState(...): You passed an undefined or null state object; ' + 'instead, use forceUpdate().') : void 0; } this.updater.enqueueSetState(this, partialState); if (callback) { this.updater.enqueueCallback(this, callback, 'setState'); } }; /** * Forces an update. This should only be invoked when it is known with * certainty that we are **not** in a DOM transaction. * * You may want to call this when you know that some deeper aspect of the * component's state has changed but `setState` was not called. * * This will not invoke `shouldComponentUpdate`, but it will invoke * `componentWillUpdate` and `componentDidUpdate`. * * @param {?function} callback Called after update is complete. * @final * @protected */ ReactComponent.prototype.forceUpdate = function (callback) { this.updater.enqueueForceUpdate(this); if (callback) { this.updater.enqueueCallback(this, callback, 'forceUpdate'); } }; /** * Deprecated APIs. These APIs used to exist on classic React classes but since * we would like to deprecate them, we're not going to move them over to this * modern base class. Instead, we define a getter that warns if it's accessed. */ if (process.env.NODE_ENV !== 'production') { var deprecatedAPIs = { isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'], replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).'] }; var defineDeprecationWarning = function (methodName, info) { if (canDefineProperty) { Object.defineProperty(ReactComponent.prototype, methodName, { get: function () { process.env.NODE_ENV !== 'production' ? warning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]) : void 0; return undefined; } }); } }; for (var fnName in deprecatedAPIs) { if (deprecatedAPIs.hasOwnProperty(fnName)) { defineDeprecationWarning(fnName, deprecatedAPIs[fnName]); } } } module.exports = ReactComponent; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 17 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactNoopUpdateQueue */ 'use strict'; var warning = __webpack_require__(10); function warnTDZ(publicInstance, callerName) { if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, publicInstance.constructor && publicInstance.constructor.displayName || '') : void 0; } } /** * This is the abstract API for an update queue. */ var ReactNoopUpdateQueue = { /** * Checks whether or not this composite component is mounted. * @param {ReactClass} publicInstance The instance we want to test. * @return {boolean} True if mounted, false otherwise. * @protected * @final */ isMounted: function (publicInstance) { return false; }, /** * Enqueue a callback that will be executed after all the pending updates * have processed. * * @param {ReactClass} publicInstance The instance to use as `this` context. * @param {?function} callback Called after state is updated. * @internal */ enqueueCallback: function (publicInstance, callback) {}, /** * Forces an update. This should only be invoked when it is known with * certainty that we are **not** in a DOM transaction. * * You may want to call this when you know that some deeper aspect of the * component's state has changed but `setState` was not called. * * This will not invoke `shouldComponentUpdate`, but it will invoke * `componentWillUpdate` and `componentDidUpdate`. * * @param {ReactClass} publicInstance The instance that should rerender. * @internal */ enqueueForceUpdate: function (publicInstance) { warnTDZ(publicInstance, 'forceUpdate'); }, /** * Replaces all of the state. Always use this or `setState` to mutate state. * You should treat `this.state` as immutable. * * There is no guarantee that `this.state` will be immediately updated, so * accessing `this.state` after calling this method may return the old value. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {object} completeState Next state. * @internal */ enqueueReplaceState: function (publicInstance, completeState) { warnTDZ(publicInstance, 'replaceState'); }, /** * Sets a subset of the state. This only exists because _pendingState is * internal. This provides a merging strategy that is not available to deep * properties which is confusing. TODO: Expose pendingState or don't use it * during the merge. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {object} partialState Next partial state to be merged with state. * @internal */ enqueueSetState: function (publicInstance, partialState) { warnTDZ(publicInstance, 'setState'); } }; module.exports = ReactNoopUpdateQueue; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 18 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactInstrumentation */ 'use strict'; var ReactDebugTool = __webpack_require__(19); module.exports = { debugTool: ReactDebugTool }; /***/ }, /* 19 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDebugTool */ 'use strict'; var ReactInvalidSetStateWarningDevTool = __webpack_require__(20); var warning = __webpack_require__(10); var eventHandlers = []; var handlerDoesThrowForEvent = {}; function emitEvent(handlerFunctionName, arg1, arg2, arg3, arg4, arg5) { if (process.env.NODE_ENV !== 'production') { eventHandlers.forEach(function (handler) { try { if (handler[handlerFunctionName]) { handler[handlerFunctionName](arg1, arg2, arg3, arg4, arg5); } } catch (e) { process.env.NODE_ENV !== 'production' ? warning(!handlerDoesThrowForEvent[handlerFunctionName], 'exception thrown by devtool while handling %s: %s', handlerFunctionName, e.message) : void 0; handlerDoesThrowForEvent[handlerFunctionName] = true; } }); } } var ReactDebugTool = { addDevtool: function (devtool) { eventHandlers.push(devtool); }, removeDevtool: function (devtool) { for (var i = 0; i < eventHandlers.length; i++) { if (eventHandlers[i] === devtool) { eventHandlers.splice(i, 1); i--; } } }, onBeginProcessingChildContext: function () { emitEvent('onBeginProcessingChildContext'); }, onEndProcessingChildContext: function () { emitEvent('onEndProcessingChildContext'); }, onSetState: function () { emitEvent('onSetState'); }, onMountRootComponent: function (internalInstance) { emitEvent('onMountRootComponent', internalInstance); }, onMountComponent: function (internalInstance) { emitEvent('onMountComponent', internalInstance); }, onUpdateComponent: function (internalInstance) { emitEvent('onUpdateComponent', internalInstance); }, onUnmountComponent: function (internalInstance) { emitEvent('onUnmountComponent', internalInstance); } }; ReactDebugTool.addDevtool(ReactInvalidSetStateWarningDevTool); module.exports = ReactDebugTool; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 20 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactInvalidSetStateWarningDevTool */ 'use strict'; var warning = __webpack_require__(10); if (process.env.NODE_ENV !== 'production') { var processingChildContext = false; var warnInvalidSetState = function () { process.env.NODE_ENV !== 'production' ? warning(!processingChildContext, 'setState(...): Cannot call setState() inside getChildContext()') : void 0; }; } var ReactInvalidSetStateWarningDevTool = { onBeginProcessingChildContext: function () { processingChildContext = true; }, onEndProcessingChildContext: function () { processingChildContext = false; }, onSetState: function () { warnInvalidSetState(); } }; module.exports = ReactInvalidSetStateWarningDevTool; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 21 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var emptyObject = {}; if (process.env.NODE_ENV !== 'production') { Object.freeze(emptyObject); } module.exports = emptyObject; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 22 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactClass */ 'use strict'; var _assign = __webpack_require__(4); var ReactComponent = __webpack_require__(16); var ReactElement = __webpack_require__(8); var ReactPropTypeLocations = __webpack_require__(23); var ReactPropTypeLocationNames = __webpack_require__(25); var ReactNoopUpdateQueue = __webpack_require__(17); var emptyObject = __webpack_require__(21); var invariant = __webpack_require__(7); var keyMirror = __webpack_require__(24); var keyOf = __webpack_require__(26); var warning = __webpack_require__(10); var MIXINS_KEY = keyOf({ mixins: null }); /** * Policies that describe methods in `ReactClassInterface`. */ var SpecPolicy = keyMirror({ /** * These methods may be defined only once by the class specification or mixin. */ DEFINE_ONCE: null, /** * These methods may be defined by both the class specification and mixins. * Subsequent definitions will be chained. These methods must return void. */ DEFINE_MANY: null, /** * These methods are overriding the base class. */ OVERRIDE_BASE: null, /** * These methods are similar to DEFINE_MANY, except we assume they return * objects. We try to merge the keys of the return values of all the mixed in * functions. If there is a key conflict we throw. */ DEFINE_MANY_MERGED: null }); var injectedMixins = []; /** * Composite components are higher-level components that compose other composite * or native components. * * To create a new type of `ReactClass`, pass a specification of * your new class to `React.createClass`. The only requirement of your class * specification is that you implement a `render` method. * * var MyComponent = React.createClass({ * render: function() { * return
    Hello World
    ; * } * }); * * The class specification supports a specific protocol of methods that have * special meaning (e.g. `render`). See `ReactClassInterface` for * more the comprehensive protocol. Any other properties and methods in the * class specification will be available on the prototype. * * @interface ReactClassInterface * @internal */ var ReactClassInterface = { /** * An array of Mixin objects to include when defining your component. * * @type {array} * @optional */ mixins: SpecPolicy.DEFINE_MANY, /** * An object containing properties and methods that should be defined on * the component's constructor instead of its prototype (static methods). * * @type {object} * @optional */ statics: SpecPolicy.DEFINE_MANY, /** * Definition of prop types for this component. * * @type {object} * @optional */ propTypes: SpecPolicy.DEFINE_MANY, /** * Definition of context types for this component. * * @type {object} * @optional */ contextTypes: SpecPolicy.DEFINE_MANY, /** * Definition of context types this component sets for its children. * * @type {object} * @optional */ childContextTypes: SpecPolicy.DEFINE_MANY, // ==== Definition methods ==== /** * Invoked when the component is mounted. Values in the mapping will be set on * `this.props` if that prop is not specified (i.e. using an `in` check). * * This method is invoked before `getInitialState` and therefore cannot rely * on `this.state` or use `this.setState`. * * @return {object} * @optional */ getDefaultProps: SpecPolicy.DEFINE_MANY_MERGED, /** * Invoked once before the component is mounted. The return value will be used * as the initial value of `this.state`. * * getInitialState: function() { * return { * isOn: false, * fooBaz: new BazFoo() * } * } * * @return {object} * @optional */ getInitialState: SpecPolicy.DEFINE_MANY_MERGED, /** * @return {object} * @optional */ getChildContext: SpecPolicy.DEFINE_MANY_MERGED, /** * Uses props from `this.props` and state from `this.state` to render the * structure of the component. * * No guarantees are made about when or how often this method is invoked, so * it must not have side effects. * * render: function() { * var name = this.props.name; * return
    Hello, {name}!
    ; * } * * @return {ReactComponent} * @nosideeffects * @required */ render: SpecPolicy.DEFINE_ONCE, // ==== Delegate methods ==== /** * Invoked when the component is initially created and about to be mounted. * This may have side effects, but any external subscriptions or data created * by this method must be cleaned up in `componentWillUnmount`. * * @optional */ componentWillMount: SpecPolicy.DEFINE_MANY, /** * Invoked when the component has been mounted and has a DOM representation. * However, there is no guarantee that the DOM node is in the document. * * Use this as an opportunity to operate on the DOM when the component has * been mounted (initialized and rendered) for the first time. * * @param {DOMElement} rootNode DOM element representing the component. * @optional */ componentDidMount: SpecPolicy.DEFINE_MANY, /** * Invoked before the component receives new props. * * Use this as an opportunity to react to a prop transition by updating the * state using `this.setState`. Current props are accessed via `this.props`. * * componentWillReceiveProps: function(nextProps, nextContext) { * this.setState({ * likesIncreasing: nextProps.likeCount > this.props.likeCount * }); * } * * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop * transition may cause a state change, but the opposite is not true. If you * need it, you are probably looking for `componentWillUpdate`. * * @param {object} nextProps * @optional */ componentWillReceiveProps: SpecPolicy.DEFINE_MANY, /** * Invoked while deciding if the component should be updated as a result of * receiving new props, state and/or context. * * Use this as an opportunity to `return false` when you're certain that the * transition to the new props/state/context will not require a component * update. * * shouldComponentUpdate: function(nextProps, nextState, nextContext) { * return !equal(nextProps, this.props) || * !equal(nextState, this.state) || * !equal(nextContext, this.context); * } * * @param {object} nextProps * @param {?object} nextState * @param {?object} nextContext * @return {boolean} True if the component should update. * @optional */ shouldComponentUpdate: SpecPolicy.DEFINE_ONCE, /** * Invoked when the component is about to update due to a transition from * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState` * and `nextContext`. * * Use this as an opportunity to perform preparation before an update occurs. * * NOTE: You **cannot** use `this.setState()` in this method. * * @param {object} nextProps * @param {?object} nextState * @param {?object} nextContext * @param {ReactReconcileTransaction} transaction * @optional */ componentWillUpdate: SpecPolicy.DEFINE_MANY, /** * Invoked when the component's DOM representation has been updated. * * Use this as an opportunity to operate on the DOM when the component has * been updated. * * @param {object} prevProps * @param {?object} prevState * @param {?object} prevContext * @param {DOMElement} rootNode DOM element representing the component. * @optional */ componentDidUpdate: SpecPolicy.DEFINE_MANY, /** * Invoked when the component is about to be removed from its parent and have * its DOM representation destroyed. * * Use this as an opportunity to deallocate any external resources. * * NOTE: There is no `componentDidUnmount` since your component will have been * destroyed by that point. * * @optional */ componentWillUnmount: SpecPolicy.DEFINE_MANY, // ==== Advanced methods ==== /** * Updates the component's currently mounted DOM representation. * * By default, this implements React's rendering and reconciliation algorithm. * Sophisticated clients may wish to override this. * * @param {ReactReconcileTransaction} transaction * @internal * @overridable */ updateComponent: SpecPolicy.OVERRIDE_BASE }; /** * Mapping from class specification keys to special processing functions. * * Although these are declared like instance properties in the specification * when defining classes using `React.createClass`, they are actually static * and are accessible on the constructor instead of the prototype. Despite * being static, they must be defined outside of the "statics" key under * which all other static methods are defined. */ var RESERVED_SPEC_KEYS = { displayName: function (Constructor, displayName) { Constructor.displayName = displayName; }, mixins: function (Constructor, mixins) { if (mixins) { for (var i = 0; i < mixins.length; i++) { mixSpecIntoComponent(Constructor, mixins[i]); } } }, childContextTypes: function (Constructor, childContextTypes) { if (process.env.NODE_ENV !== 'production') { validateTypeDef(Constructor, childContextTypes, ReactPropTypeLocations.childContext); } Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, childContextTypes); }, contextTypes: function (Constructor, contextTypes) { if (process.env.NODE_ENV !== 'production') { validateTypeDef(Constructor, contextTypes, ReactPropTypeLocations.context); } Constructor.contextTypes = _assign({}, Constructor.contextTypes, contextTypes); }, /** * Special case getDefaultProps which should move into statics but requires * automatic merging. */ getDefaultProps: function (Constructor, getDefaultProps) { if (Constructor.getDefaultProps) { Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps); } else { Constructor.getDefaultProps = getDefaultProps; } }, propTypes: function (Constructor, propTypes) { if (process.env.NODE_ENV !== 'production') { validateTypeDef(Constructor, propTypes, ReactPropTypeLocations.prop); } Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes); }, statics: function (Constructor, statics) { mixStaticSpecIntoComponent(Constructor, statics); }, autobind: function () {} }; // noop function validateTypeDef(Constructor, typeDef, location) { for (var propName in typeDef) { if (typeDef.hasOwnProperty(propName)) { // use a warning instead of an invariant so components // don't show up in prod but only in __DEV__ process.env.NODE_ENV !== 'production' ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : void 0; } } } function validateMethodOverride(isAlreadyDefined, name) { var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null; // Disallow overriding of base class methods unless explicitly allowed. if (ReactClassMixin.hasOwnProperty(name)) { !(specPolicy === SpecPolicy.OVERRIDE_BASE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to override ' + '`%s` from your class specification. Ensure that your method names ' + 'do not overlap with React methods.', name) : invariant(false) : void 0; } // Disallow defining methods more than once unless explicitly allowed. if (isAlreadyDefined) { !(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to define ' + '`%s` on your component more than once. This conflict may be due ' + 'to a mixin.', name) : invariant(false) : void 0; } } /** * Mixin helper which handles policy validation and reserved * specification keys when building React classes. */ function mixSpecIntoComponent(Constructor, spec) { if (!spec) { return; } !(typeof spec !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to ' + 'use a component class or function as a mixin. Instead, just use a ' + 'regular object.') : invariant(false) : void 0; !!ReactElement.isValidElement(spec) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to ' + 'use a component as a mixin. Instead, just use a regular object.') : invariant(false) : void 0; var proto = Constructor.prototype; var autoBindPairs = proto.__reactAutoBindPairs; // By handling mixins before any other properties, we ensure the same // chaining order is applied to methods with DEFINE_MANY policy, whether // mixins are listed before or after these methods in the spec. if (spec.hasOwnProperty(MIXINS_KEY)) { RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins); } for (var name in spec) { if (!spec.hasOwnProperty(name)) { continue; } if (name === MIXINS_KEY) { // We have already handled mixins in a special case above. continue; } var property = spec[name]; var isAlreadyDefined = proto.hasOwnProperty(name); validateMethodOverride(isAlreadyDefined, name); if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) { RESERVED_SPEC_KEYS[name](Constructor, property); } else { // Setup methods on prototype: // The following member methods should not be automatically bound: // 1. Expected ReactClass methods (in the "interface"). // 2. Overridden methods (that were mixed in). var isReactClassMethod = ReactClassInterface.hasOwnProperty(name); var isFunction = typeof property === 'function'; var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false; if (shouldAutoBind) { autoBindPairs.push(name, property); proto[name] = property; } else { if (isAlreadyDefined) { var specPolicy = ReactClassInterface[name]; // These cases should already be caught by validateMethodOverride. !(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name) : invariant(false) : void 0; // For methods which are defined more than once, call the existing // methods before calling the new property, merging if appropriate. if (specPolicy === SpecPolicy.DEFINE_MANY_MERGED) { proto[name] = createMergedResultFunction(proto[name], property); } else if (specPolicy === SpecPolicy.DEFINE_MANY) { proto[name] = createChainedFunction(proto[name], property); } } else { proto[name] = property; if (process.env.NODE_ENV !== 'production') { // Add verbose displayName to the function, which helps when looking // at profiling tools. if (typeof property === 'function' && spec.displayName) { proto[name].displayName = spec.displayName + '_' + name; } } } } } } } function mixStaticSpecIntoComponent(Constructor, statics) { if (!statics) { return; } for (var name in statics) { var property = statics[name]; if (!statics.hasOwnProperty(name)) { continue; } var isReserved = name in RESERVED_SPEC_KEYS; !!isReserved ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define a reserved ' + 'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' + 'as an instance property instead; it will still be accessible on the ' + 'constructor.', name) : invariant(false) : void 0; var isInherited = name in Constructor; !!isInherited ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define ' + '`%s` on your component more than once. This conflict may be ' + 'due to a mixin.', name) : invariant(false) : void 0; Constructor[name] = property; } } /** * Merge two objects, but throw if both contain the same key. * * @param {object} one The first object, which is mutated. * @param {object} two The second object * @return {object} one after it has been mutated to contain everything in two. */ function mergeIntoWithNoDuplicateKeys(one, two) { !(one && two && typeof one === 'object' && typeof two === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : invariant(false) : void 0; for (var key in two) { if (two.hasOwnProperty(key)) { !(one[key] === undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): ' + 'Tried to merge two objects with the same key: `%s`. This conflict ' + 'may be due to a mixin; in particular, this may be caused by two ' + 'getInitialState() or getDefaultProps() methods returning objects ' + 'with clashing keys.', key) : invariant(false) : void 0; one[key] = two[key]; } } return one; } /** * Creates a function that invokes two functions and merges their return values. * * @param {function} one Function to invoke first. * @param {function} two Function to invoke second. * @return {function} Function that invokes the two argument functions. * @private */ function createMergedResultFunction(one, two) { return function mergedResult() { var a = one.apply(this, arguments); var b = two.apply(this, arguments); if (a == null) { return b; } else if (b == null) { return a; } var c = {}; mergeIntoWithNoDuplicateKeys(c, a); mergeIntoWithNoDuplicateKeys(c, b); return c; }; } /** * Creates a function that invokes two functions and ignores their return vales. * * @param {function} one Function to invoke first. * @param {function} two Function to invoke second. * @return {function} Function that invokes the two argument functions. * @private */ function createChainedFunction(one, two) { return function chainedFunction() { one.apply(this, arguments); two.apply(this, arguments); }; } /** * Binds a method to the component. * * @param {object} component Component whose method is going to be bound. * @param {function} method Method to be bound. * @return {function} The bound method. */ function bindAutoBindMethod(component, method) { var boundMethod = method.bind(component); if (process.env.NODE_ENV !== 'production') { boundMethod.__reactBoundContext = component; boundMethod.__reactBoundMethod = method; boundMethod.__reactBoundArguments = null; var componentName = component.constructor.displayName; var _bind = boundMethod.bind; boundMethod.bind = function (newThis) { for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } // User is trying to bind() an autobound method; we effectively will // ignore the value of "this" that the user is trying to use, so // let's warn. if (newThis !== component && newThis !== null) { process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : void 0; } else if (!args.length) { process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : void 0; return boundMethod; } var reboundMethod = _bind.apply(boundMethod, arguments); reboundMethod.__reactBoundContext = component; reboundMethod.__reactBoundMethod = method; reboundMethod.__reactBoundArguments = args; return reboundMethod; }; } return boundMethod; } /** * Binds all auto-bound methods in a component. * * @param {object} component Component whose method is going to be bound. */ function bindAutoBindMethods(component) { var pairs = component.__reactAutoBindPairs; for (var i = 0; i < pairs.length; i += 2) { var autoBindKey = pairs[i]; var method = pairs[i + 1]; component[autoBindKey] = bindAutoBindMethod(component, method); } } /** * Add more to the ReactClass base class. These are all legacy features and * therefore not already part of the modern ReactComponent. */ var ReactClassMixin = { /** * TODO: This will be deprecated because state should always keep a consistent * type signature and the only use case for this, is to avoid that. */ replaceState: function (newState, callback) { this.updater.enqueueReplaceState(this, newState); if (callback) { this.updater.enqueueCallback(this, callback, 'replaceState'); } }, /** * Checks whether or not this composite component is mounted. * @return {boolean} True if mounted, false otherwise. * @protected * @final */ isMounted: function () { return this.updater.isMounted(this); } }; var ReactClassComponent = function () {}; _assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin); /** * Module for creating composite components. * * @class ReactClass */ var ReactClass = { /** * Creates a composite component class given a class specification. * * @param {object} spec Class specification (which must define `render`). * @return {function} Component constructor function. * @public */ createClass: function (spec) { var Constructor = function (props, context, updater) { // This constructor gets overridden by mocks. The argument is used // by mocks to assert on what gets mounted. if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : void 0; } // Wire up auto-binding if (this.__reactAutoBindPairs.length) { bindAutoBindMethods(this); } this.props = props; this.context = context; this.refs = emptyObject; this.updater = updater || ReactNoopUpdateQueue; this.state = null; // ReactClasses doesn't have constructors. Instead, they use the // getInitialState and componentWillMount methods for initialization. var initialState = this.getInitialState ? this.getInitialState() : null; if (process.env.NODE_ENV !== 'production') { // We allow auto-mocks to proceed as if they're returning null. if (initialState === undefined && this.getInitialState._isMockFunction) { // This is probably bad practice. Consider warning here and // deprecating this convenience. initialState = null; } } !(typeof initialState === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : invariant(false) : void 0; this.state = initialState; }; Constructor.prototype = new ReactClassComponent(); Constructor.prototype.constructor = Constructor; Constructor.prototype.__reactAutoBindPairs = []; injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor)); mixSpecIntoComponent(Constructor, spec); // Initialize the defaultProps property after all mixins have been merged. if (Constructor.getDefaultProps) { Constructor.defaultProps = Constructor.getDefaultProps(); } if (process.env.NODE_ENV !== 'production') { // This is a tag to indicate that the use of these method names is ok, // since it's used with createClass. If it's not, then it's likely a // mistake so we'll warn you to use the static property, property // initializer or constructor respectively. if (Constructor.getDefaultProps) { Constructor.getDefaultProps.isReactClassApproved = {}; } if (Constructor.prototype.getInitialState) { Constructor.prototype.getInitialState.isReactClassApproved = {}; } } !Constructor.prototype.render ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createClass(...): Class specification must implement a `render` method.') : invariant(false) : void 0; if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component') : void 0; process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component') : void 0; } // Reduce time spent doing lookups by setting these on the prototype. for (var methodName in ReactClassInterface) { if (!Constructor.prototype[methodName]) { Constructor.prototype[methodName] = null; } } return Constructor; }, injection: { injectMixin: function (mixin) { injectedMixins.push(mixin); } } }; module.exports = ReactClass; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 23 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPropTypeLocations */ 'use strict'; var keyMirror = __webpack_require__(24); var ReactPropTypeLocations = keyMirror({ prop: null, context: null, childContext: null }); module.exports = ReactPropTypeLocations; /***/ }, /* 24 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @typechecks static-only */ 'use strict'; var invariant = __webpack_require__(7); /** * Constructs an enumeration with keys equal to their value. * * For example: * * var COLORS = keyMirror({blue: null, red: null}); * var myColor = COLORS.blue; * var isColorValid = !!COLORS[myColor]; * * The last line could not be performed if the values of the generated enum were * not equal to their keys. * * Input: {key1: val1, key2: val2} * Output: {key1: key1, key2: key2} * * @param {object} obj * @return {object} */ var keyMirror = function (obj) { var ret = {}; var key; !(obj instanceof Object && !Array.isArray(obj)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'keyMirror(...): Argument must be an object.') : invariant(false) : void 0; for (key in obj) { if (!obj.hasOwnProperty(key)) { continue; } ret[key] = key; } return ret; }; module.exports = keyMirror; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 25 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPropTypeLocationNames */ 'use strict'; var ReactPropTypeLocationNames = {}; if (process.env.NODE_ENV !== 'production') { ReactPropTypeLocationNames = { prop: 'prop', context: 'context', childContext: 'child context' }; } module.exports = ReactPropTypeLocationNames; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 26 */ /***/ function(module, exports) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ /** * Allows extraction of a minified key. Let's the build system minify keys * without losing the ability to dynamically use key strings as values * themselves. Pass in an object with a single key/val pair and it will return * you the string key of that single record. Suppose you want to grab the * value for a key 'className' inside of an object. Key/val minification may * have aliased that key to be 'xa12'. keyOf({className: null}) will return * 'xa12' in that case. Resolve keys you want to use once at startup time, then * reuse those resolutions. */ var keyOf = function (oneKeyObj) { var key; for (key in oneKeyObj) { if (!oneKeyObj.hasOwnProperty(key)) { continue; } return key; } return null; }; module.exports = keyOf; /***/ }, /* 27 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOMFactories */ 'use strict'; var ReactElement = __webpack_require__(8); var ReactElementValidator = __webpack_require__(28); var mapObject = __webpack_require__(29); /** * Create a factory that creates HTML tag elements. * * @param {string} tag Tag name (e.g. `div`). * @private */ function createDOMFactory(tag) { if (process.env.NODE_ENV !== 'production') { return ReactElementValidator.createFactory(tag); } return ReactElement.createFactory(tag); } /** * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes. * This is also accessible via `React.DOM`. * * @public */ var ReactDOMFactories = mapObject({ a: 'a', abbr: 'abbr', address: 'address', area: 'area', article: 'article', aside: 'aside', audio: 'audio', b: 'b', base: 'base', bdi: 'bdi', bdo: 'bdo', big: 'big', blockquote: 'blockquote', body: 'body', br: 'br', button: 'button', canvas: 'canvas', caption: 'caption', cite: 'cite', code: 'code', col: 'col', colgroup: 'colgroup', data: 'data', datalist: 'datalist', dd: 'dd', del: 'del', details: 'details', dfn: 'dfn', dialog: 'dialog', div: 'div', dl: 'dl', dt: 'dt', em: 'em', embed: 'embed', fieldset: 'fieldset', figcaption: 'figcaption', figure: 'figure', footer: 'footer', form: 'form', h1: 'h1', h2: 'h2', h3: 'h3', h4: 'h4', h5: 'h5', h6: 'h6', head: 'head', header: 'header', hgroup: 'hgroup', hr: 'hr', html: 'html', i: 'i', iframe: 'iframe', img: 'img', input: 'input', ins: 'ins', kbd: 'kbd', keygen: 'keygen', label: 'label', legend: 'legend', li: 'li', link: 'link', main: 'main', map: 'map', mark: 'mark', menu: 'menu', menuitem: 'menuitem', meta: 'meta', meter: 'meter', nav: 'nav', noscript: 'noscript', object: 'object', ol: 'ol', optgroup: 'optgroup', option: 'option', output: 'output', p: 'p', param: 'param', picture: 'picture', pre: 'pre', progress: 'progress', q: 'q', rp: 'rp', rt: 'rt', ruby: 'ruby', s: 's', samp: 'samp', script: 'script', section: 'section', select: 'select', small: 'small', source: 'source', span: 'span', strong: 'strong', style: 'style', sub: 'sub', summary: 'summary', sup: 'sup', table: 'table', tbody: 'tbody', td: 'td', textarea: 'textarea', tfoot: 'tfoot', th: 'th', thead: 'thead', time: 'time', title: 'title', tr: 'tr', track: 'track', u: 'u', ul: 'ul', 'var': 'var', video: 'video', wbr: 'wbr', // SVG circle: 'circle', clipPath: 'clipPath', defs: 'defs', ellipse: 'ellipse', g: 'g', image: 'image', line: 'line', linearGradient: 'linearGradient', mask: 'mask', path: 'path', pattern: 'pattern', polygon: 'polygon', polyline: 'polyline', radialGradient: 'radialGradient', rect: 'rect', stop: 'stop', svg: 'svg', text: 'text', tspan: 'tspan' }, createDOMFactory); module.exports = ReactDOMFactories; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 28 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactElementValidator */ /** * ReactElementValidator provides a wrapper around a element factory * which validates the props passed to the element. This is intended to be * used only in DEV and could be replaced by a static type checker for languages * that support it. */ 'use strict'; var ReactElement = __webpack_require__(8); var ReactPropTypeLocations = __webpack_require__(23); var ReactPropTypeLocationNames = __webpack_require__(25); var ReactCurrentOwner = __webpack_require__(9); var canDefineProperty = __webpack_require__(12); var getIteratorFn = __webpack_require__(14); var invariant = __webpack_require__(7); var warning = __webpack_require__(10); function getDeclarationErrorAddendum() { if (ReactCurrentOwner.current) { var name = ReactCurrentOwner.current.getName(); if (name) { return ' Check the render method of `' + name + '`.'; } } return ''; } /** * Warn if there's no key explicitly set on dynamic arrays of children or * object keys are not valid. This allows us to keep track of children between * updates. */ var ownerHasKeyUseWarning = {}; var loggedTypeFailures = {}; /** * Warn if the element doesn't have an explicit key assigned to it. * This element is in an array. The array could grow and shrink or be * reordered. All children that haven't already been validated are required to * have a "key" property assigned to it. * * @internal * @param {ReactElement} element Element that requires a key. * @param {*} parentType element's parent's type. */ function validateExplicitKey(element, parentType) { if (!element._store || element._store.validated || element.key != null) { return; } element._store.validated = true; var addenda = getAddendaForKeyUse('uniqueKey', element, parentType); if (addenda === null) { // we already showed the warning return; } process.env.NODE_ENV !== 'production' ? warning(false, 'Each child in an array or iterator should have a unique "key" prop.' + '%s%s%s', addenda.parentOrOwner || '', addenda.childOwner || '', addenda.url || '') : void 0; } /** * Shared warning and monitoring code for the key warnings. * * @internal * @param {string} messageType A key used for de-duping warnings. * @param {ReactElement} element Component that requires a key. * @param {*} parentType element's parent's type. * @returns {?object} A set of addenda to use in the warning message, or null * if the warning has already been shown before (and shouldn't be shown again). */ function getAddendaForKeyUse(messageType, element, parentType) { var addendum = getDeclarationErrorAddendum(); if (!addendum) { var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name; if (parentName) { addendum = ' Check the top-level render call using <' + parentName + '>.'; } } var memoizer = ownerHasKeyUseWarning[messageType] || (ownerHasKeyUseWarning[messageType] = {}); if (memoizer[addendum]) { return null; } memoizer[addendum] = true; var addenda = { parentOrOwner: addendum, url: ' See https://fb.me/react-warning-keys for more information.', childOwner: null }; // Usually the current owner is the offender, but if it accepts children as a // property, it may be the creator of the child that's responsible for // assigning it a key. if (element && element._owner && element._owner !== ReactCurrentOwner.current) { // Give the component that originally created this child. addenda.childOwner = ' It was passed a child from ' + element._owner.getName() + '.'; } return addenda; } /** * Ensure that every element either is passed in a static location, in an * array with an explicit keys property defined, or in an object literal * with valid key property. * * @internal * @param {ReactNode} node Statically passed child of any type. * @param {*} parentType node's parent's type. */ function validateChildKeys(node, parentType) { if (typeof node !== 'object') { return; } if (Array.isArray(node)) { for (var i = 0; i < node.length; i++) { var child = node[i]; if (ReactElement.isValidElement(child)) { validateExplicitKey(child, parentType); } } } else if (ReactElement.isValidElement(node)) { // This element was passed in a valid location. if (node._store) { node._store.validated = true; } } else if (node) { var iteratorFn = getIteratorFn(node); // Entry iterators provide implicit keys. if (iteratorFn) { if (iteratorFn !== node.entries) { var iterator = iteratorFn.call(node); var step; while (!(step = iterator.next()).done) { if (ReactElement.isValidElement(step.value)) { validateExplicitKey(step.value, parentType); } } } } } } /** * Assert that the props are valid * * @param {string} componentName Name of the component for error messages. * @param {object} propTypes Map of prop name to a ReactPropType * @param {object} props * @param {string} location e.g. "prop", "context", "child context" * @private */ function checkPropTypes(componentName, propTypes, props, location) { for (var propName in propTypes) { if (propTypes.hasOwnProperty(propName)) { var error; // Prop type validation may throw. In case they do, we don't want to // fail the render phase where it didn't fail before. So we log it. // After these have been cleaned up, we'll let them throw. try { // This is intentionally an invariant that gets caught. It's the same // behavior as without this statement except with a better message. !(typeof propTypes[propName] === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], propName) : invariant(false) : void 0; error = propTypes[propName](props, propName, componentName, location); } catch (ex) { error = ex; } process.env.NODE_ENV !== 'production' ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', ReactPropTypeLocationNames[location], propName, typeof error) : void 0; if (error instanceof Error && !(error.message in loggedTypeFailures)) { // Only monitor this failure once because there tends to be a lot of the // same error. loggedTypeFailures[error.message] = true; var addendum = getDeclarationErrorAddendum(); process.env.NODE_ENV !== 'production' ? warning(false, 'Failed propType: %s%s', error.message, addendum) : void 0; } } } } /** * Given an element, validate that its props follow the propTypes definition, * provided by the type. * * @param {ReactElement} element */ function validatePropTypes(element) { var componentClass = element.type; if (typeof componentClass !== 'function') { return; } var name = componentClass.displayName || componentClass.name; if (componentClass.propTypes) { checkPropTypes(name, componentClass.propTypes, element.props, ReactPropTypeLocations.prop); } if (typeof componentClass.getDefaultProps === 'function') { process.env.NODE_ENV !== 'production' ? warning(componentClass.getDefaultProps.isReactClassApproved, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : void 0; } } var ReactElementValidator = { createElement: function (type, props, children) { var validType = typeof type === 'string' || typeof type === 'function'; // We warn in this case but don't throw. We expect the element creation to // succeed and there will likely be errors in render. process.env.NODE_ENV !== 'production' ? warning(validType, 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : void 0; var element = ReactElement.createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used. // TODO: Drop this when these are no longer allowed as the type argument. if (element == null) { return element; } // Skip key warning if the type isn't valid since our key validation logic // doesn't expect a non-string/function type and can throw confusing errors. // We don't want exception behavior to differ between dev and prod. // (Rendering will throw with a helpful message and as soon as the type is // fixed, the key warnings will appear.) if (validType) { for (var i = 2; i < arguments.length; i++) { validateChildKeys(arguments[i], type); } } validatePropTypes(element); return element; }, createFactory: function (type) { var validatedFactory = ReactElementValidator.createElement.bind(null, type); // Legacy hook TODO: Warn if this is accessed validatedFactory.type = type; if (process.env.NODE_ENV !== 'production') { if (canDefineProperty) { Object.defineProperty(validatedFactory, 'type', { enumerable: false, get: function () { process.env.NODE_ENV !== 'production' ? warning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.') : void 0; Object.defineProperty(this, 'type', { value: type }); return type; } }); } } return validatedFactory; }, cloneElement: function (element, props, children) { var newElement = ReactElement.cloneElement.apply(this, arguments); for (var i = 2; i < arguments.length; i++) { validateChildKeys(arguments[i], newElement.type); } validatePropTypes(newElement); return newElement; } }; module.exports = ReactElementValidator; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 29 */ /***/ function(module, exports) { /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var hasOwnProperty = Object.prototype.hasOwnProperty; /** * Executes the provided `callback` once for each enumerable own property in the * object and constructs a new object from the results. The `callback` is * invoked with three arguments: * * - the property value * - the property name * - the object being traversed * * Properties that are added after the call to `mapObject` will not be visited * by `callback`. If the values of existing properties are changed, the value * passed to `callback` will be the value at the time `mapObject` visits them. * Properties that are deleted before being visited are not visited. * * @grep function objectMap() * @grep function objMap() * * @param {?object} object * @param {function} callback * @param {*} context * @return {?object} */ function mapObject(object, callback, context) { if (!object) { return null; } var result = {}; for (var name in object) { if (hasOwnProperty.call(object, name)) { result[name] = callback.call(context, object[name], name, object); } } return result; } module.exports = mapObject; /***/ }, /* 30 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPropTypes */ 'use strict'; var ReactElement = __webpack_require__(8); var ReactPropTypeLocationNames = __webpack_require__(25); var emptyFunction = __webpack_require__(11); var getIteratorFn = __webpack_require__(14); /** * Collection of methods that allow declaration and validation of props that are * supplied to React components. Example usage: * * var Props = require('ReactPropTypes'); * var MyArticle = React.createClass({ * propTypes: { * // An optional string prop named "description". * description: Props.string, * * // A required enum prop named "category". * category: Props.oneOf(['News','Photos']).isRequired, * * // A prop named "dialog" that requires an instance of Dialog. * dialog: Props.instanceOf(Dialog).isRequired * }, * render: function() { ... } * }); * * A more formal specification of how these methods are used: * * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) * decl := ReactPropTypes.{type}(.isRequired)? * * Each and every declaration produces a function with the same signature. This * allows the creation of custom validation functions. For example: * * var MyLink = React.createClass({ * propTypes: { * // An optional string or URI prop named "href". * href: function(props, propName, componentName) { * var propValue = props[propName]; * if (propValue != null && typeof propValue !== 'string' && * !(propValue instanceof URI)) { * return new Error( * 'Expected a string or an URI for ' + propName + ' in ' + * componentName * ); * } * } * }, * render: function() {...} * }); * * @internal */ var ANONYMOUS = '<>'; var ReactPropTypes = { array: createPrimitiveTypeChecker('array'), bool: createPrimitiveTypeChecker('boolean'), func: createPrimitiveTypeChecker('function'), number: createPrimitiveTypeChecker('number'), object: createPrimitiveTypeChecker('object'), string: createPrimitiveTypeChecker('string'), any: createAnyTypeChecker(), arrayOf: createArrayOfTypeChecker, element: createElementTypeChecker(), instanceOf: createInstanceTypeChecker, node: createNodeChecker(), objectOf: createObjectOfTypeChecker, oneOf: createEnumTypeChecker, oneOfType: createUnionTypeChecker, shape: createShapeTypeChecker }; /** * inlined Object.is polyfill to avoid requiring consumers ship their own * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is */ /*eslint-disable no-self-compare*/ function is(x, y) { // SameValue algorithm if (x === y) { // Steps 1-5, 7-10 // Steps 6.b-6.e: +0 != -0 return x !== 0 || 1 / x === 1 / y; } else { // Step 6.a: NaN == NaN return x !== x && y !== y; } } /*eslint-enable no-self-compare*/ function createChainableTypeChecker(validate) { function checkType(isRequired, props, propName, componentName, location, propFullName) { componentName = componentName || ANONYMOUS; propFullName = propFullName || propName; if (props[propName] == null) { var locationName = ReactPropTypeLocationNames[location]; if (isRequired) { return new Error('Required ' + locationName + ' `' + propFullName + '` was not specified in ' + ('`' + componentName + '`.')); } return null; } else { return validate(props, propName, componentName, location, propFullName); } } var chainedCheckType = checkType.bind(null, false); chainedCheckType.isRequired = checkType.bind(null, true); return chainedCheckType; } function createPrimitiveTypeChecker(expectedType) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== expectedType) { var locationName = ReactPropTypeLocationNames[location]; // `propValue` being instance of, say, date/regexp, pass the 'object' // check, but we can offer a more precise error message here rather than // 'of type `object`'. var preciseType = getPreciseType(propValue); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); } return null; } return createChainableTypeChecker(validate); } function createAnyTypeChecker() { return createChainableTypeChecker(emptyFunction.thatReturns(null)); } function createArrayOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new Error('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); } var propValue = props[propName]; if (!Array.isArray(propValue)) { var locationName = ReactPropTypeLocationNames[location]; var propType = getPropType(propValue); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); } for (var i = 0; i < propValue.length; i++) { var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']'); if (error instanceof Error) { return error; } } return null; } return createChainableTypeChecker(validate); } function createElementTypeChecker() { function validate(props, propName, componentName, location, propFullName) { if (!ReactElement.isValidElement(props[propName])) { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a single ReactElement.')); } return null; } return createChainableTypeChecker(validate); } function createInstanceTypeChecker(expectedClass) { function validate(props, propName, componentName, location, propFullName) { if (!(props[propName] instanceof expectedClass)) { var locationName = ReactPropTypeLocationNames[location]; var expectedClassName = expectedClass.name || ANONYMOUS; var actualClassName = getClassName(props[propName]); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); } return null; } return createChainableTypeChecker(validate); } function createEnumTypeChecker(expectedValues) { if (!Array.isArray(expectedValues)) { return createChainableTypeChecker(function () { return new Error('Invalid argument supplied to oneOf, expected an instance of array.'); }); } function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; for (var i = 0; i < expectedValues.length; i++) { if (is(propValue, expectedValues[i])) { return null; } } var locationName = ReactPropTypeLocationNames[location]; var valuesString = JSON.stringify(expectedValues); return new Error('Invalid ' + locationName + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); } return createChainableTypeChecker(validate); } function createObjectOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new Error('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); } var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); } for (var key in propValue) { if (propValue.hasOwnProperty(key)) { var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key); if (error instanceof Error) { return error; } } } return null; } return createChainableTypeChecker(validate); } function createUnionTypeChecker(arrayOfTypeCheckers) { if (!Array.isArray(arrayOfTypeCheckers)) { return createChainableTypeChecker(function () { return new Error('Invalid argument supplied to oneOfType, expected an instance of array.'); }); } function validate(props, propName, componentName, location, propFullName) { for (var i = 0; i < arrayOfTypeCheckers.length; i++) { var checker = arrayOfTypeCheckers[i]; if (checker(props, propName, componentName, location, propFullName) == null) { return null; } } var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); } return createChainableTypeChecker(validate); } function createNodeChecker() { function validate(props, propName, componentName, location, propFullName) { if (!isNode(props[propName])) { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); } return null; } return createChainableTypeChecker(validate); } function createShapeTypeChecker(shapeTypes) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { var locationName = ReactPropTypeLocationNames[location]; return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); } for (var key in shapeTypes) { var checker = shapeTypes[key]; if (!checker) { continue; } var error = checker(propValue, key, componentName, location, propFullName + '.' + key); if (error) { return error; } } return null; } return createChainableTypeChecker(validate); } function isNode(propValue) { switch (typeof propValue) { case 'number': case 'string': case 'undefined': return true; case 'boolean': return !propValue; case 'object': if (Array.isArray(propValue)) { return propValue.every(isNode); } if (propValue === null || ReactElement.isValidElement(propValue)) { return true; } var iteratorFn = getIteratorFn(propValue); if (iteratorFn) { var iterator = iteratorFn.call(propValue); var step; if (iteratorFn !== propValue.entries) { while (!(step = iterator.next()).done) { if (!isNode(step.value)) { return false; } } } else { // Iterator will provide entry [k,v] tuples rather than values. while (!(step = iterator.next()).done) { var entry = step.value; if (entry) { if (!isNode(entry[1])) { return false; } } } } } else { return false; } return true; default: return false; } } // Equivalent of `typeof` but with special handling for array and regexp. function getPropType(propValue) { var propType = typeof propValue; if (Array.isArray(propValue)) { return 'array'; } if (propValue instanceof RegExp) { // Old webkits (at least until Android 4.0) return 'function' rather than // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ // passes PropTypes.object. return 'object'; } return propType; } // This handles more types than `getPropType`. Only used for error messages. // See `createPrimitiveTypeChecker`. function getPreciseType(propValue) { var propType = getPropType(propValue); if (propType === 'object') { if (propValue instanceof Date) { return 'date'; } else if (propValue instanceof RegExp) { return 'regexp'; } } return propType; } // Returns class name of the object, if any. function getClassName(propValue) { if (!propValue.constructor || !propValue.constructor.name) { return ANONYMOUS; } return propValue.constructor.name; } module.exports = ReactPropTypes; /***/ }, /* 31 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactVersion */ 'use strict'; module.exports = '15.0.2'; /***/ }, /* 32 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule onlyChild */ 'use strict'; var ReactElement = __webpack_require__(8); var invariant = __webpack_require__(7); /** * Returns the first child in a collection of children and verifies that there * is only one child in the collection. The current implementation of this * function assumes that a single child gets passed without a wrapper, but the * purpose of this helper function is to abstract away the particular structure * of children. * * @param {?object} children Child collection structure. * @return {ReactElement} The first and only `ReactElement` contained in the * structure. */ function onlyChild(children) { !ReactElement.isValidElement(children) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'onlyChild must be passed a children with exactly one child.') : invariant(false) : void 0; return children; } module.exports = onlyChild; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 33 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; module.exports = __webpack_require__(34); /***/ }, /* 34 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOM */ /* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/ 'use strict'; var ReactDOMComponentTree = __webpack_require__(35); var ReactDefaultInjection = __webpack_require__(38); var ReactMount = __webpack_require__(158); var ReactPerf = __webpack_require__(58); var ReactReconciler = __webpack_require__(59); var ReactUpdates = __webpack_require__(55); var ReactVersion = __webpack_require__(31); var findDOMNode = __webpack_require__(165); var getNativeComponentFromComposite = __webpack_require__(166); var renderSubtreeIntoContainer = __webpack_require__(167); var warning = __webpack_require__(10); ReactDefaultInjection.inject(); var render = ReactPerf.measure('React', 'render', ReactMount.render); var React = { findDOMNode: findDOMNode, render: render, unmountComponentAtNode: ReactMount.unmountComponentAtNode, version: ReactVersion, /* eslint-disable camelcase */ unstable_batchedUpdates: ReactUpdates.batchedUpdates, unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer }; // Inject the runtime into a devtools global hook regardless of browser. // Allows for debugging when the hook is injected on the page. /* eslint-enable camelcase */ if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') { __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ ComponentTree: { getClosestInstanceFromNode: ReactDOMComponentTree.getClosestInstanceFromNode, getNodeFromInstance: function (inst) { // inst is an internal instance (but could be a composite) if (inst._renderedComponent) { inst = getNativeComponentFromComposite(inst); } if (inst) { return ReactDOMComponentTree.getNodeFromInstance(inst); } else { return null; } } }, Mount: ReactMount, Reconciler: ReactReconciler }); } if (process.env.NODE_ENV !== 'production') { var ExecutionEnvironment = __webpack_require__(48); if (ExecutionEnvironment.canUseDOM && window.top === window.self) { // First check if devtools is not installed if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') { // If we're in Chrome or Firefox, provide a download link if not installed. if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) { // Firefox does not have the issue with devtools loaded over file:// var showFileUrlMessage = window.location.protocol.indexOf('http') === -1 && navigator.userAgent.indexOf('Firefox') === -1; console.debug('Download the React DevTools ' + (showFileUrlMessage ? 'and use an HTTP server (instead of a file: URL) ' : '') + 'for a better development experience: ' + 'https://fb.me/react-devtools'); } } var testFunc = function testFn() {}; process.env.NODE_ENV !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, 'It looks like you\'re using a minified copy of the development build ' + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0; // If we're in IE8, check to see if we are in compatibility mode and provide // information on preventing compatibility mode var ieCompatibilityMode = document.documentMode && document.documentMode < 8; process.env.NODE_ENV !== 'production' ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '') : void 0; var expectedFeatures = [ // shims Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.split, String.prototype.trim]; for (var i = 0; i < expectedFeatures.length; i++) { if (!expectedFeatures[i]) { process.env.NODE_ENV !== 'production' ? warning(false, 'One or more ES5 shims expected by React are not available: ' + 'https://fb.me/react-warning-polyfills') : void 0; break; } } } } module.exports = React; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 35 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOMComponentTree */ 'use strict'; var DOMProperty = __webpack_require__(36); var ReactDOMComponentFlags = __webpack_require__(37); var invariant = __webpack_require__(7); var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME; var Flags = ReactDOMComponentFlags; var internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2); /** * Drill down (through composites and empty components) until we get a native or * native text component. * * This is pretty polymorphic but unavoidable with the current structure we have * for `_renderedChildren`. */ function getRenderedNativeOrTextFromComponent(component) { var rendered; while (rendered = component._renderedComponent) { component = rendered; } return component; } /** * Populate `_nativeNode` on the rendered native/text component with the given * DOM node. The passed `inst` can be a composite. */ function precacheNode(inst, node) { var nativeInst = getRenderedNativeOrTextFromComponent(inst); nativeInst._nativeNode = node; node[internalInstanceKey] = nativeInst; } function uncacheNode(inst) { var node = inst._nativeNode; if (node) { delete node[internalInstanceKey]; inst._nativeNode = null; } } /** * Populate `_nativeNode` on each child of `inst`, assuming that the children * match up with the DOM (element) children of `node`. * * We cache entire levels at once to avoid an n^2 problem where we access the * children of a node sequentially and have to walk from the start to our target * node every time. * * Since we update `_renderedChildren` and the actual DOM at (slightly) * different times, we could race here and see a newer `_renderedChildren` than * the DOM nodes we see. To avoid this, ReactMultiChild calls * `prepareToManageChildren` before we change `_renderedChildren`, at which * time the container's child nodes are always cached (until it unmounts). */ function precacheChildNodes(inst, node) { if (inst._flags & Flags.hasCachedChildNodes) { return; } var children = inst._renderedChildren; var childNode = node.firstChild; outer: for (var name in children) { if (!children.hasOwnProperty(name)) { continue; } var childInst = children[name]; var childID = getRenderedNativeOrTextFromComponent(childInst)._domID; if (childID == null) { // We're currently unmounting this child in ReactMultiChild; skip it. continue; } // We assume the child nodes are in the same order as the child instances. for (; childNode !== null; childNode = childNode.nextSibling) { if (childNode.nodeType === 1 && childNode.getAttribute(ATTR_NAME) === String(childID) || childNode.nodeType === 8 && childNode.nodeValue === ' react-text: ' + childID + ' ' || childNode.nodeType === 8 && childNode.nodeValue === ' react-empty: ' + childID + ' ') { precacheNode(childInst, childNode); continue outer; } } // We reached the end of the DOM children without finding an ID match. true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unable to find element with ID %s.', childID) : invariant(false) : void 0; } inst._flags |= Flags.hasCachedChildNodes; } /** * Given a DOM node, return the closest ReactDOMComponent or * ReactDOMTextComponent instance ancestor. */ function getClosestInstanceFromNode(node) { if (node[internalInstanceKey]) { return node[internalInstanceKey]; } // Walk up the tree until we find an ancestor whose instance we have cached. var parents = []; while (!node[internalInstanceKey]) { parents.push(node); if (node.parentNode) { node = node.parentNode; } else { // Top of the tree. This node must not be part of a React tree (or is // unmounted, potentially). return null; } } var closest; var inst; for (; node && (inst = node[internalInstanceKey]); node = parents.pop()) { closest = inst; if (parents.length) { precacheChildNodes(inst, node); } } return closest; } /** * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent * instance, or null if the node was not rendered by this React. */ function getInstanceFromNode(node) { var inst = getClosestInstanceFromNode(node); if (inst != null && inst._nativeNode === node) { return inst; } else { return null; } } /** * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding * DOM node. */ function getNodeFromInstance(inst) { // Without this first invariant, passing a non-DOM-component triggers the next // invariant for a missing parent, which is super confusing. !(inst._nativeNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : invariant(false) : void 0; if (inst._nativeNode) { return inst._nativeNode; } // Walk up the tree until we find an ancestor whose DOM node we have cached. var parents = []; while (!inst._nativeNode) { parents.push(inst); !inst._nativeParent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React DOM tree root should always have a node reference.') : invariant(false) : void 0; inst = inst._nativeParent; } // Now parents contains each ancestor that does *not* have a cached native // node, and `inst` is the deepest ancestor that does. for (; parents.length; inst = parents.pop()) { precacheChildNodes(inst, inst._nativeNode); } return inst._nativeNode; } var ReactDOMComponentTree = { getClosestInstanceFromNode: getClosestInstanceFromNode, getInstanceFromNode: getInstanceFromNode, getNodeFromInstance: getNodeFromInstance, precacheChildNodes: precacheChildNodes, precacheNode: precacheNode, uncacheNode: uncacheNode }; module.exports = ReactDOMComponentTree; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 36 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DOMProperty */ 'use strict'; var invariant = __webpack_require__(7); function checkMask(value, bitmask) { return (value & bitmask) === bitmask; } var DOMPropertyInjection = { /** * Mapping from normalized, camelcased property names to a configuration that * specifies how the associated DOM property should be accessed or rendered. */ MUST_USE_PROPERTY: 0x1, HAS_SIDE_EFFECTS: 0x2, HAS_BOOLEAN_VALUE: 0x4, HAS_NUMERIC_VALUE: 0x8, HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8, HAS_OVERLOADED_BOOLEAN_VALUE: 0x20, /** * Inject some specialized knowledge about the DOM. This takes a config object * with the following properties: * * isCustomAttribute: function that given an attribute name will return true * if it can be inserted into the DOM verbatim. Useful for data-* or aria-* * attributes where it's impossible to enumerate all of the possible * attribute names, * * Properties: object mapping DOM property name to one of the * DOMPropertyInjection constants or null. If your attribute isn't in here, * it won't get written to the DOM. * * DOMAttributeNames: object mapping React attribute name to the DOM * attribute name. Attribute names not specified use the **lowercase** * normalized name. * * DOMAttributeNamespaces: object mapping React attribute name to the DOM * attribute namespace URL. (Attribute names not specified use no namespace.) * * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties. * Property names not specified use the normalized name. * * DOMMutationMethods: Properties that require special mutation methods. If * `value` is undefined, the mutation method should unset the property. * * @param {object} domPropertyConfig the config as described above. */ injectDOMPropertyConfig: function (domPropertyConfig) { var Injection = DOMPropertyInjection; var Properties = domPropertyConfig.Properties || {}; var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {}; var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {}; var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {}; var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {}; if (domPropertyConfig.isCustomAttribute) { DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute); } for (var propName in Properties) { !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'injectDOMPropertyConfig(...): You\'re trying to inject DOM property ' + '\'%s\' which has already been injected. You may be accidentally ' + 'injecting the same DOM property config twice, or you may be ' + 'injecting two configs that have conflicting property names.', propName) : invariant(false) : void 0; var lowerCased = propName.toLowerCase(); var propConfig = Properties[propName]; var propertyInfo = { attributeName: lowerCased, attributeNamespace: null, propertyName: propName, mutationMethod: null, mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY), hasSideEffects: checkMask(propConfig, Injection.HAS_SIDE_EFFECTS), hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE), hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE), hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE), hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE) }; !(propertyInfo.mustUseProperty || !propertyInfo.hasSideEffects) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Properties that have side effects must use property: %s', propName) : invariant(false) : void 0; !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or ' + 'numeric value, but not a combination: %s', propName) : invariant(false) : void 0; if (process.env.NODE_ENV !== 'production') { DOMProperty.getPossibleStandardName[lowerCased] = propName; } if (DOMAttributeNames.hasOwnProperty(propName)) { var attributeName = DOMAttributeNames[propName]; propertyInfo.attributeName = attributeName; if (process.env.NODE_ENV !== 'production') { DOMProperty.getPossibleStandardName[attributeName] = propName; } } if (DOMAttributeNamespaces.hasOwnProperty(propName)) { propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName]; } if (DOMPropertyNames.hasOwnProperty(propName)) { propertyInfo.propertyName = DOMPropertyNames[propName]; } if (DOMMutationMethods.hasOwnProperty(propName)) { propertyInfo.mutationMethod = DOMMutationMethods[propName]; } DOMProperty.properties[propName] = propertyInfo; } } }; /* eslint-disable max-len */ var ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD'; /* eslint-enable max-len */ /** * DOMProperty exports lookup objects that can be used like functions: * * > DOMProperty.isValid['id'] * true * > DOMProperty.isValid['foobar'] * undefined * * Although this may be confusing, it performs better in general. * * @see http://jsperf.com/key-exists * @see http://jsperf.com/key-missing */ var DOMProperty = { ID_ATTRIBUTE_NAME: 'data-reactid', ROOT_ATTRIBUTE_NAME: 'data-reactroot', ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR, ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\uB7\\u0300-\\u036F\\u203F-\\u2040', /** * Map from property "standard name" to an object with info about how to set * the property in the DOM. Each object contains: * * attributeName: * Used when rendering markup or with `*Attribute()`. * attributeNamespace * propertyName: * Used on DOM node instances. (This includes properties that mutate due to * external factors.) * mutationMethod: * If non-null, used instead of the property or `setAttribute()` after * initial render. * mustUseProperty: * Whether the property must be accessed and mutated as an object property. * hasSideEffects: * Whether or not setting a value causes side effects such as triggering * resources to be loaded or text selection changes. If true, we read from * the DOM before updating to ensure that the value is only set if it has * changed. * hasBooleanValue: * Whether the property should be removed when set to a falsey value. * hasNumericValue: * Whether the property must be numeric or parse as a numeric and should be * removed when set to a falsey value. * hasPositiveNumericValue: * Whether the property must be positive numeric or parse as a positive * numeric and should be removed when set to a falsey value. * hasOverloadedBooleanValue: * Whether the property can be used as a flag as well as with a value. * Removed when strictly equal to false; present without a value when * strictly equal to true; present with a value otherwise. */ properties: {}, /** * Mapping from lowercase property names to the properly cased version, used * to warn in the case of missing properties. Available only in __DEV__. * @type {Object} */ getPossibleStandardName: process.env.NODE_ENV !== 'production' ? {} : null, /** * All of the isCustomAttribute() functions that have been injected. */ _isCustomAttributeFunctions: [], /** * Checks whether a property name is a custom attribute. * @method */ isCustomAttribute: function (attributeName) { for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) { var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i]; if (isCustomAttributeFn(attributeName)) { return true; } } return false; }, injection: DOMPropertyInjection }; module.exports = DOMProperty; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 37 */ /***/ function(module, exports) { /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDOMComponentFlags */ 'use strict'; var ReactDOMComponentFlags = { hasCachedChildNodes: 1 << 0 }; module.exports = ReactDOMComponentFlags; /***/ }, /* 38 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactDefaultInjection */ 'use strict'; var BeforeInputEventPlugin = __webpack_require__(39); var ChangeEventPlugin = __webpack_require__(54); var DefaultEventPluginOrder = __webpack_require__(66); var EnterLeaveEventPlugin = __webpack_require__(67); var ExecutionEnvironment = __webpack_require__(48); var HTMLDOMPropertyConfig = __webpack_require__(72); var ReactComponentBrowserEnvironment = __webpack_require__(73); var ReactDOMComponent = __webpack_require__(86); var ReactDOMComponentTree = __webpack_require__(35); var ReactDOMEmptyComponent = __webpack_require__(127); var ReactDOMTreeTraversal = __webpack_require__(128); var ReactDOMTextComponent = __webpack_require__(129); var ReactDefaultBatchingStrategy = __webpack_require__(130); var ReactEventListener = __webpack_require__(131); var ReactInjection = __webpack_require__(134); var ReactReconcileTransaction = __webpack_require__(135); var SVGDOMPropertyConfig = __webpack_require__(143); var SelectEventPlugin = __webpack_require__(144); var SimpleEventPlugin = __webpack_require__(145); var alreadyInjected = false; function inject() { if (alreadyInjected) { // TODO: This is currently true because these injections are shared between // the client and the server package. They should be built independently // and not share any injection state. Then this problem will be solved. return; } alreadyInjected = true; ReactInjection.EventEmitter.injectReactEventListener(ReactEventListener); /** * Inject modules for resolving DOM hierarchy and plugin ordering. */ ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder); ReactInjection.EventPluginUtils.injectComponentTree(ReactDOMComponentTree); ReactInjection.EventPluginUtils.injectTreeTraversal(ReactDOMTreeTraversal); /** * Some important event plugins included by default (without having to require * them). */ ReactInjection.EventPluginHub.injectEventPluginsByName({ SimpleEventPlugin: SimpleEventPlugin, EnterLeaveEventPlugin: EnterLeaveEventPlugin, ChangeEventPlugin: ChangeEventPlugin, SelectEventPlugin: SelectEventPlugin, BeforeInputEventPlugin: BeforeInputEventPlugin }); ReactInjection.NativeComponent.injectGenericComponentClass(ReactDOMComponent); ReactInjection.NativeComponent.injectTextComponentClass(ReactDOMTextComponent); ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig); ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig); ReactInjection.EmptyComponent.injectEmptyComponentFactory(function (instantiate) { return new ReactDOMEmptyComponent(instantiate); }); ReactInjection.Updates.injectReconcileTransaction(ReactReconcileTransaction); ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy); ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment); if (process.env.NODE_ENV !== 'production') { var url = ExecutionEnvironment.canUseDOM && window.location.href || ''; if (/[?&]react_perf\b/.test(url)) { var ReactDefaultPerf = __webpack_require__(156); ReactDefaultPerf.start(); } } } module.exports = { inject: inject }; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 39 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule BeforeInputEventPlugin */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPropagators = __webpack_require__(41); var ExecutionEnvironment = __webpack_require__(48); var FallbackCompositionState = __webpack_require__(49); var SyntheticCompositionEvent = __webpack_require__(51); var SyntheticInputEvent = __webpack_require__(53); var keyOf = __webpack_require__(26); var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space var START_KEYCODE = 229; var canUseCompositionEvent = ExecutionEnvironment.canUseDOM && 'CompositionEvent' in window; var documentMode = null; if (ExecutionEnvironment.canUseDOM && 'documentMode' in document) { documentMode = document.documentMode; } // Webkit offers a very useful `textInput` event that can be used to // directly represent `beforeInput`. The IE `textinput` event is not as // useful, so we don't use it. var canUseTextInputEvent = ExecutionEnvironment.canUseDOM && 'TextEvent' in window && !documentMode && !isPresto(); // In IE9+, we have access to composition events, but the data supplied // by the native compositionend event may be incorrect. Japanese ideographic // spaces, for instance (\u3000) are not recorded correctly. var useFallbackCompositionData = ExecutionEnvironment.canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11); /** * Opera <= 12 includes TextEvent in window, but does not fire * text input events. Rely on keypress instead. */ function isPresto() { var opera = window.opera; return typeof opera === 'object' && typeof opera.version === 'function' && parseInt(opera.version(), 10) <= 12; } var SPACEBAR_CODE = 32; var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE); var topLevelTypes = EventConstants.topLevelTypes; // Events and their corresponding property names. var eventTypes = { beforeInput: { phasedRegistrationNames: { bubbled: keyOf({ onBeforeInput: null }), captured: keyOf({ onBeforeInputCapture: null }) }, dependencies: [topLevelTypes.topCompositionEnd, topLevelTypes.topKeyPress, topLevelTypes.topTextInput, topLevelTypes.topPaste] }, compositionEnd: { phasedRegistrationNames: { bubbled: keyOf({ onCompositionEnd: null }), captured: keyOf({ onCompositionEndCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionEnd, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] }, compositionStart: { phasedRegistrationNames: { bubbled: keyOf({ onCompositionStart: null }), captured: keyOf({ onCompositionStartCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionStart, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] }, compositionUpdate: { phasedRegistrationNames: { bubbled: keyOf({ onCompositionUpdate: null }), captured: keyOf({ onCompositionUpdateCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionUpdate, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] } }; // Track whether we've ever handled a keypress on the space key. var hasSpaceKeypress = false; /** * Return whether a native keypress event is assumed to be a command. * This is required because Firefox fires `keypress` events for key commands * (cut, copy, select-all, etc.) even though no character is inserted. */ function isKeypressCommand(nativeEvent) { return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command. !(nativeEvent.ctrlKey && nativeEvent.altKey); } /** * Translate native top level events into event types. * * @param {string} topLevelType * @return {object} */ function getCompositionEventType(topLevelType) { switch (topLevelType) { case topLevelTypes.topCompositionStart: return eventTypes.compositionStart; case topLevelTypes.topCompositionEnd: return eventTypes.compositionEnd; case topLevelTypes.topCompositionUpdate: return eventTypes.compositionUpdate; } } /** * Does our fallback best-guess model think this event signifies that * composition has begun? * * @param {string} topLevelType * @param {object} nativeEvent * @return {boolean} */ function isFallbackCompositionStart(topLevelType, nativeEvent) { return topLevelType === topLevelTypes.topKeyDown && nativeEvent.keyCode === START_KEYCODE; } /** * Does our fallback mode think that this event is the end of composition? * * @param {string} topLevelType * @param {object} nativeEvent * @return {boolean} */ function isFallbackCompositionEnd(topLevelType, nativeEvent) { switch (topLevelType) { case topLevelTypes.topKeyUp: // Command keys insert or clear IME input. return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1; case topLevelTypes.topKeyDown: // Expect IME keyCode on each keydown. If we get any other // code we must have exited earlier. return nativeEvent.keyCode !== START_KEYCODE; case topLevelTypes.topKeyPress: case topLevelTypes.topMouseDown: case topLevelTypes.topBlur: // Events are not possible without cancelling IME. return true; default: return false; } } /** * Google Input Tools provides composition data via a CustomEvent, * with the `data` property populated in the `detail` object. If this * is available on the event object, use it. If not, this is a plain * composition event and we have nothing special to extract. * * @param {object} nativeEvent * @return {?string} */ function getDataFromCustomEvent(nativeEvent) { var detail = nativeEvent.detail; if (typeof detail === 'object' && 'data' in detail) { return detail.data; } return null; } // Track the current IME composition fallback object, if any. var currentComposition = null; /** * @return {?object} A SyntheticCompositionEvent. */ function extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { var eventType; var fallbackData; if (canUseCompositionEvent) { eventType = getCompositionEventType(topLevelType); } else if (!currentComposition) { if (isFallbackCompositionStart(topLevelType, nativeEvent)) { eventType = eventTypes.compositionStart; } } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) { eventType = eventTypes.compositionEnd; } if (!eventType) { return null; } if (useFallbackCompositionData) { // The current composition is stored statically and must not be // overwritten while composition continues. if (!currentComposition && eventType === eventTypes.compositionStart) { currentComposition = FallbackCompositionState.getPooled(nativeEventTarget); } else if (eventType === eventTypes.compositionEnd) { if (currentComposition) { fallbackData = currentComposition.getData(); } } } var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget); if (fallbackData) { // Inject data generated from fallback path into the synthetic event. // This matches the property of native CompositionEventInterface. event.data = fallbackData; } else { var customData = getDataFromCustomEvent(nativeEvent); if (customData !== null) { event.data = customData; } } EventPropagators.accumulateTwoPhaseDispatches(event); return event; } /** * @param {string} topLevelType Record from `EventConstants`. * @param {object} nativeEvent Native browser event. * @return {?string} The string corresponding to this `beforeInput` event. */ function getNativeBeforeInputChars(topLevelType, nativeEvent) { switch (topLevelType) { case topLevelTypes.topCompositionEnd: return getDataFromCustomEvent(nativeEvent); case topLevelTypes.topKeyPress: /** * If native `textInput` events are available, our goal is to make * use of them. However, there is a special case: the spacebar key. * In Webkit, preventing default on a spacebar `textInput` event * cancels character insertion, but it *also* causes the browser * to fall back to its default spacebar behavior of scrolling the * page. * * Tracking at: * https://code.google.com/p/chromium/issues/detail?id=355103 * * To avoid this issue, use the keypress event as if no `textInput` * event is available. */ var which = nativeEvent.which; if (which !== SPACEBAR_CODE) { return null; } hasSpaceKeypress = true; return SPACEBAR_CHAR; case topLevelTypes.topTextInput: // Record the characters to be added to the DOM. var chars = nativeEvent.data; // If it's a spacebar character, assume that we have already handled // it at the keypress level and bail immediately. Android Chrome // doesn't give us keycodes, so we need to blacklist it. if (chars === SPACEBAR_CHAR && hasSpaceKeypress) { return null; } return chars; default: // For other native event types, do nothing. return null; } } /** * For browsers that do not provide the `textInput` event, extract the * appropriate string to use for SyntheticInputEvent. * * @param {string} topLevelType Record from `EventConstants`. * @param {object} nativeEvent Native browser event. * @return {?string} The fallback string for this `beforeInput` event. */ function getFallbackBeforeInputChars(topLevelType, nativeEvent) { // If we are currently composing (IME) and using a fallback to do so, // try to extract the composed characters from the fallback object. if (currentComposition) { if (topLevelType === topLevelTypes.topCompositionEnd || isFallbackCompositionEnd(topLevelType, nativeEvent)) { var chars = currentComposition.getData(); FallbackCompositionState.release(currentComposition); currentComposition = null; return chars; } return null; } switch (topLevelType) { case topLevelTypes.topPaste: // If a paste event occurs after a keypress, throw out the input // chars. Paste events should not lead to BeforeInput events. return null; case topLevelTypes.topKeyPress: /** * As of v27, Firefox may fire keypress events even when no character * will be inserted. A few possibilities: * * - `which` is `0`. Arrow keys, Esc key, etc. * * - `which` is the pressed key code, but no char is available. * Ex: 'AltGr + d` in Polish. There is no modified character for * this key combination and no character is inserted into the * document, but FF fires the keypress for char code `100` anyway. * No `input` event will occur. * * - `which` is the pressed key code, but a command combination is * being used. Ex: `Cmd+C`. No character is inserted, and no * `input` event will occur. */ if (nativeEvent.which && !isKeypressCommand(nativeEvent)) { return String.fromCharCode(nativeEvent.which); } return null; case topLevelTypes.topCompositionEnd: return useFallbackCompositionData ? null : nativeEvent.data; default: return null; } } /** * Extract a SyntheticInputEvent for `beforeInput`, based on either native * `textInput` or fallback behavior. * * @return {?object} A SyntheticInputEvent. */ function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { var chars; if (canUseTextInputEvent) { chars = getNativeBeforeInputChars(topLevelType, nativeEvent); } else { chars = getFallbackBeforeInputChars(topLevelType, nativeEvent); } // If no characters are being inserted, no BeforeInput event should // be fired. if (!chars) { return null; } var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget); event.data = chars; EventPropagators.accumulateTwoPhaseDispatches(event); return event; } /** * Create an `onBeforeInput` event to match * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents. * * This event plugin is based on the native `textInput` event * available in Chrome, Safari, Opera, and IE. This event fires after * `onKeyPress` and `onCompositionEnd`, but before `onInput`. * * `beforeInput` is spec'd but not implemented in any browsers, and * the `input` event does not provide any useful information about what has * actually been added, contrary to the spec. Thus, `textInput` is the best * available event to identify the characters that have actually been inserted * into the target node. * * This plugin is also responsible for emitting `composition` events, thus * allowing us to share composition fallback code for both `beforeInput` and * `composition` event types. */ var BeforeInputEventPlugin = { eventTypes: eventTypes, extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { return [extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget), extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget)]; } }; module.exports = BeforeInputEventPlugin; /***/ }, /* 40 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventConstants */ 'use strict'; var keyMirror = __webpack_require__(24); var PropagationPhases = keyMirror({ bubbled: null, captured: null }); /** * Types of raw signals from the browser caught at the top level. */ var topLevelTypes = keyMirror({ topAbort: null, topAnimationEnd: null, topAnimationIteration: null, topAnimationStart: null, topBlur: null, topCanPlay: null, topCanPlayThrough: null, topChange: null, topClick: null, topCompositionEnd: null, topCompositionStart: null, topCompositionUpdate: null, topContextMenu: null, topCopy: null, topCut: null, topDoubleClick: null, topDrag: null, topDragEnd: null, topDragEnter: null, topDragExit: null, topDragLeave: null, topDragOver: null, topDragStart: null, topDrop: null, topDurationChange: null, topEmptied: null, topEncrypted: null, topEnded: null, topError: null, topFocus: null, topInput: null, topInvalid: null, topKeyDown: null, topKeyPress: null, topKeyUp: null, topLoad: null, topLoadedData: null, topLoadedMetadata: null, topLoadStart: null, topMouseDown: null, topMouseMove: null, topMouseOut: null, topMouseOver: null, topMouseUp: null, topPaste: null, topPause: null, topPlay: null, topPlaying: null, topProgress: null, topRateChange: null, topReset: null, topScroll: null, topSeeked: null, topSeeking: null, topSelectionChange: null, topStalled: null, topSubmit: null, topSuspend: null, topTextInput: null, topTimeUpdate: null, topTouchCancel: null, topTouchEnd: null, topTouchMove: null, topTouchStart: null, topTransitionEnd: null, topVolumeChange: null, topWaiting: null, topWheel: null }); var EventConstants = { topLevelTypes: topLevelTypes, PropagationPhases: PropagationPhases }; module.exports = EventConstants; /***/ }, /* 41 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPropagators */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPluginHub = __webpack_require__(42); var EventPluginUtils = __webpack_require__(44); var accumulateInto = __webpack_require__(46); var forEachAccumulated = __webpack_require__(47); var warning = __webpack_require__(10); var PropagationPhases = EventConstants.PropagationPhases; var getListener = EventPluginHub.getListener; /** * Some event types have a notion of different registration names for different * "phases" of propagation. This finds listeners by a given phase. */ function listenerAtPhase(inst, event, propagationPhase) { var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase]; return getListener(inst, registrationName); } /** * Tags a `SyntheticEvent` with dispatched listeners. Creating this function * here, allows us to not have to bind or create functions for each event. * Mutating the event's members allows us to not have to create a wrapping * "dispatch" object that pairs the event with the listener. */ function accumulateDirectionalDispatches(inst, upwards, event) { if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0; } var phase = upwards ? PropagationPhases.bubbled : PropagationPhases.captured; var listener = listenerAtPhase(inst, event, phase); if (listener) { event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); } } /** * Collect dispatches (must be entirely collected before dispatching - see unit * tests). Lazily allocate the array to conserve memory. We must loop through * each event and perform the traversal for each one. We cannot perform a * single traversal for the entire collection of events because each event may * have a different target. */ function accumulateTwoPhaseDispatchesSingle(event) { if (event && event.dispatchConfig.phasedRegistrationNames) { EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event); } } /** * Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID. */ function accumulateTwoPhaseDispatchesSingleSkipTarget(event) { if (event && event.dispatchConfig.phasedRegistrationNames) { var targetInst = event._targetInst; var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null; EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event); } } /** * Accumulates without regard to direction, does not look for phased * registration names. Same as `accumulateDirectDispatchesSingle` but without * requiring that the `dispatchMarker` be the same as the dispatched ID. */ function accumulateDispatches(inst, ignoredDirection, event) { if (event && event.dispatchConfig.registrationName) { var registrationName = event.dispatchConfig.registrationName; var listener = getListener(inst, registrationName); if (listener) { event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); } } } /** * Accumulates dispatches on an `SyntheticEvent`, but only for the * `dispatchMarker`. * @param {SyntheticEvent} event */ function accumulateDirectDispatchesSingle(event) { if (event && event.dispatchConfig.registrationName) { accumulateDispatches(event._targetInst, null, event); } } function accumulateTwoPhaseDispatches(events) { forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle); } function accumulateTwoPhaseDispatchesSkipTarget(events) { forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget); } function accumulateEnterLeaveDispatches(leave, enter, from, to) { EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter); } function accumulateDirectDispatches(events) { forEachAccumulated(events, accumulateDirectDispatchesSingle); } /** * A small set of propagation patterns, each of which will accept a small amount * of information, and generate a set of "dispatch ready event objects" - which * are sets of events that have already been annotated with a set of dispatched * listener functions/ids. The API is designed this way to discourage these * propagation strategies from actually executing the dispatches, since we * always want to collect the entire set of dispatches before executing event a * single one. * * @constructor EventPropagators */ var EventPropagators = { accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches, accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget, accumulateDirectDispatches: accumulateDirectDispatches, accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatches }; module.exports = EventPropagators; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 42 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPluginHub */ 'use strict'; var EventPluginRegistry = __webpack_require__(43); var EventPluginUtils = __webpack_require__(44); var ReactErrorUtils = __webpack_require__(45); var accumulateInto = __webpack_require__(46); var forEachAccumulated = __webpack_require__(47); var invariant = __webpack_require__(7); /** * Internal store for event listeners */ var listenerBank = {}; /** * Internal queue of events that have accumulated their dispatches and are * waiting to have their dispatches executed. */ var eventQueue = null; /** * Dispatches an event and releases it back into the pool, unless persistent. * * @param {?object} event Synthetic event to be dispatched. * @param {boolean} simulated If the event is simulated (changes exn behavior) * @private */ var executeDispatchesAndRelease = function (event, simulated) { if (event) { EventPluginUtils.executeDispatchesInOrder(event, simulated); if (!event.isPersistent()) { event.constructor.release(event); } } }; var executeDispatchesAndReleaseSimulated = function (e) { return executeDispatchesAndRelease(e, true); }; var executeDispatchesAndReleaseTopLevel = function (e) { return executeDispatchesAndRelease(e, false); }; /** * This is a unified interface for event plugins to be installed and configured. * * Event plugins can implement the following properties: * * `extractEvents` {function(string, DOMEventTarget, string, object): *} * Required. When a top-level event is fired, this method is expected to * extract synthetic events that will in turn be queued and dispatched. * * `eventTypes` {object} * Optional, plugins that fire events must publish a mapping of registration * names that are used to register listeners. Values of this mapping must * be objects that contain `registrationName` or `phasedRegistrationNames`. * * `executeDispatch` {function(object, function, string)} * Optional, allows plugins to override how an event gets dispatched. By * default, the listener is simply invoked. * * Each plugin that is injected into `EventsPluginHub` is immediately operable. * * @public */ var EventPluginHub = { /** * Methods for injecting dependencies. */ injection: { /** * @param {array} InjectedEventPluginOrder * @public */ injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder, /** * @param {object} injectedNamesToPlugins Map from names to plugin modules. */ injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName }, /** * Stores `listener` at `listenerBank[registrationName][id]`. Is idempotent. * * @param {object} inst The instance, which is the source of events. * @param {string} registrationName Name of listener (e.g. `onClick`). * @param {function} listener The callback to store. */ putListener: function (inst, registrationName, listener) { !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : invariant(false) : void 0; var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {}); bankForRegistrationName[inst._rootNodeID] = listener; var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; if (PluginModule && PluginModule.didPutListener) { PluginModule.didPutListener(inst, registrationName, listener); } }, /** * @param {object} inst The instance, which is the source of events. * @param {string} registrationName Name of listener (e.g. `onClick`). * @return {?function} The stored callback. */ getListener: function (inst, registrationName) { var bankForRegistrationName = listenerBank[registrationName]; return bankForRegistrationName && bankForRegistrationName[inst._rootNodeID]; }, /** * Deletes a listener from the registration bank. * * @param {object} inst The instance, which is the source of events. * @param {string} registrationName Name of listener (e.g. `onClick`). */ deleteListener: function (inst, registrationName) { var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; if (PluginModule && PluginModule.willDeleteListener) { PluginModule.willDeleteListener(inst, registrationName); } var bankForRegistrationName = listenerBank[registrationName]; // TODO: This should never be null -- when is it? if (bankForRegistrationName) { delete bankForRegistrationName[inst._rootNodeID]; } }, /** * Deletes all listeners for the DOM element with the supplied ID. * * @param {object} inst The instance, which is the source of events. */ deleteAllListeners: function (inst) { for (var registrationName in listenerBank) { if (!listenerBank[registrationName][inst._rootNodeID]) { continue; } var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; if (PluginModule && PluginModule.willDeleteListener) { PluginModule.willDeleteListener(inst, registrationName); } delete listenerBank[registrationName][inst._rootNodeID]; } }, /** * Allows registered plugins an opportunity to extract events from top-level * native browser events. * * @return {*} An accumulation of synthetic events. * @internal */ extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { var events; var plugins = EventPluginRegistry.plugins; for (var i = 0; i < plugins.length; i++) { // Not every plugin in the ordering may be loaded at runtime. var possiblePlugin = plugins[i]; if (possiblePlugin) { var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget); if (extractedEvents) { events = accumulateInto(events, extractedEvents); } } } return events; }, /** * Enqueues a synthetic event that should be dispatched when * `processEventQueue` is invoked. * * @param {*} events An accumulation of synthetic events. * @internal */ enqueueEvents: function (events) { if (events) { eventQueue = accumulateInto(eventQueue, events); } }, /** * Dispatches all synthetic events on the event queue. * * @internal */ processEventQueue: function (simulated) { // Set `eventQueue` to null before processing it so that we can tell if more // events get enqueued while processing. var processingEventQueue = eventQueue; eventQueue = null; if (simulated) { forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated); } else { forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel); } !!eventQueue ? process.env.NODE_ENV !== 'production' ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing ' + 'an event queue. Support for this has not yet been implemented.') : invariant(false) : void 0; // This would be a good time to rethrow if any of the event handlers threw. ReactErrorUtils.rethrowCaughtError(); }, /** * These are needed for tests only. Do not use! */ __purge: function () { listenerBank = {}; }, __getListenerBank: function () { return listenerBank; } }; module.exports = EventPluginHub; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 43 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPluginRegistry */ 'use strict'; var invariant = __webpack_require__(7); /** * Injectable ordering of event plugins. */ var EventPluginOrder = null; /** * Injectable mapping from names to event plugin modules. */ var namesToPlugins = {}; /** * Recomputes the plugin list using the injected plugins and plugin ordering. * * @private */ function recomputePluginOrdering() { if (!EventPluginOrder) { // Wait until an `EventPluginOrder` is injected. return; } for (var pluginName in namesToPlugins) { var PluginModule = namesToPlugins[pluginName]; var pluginIndex = EventPluginOrder.indexOf(pluginName); !(pluginIndex > -1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in ' + 'the plugin ordering, `%s`.', pluginName) : invariant(false) : void 0; if (EventPluginRegistry.plugins[pluginIndex]) { continue; } !PluginModule.extractEvents ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` ' + 'method, but `%s` does not.', pluginName) : invariant(false) : void 0; EventPluginRegistry.plugins[pluginIndex] = PluginModule; var publishedEvents = PluginModule.eventTypes; for (var eventName in publishedEvents) { !publishEventForPlugin(publishedEvents[eventName], PluginModule, eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : invariant(false) : void 0; } } } /** * Publishes an event so that it can be dispatched by the supplied plugin. * * @param {object} dispatchConfig Dispatch configuration for the event. * @param {object} PluginModule Plugin publishing the event. * @return {boolean} True if the event was successfully published. * @private */ function publishEventForPlugin(dispatchConfig, PluginModule, eventName) { !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'event name, `%s`.', eventName) : invariant(false) : void 0; EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig; var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames; if (phasedRegistrationNames) { for (var phaseName in phasedRegistrationNames) { if (phasedRegistrationNames.hasOwnProperty(phaseName)) { var phasedRegistrationName = phasedRegistrationNames[phaseName]; publishRegistrationName(phasedRegistrationName, PluginModule, eventName); } } return true; } else if (dispatchConfig.registrationName) { publishRegistrationName(dispatchConfig.registrationName, PluginModule, eventName); return true; } return false; } /** * Publishes a registration name that is used to identify dispatched events and * can be used with `EventPluginHub.putListener` to register listeners. * * @param {string} registrationName Registration name to add. * @param {object} PluginModule Plugin publishing the event. * @private */ function publishRegistrationName(registrationName, PluginModule, eventName) { !!EventPluginRegistry.registrationNameModules[registrationName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName) : invariant(false) : void 0; EventPluginRegistry.registrationNameModules[registrationName] = PluginModule; EventPluginRegistry.registrationNameDependencies[registrationName] = PluginModule.eventTypes[eventName].dependencies; if (process.env.NODE_ENV !== 'production') { var lowerCasedName = registrationName.toLowerCase(); EventPluginRegistry.possibleRegistrationNames[lowerCasedName] = registrationName; } } /** * Registers plugins so that they can extract and dispatch events. * * @see {EventPluginHub} */ var EventPluginRegistry = { /** * Ordered list of injected plugins. */ plugins: [], /** * Mapping from event name to dispatch config */ eventNameDispatchConfigs: {}, /** * Mapping from registration name to plugin module */ registrationNameModules: {}, /** * Mapping from registration name to event name */ registrationNameDependencies: {}, /** * Mapping from lowercase registration names to the properly cased version, * used to warn in the case of missing event handlers. Available * only in __DEV__. * @type {Object} */ possibleRegistrationNames: process.env.NODE_ENV !== 'production' ? {} : null, /** * Injects an ordering of plugins (by plugin name). This allows the ordering * to be decoupled from injection of the actual plugins so that ordering is * always deterministic regardless of packaging, on-the-fly injection, etc. * * @param {array} InjectedEventPluginOrder * @internal * @see {EventPluginHub.injection.injectEventPluginOrder} */ injectEventPluginOrder: function (InjectedEventPluginOrder) { !!EventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than ' + 'once. You are likely trying to load more than one copy of React.') : invariant(false) : void 0; // Clone the ordering so it cannot be dynamically mutated. EventPluginOrder = Array.prototype.slice.call(InjectedEventPluginOrder); recomputePluginOrdering(); }, /** * Injects plugins to be used by `EventPluginHub`. The plugin names must be * in the ordering injected by `injectEventPluginOrder`. * * Plugins can be injected as part of page initialization or on-the-fly. * * @param {object} injectedNamesToPlugins Map from names to plugin modules. * @internal * @see {EventPluginHub.injection.injectEventPluginsByName} */ injectEventPluginsByName: function (injectedNamesToPlugins) { var isOrderingDirty = false; for (var pluginName in injectedNamesToPlugins) { if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) { continue; } var PluginModule = injectedNamesToPlugins[pluginName]; if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== PluginModule) { !!namesToPlugins[pluginName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins ' + 'using the same name, `%s`.', pluginName) : invariant(false) : void 0; namesToPlugins[pluginName] = PluginModule; isOrderingDirty = true; } } if (isOrderingDirty) { recomputePluginOrdering(); } }, /** * Looks up the plugin for the supplied event. * * @param {object} event A synthetic event. * @return {?object} The plugin that created the supplied event. * @internal */ getPluginModuleForEvent: function (event) { var dispatchConfig = event.dispatchConfig; if (dispatchConfig.registrationName) { return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null; } for (var phase in dispatchConfig.phasedRegistrationNames) { if (!dispatchConfig.phasedRegistrationNames.hasOwnProperty(phase)) { continue; } var PluginModule = EventPluginRegistry.registrationNameModules[dispatchConfig.phasedRegistrationNames[phase]]; if (PluginModule) { return PluginModule; } } return null; }, /** * Exposed for unit testing. * @private */ _resetEventPlugins: function () { EventPluginOrder = null; for (var pluginName in namesToPlugins) { if (namesToPlugins.hasOwnProperty(pluginName)) { delete namesToPlugins[pluginName]; } } EventPluginRegistry.plugins.length = 0; var eventNameDispatchConfigs = EventPluginRegistry.eventNameDispatchConfigs; for (var eventName in eventNameDispatchConfigs) { if (eventNameDispatchConfigs.hasOwnProperty(eventName)) { delete eventNameDispatchConfigs[eventName]; } } var registrationNameModules = EventPluginRegistry.registrationNameModules; for (var registrationName in registrationNameModules) { if (registrationNameModules.hasOwnProperty(registrationName)) { delete registrationNameModules[registrationName]; } } if (process.env.NODE_ENV !== 'production') { var possibleRegistrationNames = EventPluginRegistry.possibleRegistrationNames; for (var lowerCasedName in possibleRegistrationNames) { if (possibleRegistrationNames.hasOwnProperty(lowerCasedName)) { delete possibleRegistrationNames[lowerCasedName]; } } } } }; module.exports = EventPluginRegistry; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 44 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EventPluginUtils */ 'use strict'; var EventConstants = __webpack_require__(40); var ReactErrorUtils = __webpack_require__(45); var invariant = __webpack_require__(7); var warning = __webpack_require__(10); /** * Injected dependencies: */ /** * - `ComponentTree`: [required] Module that can convert between React instances * and actual node references. */ var ComponentTree; var TreeTraversal; var injection = { injectComponentTree: function (Injected) { ComponentTree = Injected; if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.getNodeFromInstance && Injected.getInstanceFromNode, 'EventPluginUtils.injection.injectComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.') : void 0; } }, injectTreeTraversal: function (Injected) { TreeTraversal = Injected; if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.isAncestor && Injected.getLowestCommonAncestor, 'EventPluginUtils.injection.injectTreeTraversal(...): Injected ' + 'module is missing isAncestor or getLowestCommonAncestor.') : void 0; } } }; var topLevelTypes = EventConstants.topLevelTypes; function isEndish(topLevelType) { return topLevelType === topLevelTypes.topMouseUp || topLevelType === topLevelTypes.topTouchEnd || topLevelType === topLevelTypes.topTouchCancel; } function isMoveish(topLevelType) { return topLevelType === topLevelTypes.topMouseMove || topLevelType === topLevelTypes.topTouchMove; } function isStartish(topLevelType) { return topLevelType === topLevelTypes.topMouseDown || topLevelType === topLevelTypes.topTouchStart; } var validateEventDispatches; if (process.env.NODE_ENV !== 'production') { validateEventDispatches = function (event) { var dispatchListeners = event._dispatchListeners; var dispatchInstances = event._dispatchInstances; var listenersIsArr = Array.isArray(dispatchListeners); var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0; var instancesIsArr = Array.isArray(dispatchInstances); var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0; process.env.NODE_ENV !== 'production' ? warning(instancesIsArr === listenersIsArr && instancesLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : void 0; }; } /** * Dispatch the event to the listener. * @param {SyntheticEvent} event SyntheticEvent to handle * @param {boolean} simulated If the event is simulated (changes exn behavior) * @param {function} listener Application-level callback * @param {*} inst Internal component instance */ function executeDispatch(event, simulated, listener, inst) { var type = event.type || 'unknown-event'; event.currentTarget = EventPluginUtils.getNodeFromInstance(inst); if (simulated) { ReactErrorUtils.invokeGuardedCallbackWithCatch(type, listener, event); } else { ReactErrorUtils.invokeGuardedCallback(type, listener, event); } event.currentTarget = null; } /** * Standard/simple iteration through an event's collected dispatches. */ function executeDispatchesInOrder(event, simulated) { var dispatchListeners = event._dispatchListeners; var dispatchInstances = event._dispatchInstances; if (process.env.NODE_ENV !== 'production') { validateEventDispatches(event); } if (Array.isArray(dispatchListeners)) { for (var i = 0; i < dispatchListeners.length; i++) { if (event.isPropagationStopped()) { break; } // Listeners and Instances are two parallel arrays that are always in sync. executeDispatch(event, simulated, dispatchListeners[i], dispatchInstances[i]); } } else if (dispatchListeners) { executeDispatch(event, simulated, dispatchListeners, dispatchInstances); } event._dispatchListeners = null; event._dispatchInstances = null; } /** * Standard/simple iteration through an event's collected dispatches, but stops * at the first dispatch execution returning true, and returns that id. * * @return {?string} id of the first dispatch execution who's listener returns * true, or null if no listener returned true. */ function executeDispatchesInOrderStopAtTrueImpl(event) { var dispatchListeners = event._dispatchListeners; var dispatchInstances = event._dispatchInstances; if (process.env.NODE_ENV !== 'production') { validateEventDispatches(event); } if (Array.isArray(dispatchListeners)) { for (var i = 0; i < dispatchListeners.length; i++) { if (event.isPropagationStopped()) { break; } // Listeners and Instances are two parallel arrays that are always in sync. if (dispatchListeners[i](event, dispatchInstances[i])) { return dispatchInstances[i]; } } } else if (dispatchListeners) { if (dispatchListeners(event, dispatchInstances)) { return dispatchInstances; } } return null; } /** * @see executeDispatchesInOrderStopAtTrueImpl */ function executeDispatchesInOrderStopAtTrue(event) { var ret = executeDispatchesInOrderStopAtTrueImpl(event); event._dispatchInstances = null; event._dispatchListeners = null; return ret; } /** * Execution of a "direct" dispatch - there must be at most one dispatch * accumulated on the event or it is considered an error. It doesn't really make * sense for an event with multiple dispatches (bubbled) to keep track of the * return values at each dispatch execution, but it does tend to make sense when * dealing with "direct" dispatches. * * @return {*} The return value of executing the single dispatch. */ function executeDirectDispatch(event) { if (process.env.NODE_ENV !== 'production') { validateEventDispatches(event); } var dispatchListener = event._dispatchListeners; var dispatchInstance = event._dispatchInstances; !!Array.isArray(dispatchListener) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : invariant(false) : void 0; event.currentTarget = dispatchListener ? EventPluginUtils.getNodeFromInstance(dispatchInstance) : null; var res = dispatchListener ? dispatchListener(event) : null; event.currentTarget = null; event._dispatchListeners = null; event._dispatchInstances = null; return res; } /** * @param {SyntheticEvent} event * @return {boolean} True iff number of dispatches accumulated is greater than 0. */ function hasDispatches(event) { return !!event._dispatchListeners; } /** * General utilities that are useful in creating custom Event Plugins. */ var EventPluginUtils = { isEndish: isEndish, isMoveish: isMoveish, isStartish: isStartish, executeDirectDispatch: executeDirectDispatch, executeDispatchesInOrder: executeDispatchesInOrder, executeDispatchesInOrderStopAtTrue: executeDispatchesInOrderStopAtTrue, hasDispatches: hasDispatches, getInstanceFromNode: function (node) { return ComponentTree.getInstanceFromNode(node); }, getNodeFromInstance: function (node) { return ComponentTree.getNodeFromInstance(node); }, isAncestor: function (a, b) { return TreeTraversal.isAncestor(a, b); }, getLowestCommonAncestor: function (a, b) { return TreeTraversal.getLowestCommonAncestor(a, b); }, getParentInstance: function (inst) { return TreeTraversal.getParentInstance(inst); }, traverseTwoPhase: function (target, fn, arg) { return TreeTraversal.traverseTwoPhase(target, fn, arg); }, traverseEnterLeave: function (from, to, fn, argFrom, argTo) { return TreeTraversal.traverseEnterLeave(from, to, fn, argFrom, argTo); }, injection: injection }; module.exports = EventPluginUtils; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 45 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactErrorUtils */ 'use strict'; var caughtError = null; /** * Call a function while guarding against errors that happens within it. * * @param {?String} name of the guard to use for logging or debugging * @param {Function} func The function to invoke * @param {*} a First argument * @param {*} b Second argument */ function invokeGuardedCallback(name, func, a, b) { try { return func(a, b); } catch (x) { if (caughtError === null) { caughtError = x; } return undefined; } } var ReactErrorUtils = { invokeGuardedCallback: invokeGuardedCallback, /** * Invoked by ReactTestUtils.Simulate so that any errors thrown by the event * handler are sure to be rethrown by rethrowCaughtError. */ invokeGuardedCallbackWithCatch: invokeGuardedCallback, /** * During execution of guarded functions we will capture the first error which * we will rethrow to be handled by the top level error handler. */ rethrowCaughtError: function () { if (caughtError) { var error = caughtError; caughtError = null; throw error; } } }; if (process.env.NODE_ENV !== 'production') { /** * To help development we can get better devtools integration by simulating a * real browser event. */ if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') { var fakeNode = document.createElement('react'); ReactErrorUtils.invokeGuardedCallback = function (name, func, a, b) { var boundFunc = func.bind(null, a, b); var evtType = 'react-' + name; fakeNode.addEventListener(evtType, boundFunc, false); var evt = document.createEvent('Event'); evt.initEvent(evtType, false, false); fakeNode.dispatchEvent(evt); fakeNode.removeEventListener(evtType, boundFunc, false); }; } } module.exports = ReactErrorUtils; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 46 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule accumulateInto */ 'use strict'; var invariant = __webpack_require__(7); /** * * Accumulates items that must not be null or undefined into the first one. This * is used to conserve memory by avoiding array allocations, and thus sacrifices * API cleanness. Since `current` can be null before being passed in and not * null after this function, make sure to assign it back to `current`: * * `a = accumulateInto(a, b);` * * This API should be sparingly used. Try `accumulate` for something cleaner. * * @return {*|array<*>} An accumulation of items. */ function accumulateInto(current, next) { !(next != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : invariant(false) : void 0; if (current == null) { return next; } // Both are not empty. Warning: Never call x.concat(y) when you are not // certain that x is an Array (x could be a string with concat method). var currentIsArray = Array.isArray(current); var nextIsArray = Array.isArray(next); if (currentIsArray && nextIsArray) { current.push.apply(current, next); return current; } if (currentIsArray) { current.push(next); return current; } if (nextIsArray) { // A bit too dangerous to mutate `next`. return [current].concat(next); } return [current, next]; } module.exports = accumulateInto; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 47 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule forEachAccumulated */ 'use strict'; /** * @param {array} arr an "accumulation" of items which is either an Array or * a single item. Useful when paired with the `accumulate` module. This is a * simple utility that allows us to reason about a collection of items, but * handling the case when there is exactly one item (and we do not need to * allocate an array). */ var forEachAccumulated = function (arr, cb, scope) { if (Array.isArray(arr)) { arr.forEach(cb, scope); } else if (arr) { cb.call(scope, arr); } }; module.exports = forEachAccumulated; /***/ }, /* 48 */ /***/ function(module, exports) { /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); /** * Simple, lightweight module assisting with the detection and context of * Worker. Helps avoid circular dependencies and allows code to reason about * whether or not they are in a Worker, even if they never include the main * `ReactWorker` dependency. */ var ExecutionEnvironment = { canUseDOM: canUseDOM, canUseWorkers: typeof Worker !== 'undefined', canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent), canUseViewport: canUseDOM && !!window.screen, isInWorker: !canUseDOM // For now, this is true - might change in the future. }; module.exports = ExecutionEnvironment; /***/ }, /* 49 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule FallbackCompositionState */ 'use strict'; var _assign = __webpack_require__(4); var PooledClass = __webpack_require__(6); var getTextContentAccessor = __webpack_require__(50); /** * This helper class stores information about text content of a target node, * allowing comparison of content before and after a given event. * * Identify the node where selection currently begins, then observe * both its text content and its current position in the DOM. Since the * browser may natively replace the target node during composition, we can * use its position to find its replacement. * * @param {DOMEventTarget} root */ function FallbackCompositionState(root) { this._root = root; this._startText = this.getText(); this._fallbackText = null; } _assign(FallbackCompositionState.prototype, { destructor: function () { this._root = null; this._startText = null; this._fallbackText = null; }, /** * Get current text of input. * * @return {string} */ getText: function () { if ('value' in this._root) { return this._root.value; } return this._root[getTextContentAccessor()]; }, /** * Determine the differing substring between the initially stored * text content and the current content. * * @return {string} */ getData: function () { if (this._fallbackText) { return this._fallbackText; } var start; var startValue = this._startText; var startLength = startValue.length; var end; var endValue = this.getText(); var endLength = endValue.length; for (start = 0; start < startLength; start++) { if (startValue[start] !== endValue[start]) { break; } } var minEnd = startLength - start; for (end = 1; end <= minEnd; end++) { if (startValue[startLength - end] !== endValue[endLength - end]) { break; } } var sliceTail = end > 1 ? 1 - end : undefined; this._fallbackText = endValue.slice(start, sliceTail); return this._fallbackText; } }); PooledClass.addPoolingTo(FallbackCompositionState); module.exports = FallbackCompositionState; /***/ }, /* 50 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getTextContentAccessor */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var contentKey = null; /** * Gets the key used to access text content on a DOM node. * * @return {?string} Key used to access text content. * @internal */ function getTextContentAccessor() { if (!contentKey && ExecutionEnvironment.canUseDOM) { // Prefer textContent to innerText because many browsers support both but // SVG elements don't support innerText even when
    does. contentKey = 'textContent' in document.documentElement ? 'textContent' : 'innerText'; } return contentKey; } module.exports = getTextContentAccessor; /***/ }, /* 51 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticCompositionEvent */ 'use strict'; var SyntheticEvent = __webpack_require__(52); /** * @interface Event * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents */ var CompositionEventInterface = { data: null }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticUIEvent} */ function SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface); module.exports = SyntheticCompositionEvent; /***/ }, /* 52 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticEvent */ 'use strict'; var _assign = __webpack_require__(4); var PooledClass = __webpack_require__(6); var emptyFunction = __webpack_require__(11); var warning = __webpack_require__(10); var didWarnForAddedNewProperty = false; var isProxySupported = typeof Proxy === 'function'; var shouldBeReleasedProperties = ['dispatchConfig', '_targetInst', 'nativeEvent', 'isDefaultPrevented', 'isPropagationStopped', '_dispatchListeners', '_dispatchInstances']; /** * @interface Event * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var EventInterface = { type: null, target: null, // currentTarget is set when dispatching; no use in copying it here currentTarget: emptyFunction.thatReturnsNull, eventPhase: null, bubbles: null, cancelable: null, timeStamp: function (event) { return event.timeStamp || Date.now(); }, defaultPrevented: null, isTrusted: null }; /** * Synthetic events are dispatched by event plugins, typically in response to a * top-level event delegation handler. * * These systems should generally use pooling to reduce the frequency of garbage * collection. The system should check `isPersistent` to determine whether the * event should be released into the pool after being dispatched. Users that * need a persisted event should invoke `persist`. * * Synthetic events (and subclasses) implement the DOM Level 3 Events API by * normalizing browser quirks. Subclasses do not necessarily have to implement a * DOM interface; custom application-specific events can also subclass this. * * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {*} targetInst Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @param {DOMEventTarget} nativeEventTarget Target node. */ function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) { if (process.env.NODE_ENV !== 'production') { // these have a getter/setter for warnings delete this.nativeEvent; delete this.preventDefault; delete this.stopPropagation; } this.dispatchConfig = dispatchConfig; this._targetInst = targetInst; this.nativeEvent = nativeEvent; var Interface = this.constructor.Interface; for (var propName in Interface) { if (!Interface.hasOwnProperty(propName)) { continue; } if (process.env.NODE_ENV !== 'production') { delete this[propName]; // this has a getter/setter for warnings } var normalize = Interface[propName]; if (normalize) { this[propName] = normalize(nativeEvent); } else { if (propName === 'target') { this.target = nativeEventTarget; } else { this[propName] = nativeEvent[propName]; } } } var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false; if (defaultPrevented) { this.isDefaultPrevented = emptyFunction.thatReturnsTrue; } else { this.isDefaultPrevented = emptyFunction.thatReturnsFalse; } this.isPropagationStopped = emptyFunction.thatReturnsFalse; return this; } _assign(SyntheticEvent.prototype, { preventDefault: function () { this.defaultPrevented = true; var event = this.nativeEvent; if (!event) { return; } if (event.preventDefault) { event.preventDefault(); } else { event.returnValue = false; } this.isDefaultPrevented = emptyFunction.thatReturnsTrue; }, stopPropagation: function () { var event = this.nativeEvent; if (!event) { return; } if (event.stopPropagation) { event.stopPropagation(); } else { event.cancelBubble = true; } this.isPropagationStopped = emptyFunction.thatReturnsTrue; }, /** * We release all dispatched `SyntheticEvent`s after each event loop, adding * them back into the pool. This allows a way to hold onto a reference that * won't be added back into the pool. */ persist: function () { this.isPersistent = emptyFunction.thatReturnsTrue; }, /** * Checks if this event should be released back into the pool. * * @return {boolean} True if this should not be released, false otherwise. */ isPersistent: emptyFunction.thatReturnsFalse, /** * `PooledClass` looks for `destructor` on each instance it releases. */ destructor: function () { var Interface = this.constructor.Interface; for (var propName in Interface) { if (process.env.NODE_ENV !== 'production') { Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName])); } else { this[propName] = null; } } for (var i = 0; i < shouldBeReleasedProperties.length; i++) { this[shouldBeReleasedProperties[i]] = null; } if (process.env.NODE_ENV !== 'production') { var noop = __webpack_require__(11); Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null)); Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', noop)); Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', noop)); } } }); SyntheticEvent.Interface = EventInterface; if (process.env.NODE_ENV !== 'production') { if (isProxySupported) { /*eslint-disable no-func-assign */ SyntheticEvent = new Proxy(SyntheticEvent, { construct: function (target, args) { return this.apply(target, Object.create(target.prototype), args); }, apply: function (constructor, that, args) { return new Proxy(constructor.apply(that, args), { set: function (target, prop, value) { if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) { process.env.NODE_ENV !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), 'This synthetic event is reused for performance reasons. If you\'re ' + 'seeing this, you\'re adding a new property in the synthetic event object. ' + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0; didWarnForAddedNewProperty = true; } target[prop] = value; return true; } }); } }); /*eslint-enable no-func-assign */ } } /** * Helper to reduce boilerplate when creating subclasses. * * @param {function} Class * @param {?object} Interface */ SyntheticEvent.augmentClass = function (Class, Interface) { var Super = this; var E = function () {}; E.prototype = Super.prototype; var prototype = new E(); _assign(prototype, Class.prototype); Class.prototype = prototype; Class.prototype.constructor = Class; Class.Interface = _assign({}, Super.Interface, Interface); Class.augmentClass = Super.augmentClass; PooledClass.addPoolingTo(Class, PooledClass.fourArgumentPooler); }; PooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler); module.exports = SyntheticEvent; /** * Helper to nullify syntheticEvent instance properties when destructing * * @param {object} SyntheticEvent * @param {String} propName * @return {object} defineProperty object */ function getPooledWarningPropertyDefinition(propName, getVal) { var isFunction = typeof getVal === 'function'; return { configurable: true, set: set, get: get }; function set(val) { var action = isFunction ? 'setting the method' : 'setting the property'; warn(action, 'This is effectively a no-op'); return val; } function get() { var action = isFunction ? 'accessing the method' : 'accessing the property'; var result = isFunction ? 'This is a no-op function' : 'This is set to null'; warn(action, result); return getVal; } function warn(action, result) { var warningCondition = false; process.env.NODE_ENV !== 'production' ? warning(warningCondition, 'This synthetic event is reused for performance reasons. If you\'re seeing this, ' + 'you\'re %s `%s` on a released/nullified synthetic event. %s. ' + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0; } } /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 53 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticInputEvent */ 'use strict'; var SyntheticEvent = __webpack_require__(52); /** * @interface Event * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105 * /#events-inputevents */ var InputEventInterface = { data: null }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticUIEvent} */ function SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface); module.exports = SyntheticInputEvent; /***/ }, /* 54 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ChangeEventPlugin */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPluginHub = __webpack_require__(42); var EventPropagators = __webpack_require__(41); var ExecutionEnvironment = __webpack_require__(48); var ReactDOMComponentTree = __webpack_require__(35); var ReactUpdates = __webpack_require__(55); var SyntheticEvent = __webpack_require__(52); var getEventTarget = __webpack_require__(63); var isEventSupported = __webpack_require__(64); var isTextInputElement = __webpack_require__(65); var keyOf = __webpack_require__(26); var topLevelTypes = EventConstants.topLevelTypes; var eventTypes = { change: { phasedRegistrationNames: { bubbled: keyOf({ onChange: null }), captured: keyOf({ onChangeCapture: null }) }, dependencies: [topLevelTypes.topBlur, topLevelTypes.topChange, topLevelTypes.topClick, topLevelTypes.topFocus, topLevelTypes.topInput, topLevelTypes.topKeyDown, topLevelTypes.topKeyUp, topLevelTypes.topSelectionChange] } }; /** * For IE shims */ var activeElement = null; var activeElementInst = null; var activeElementValue = null; var activeElementValueProp = null; /** * SECTION: handle `change` event */ function shouldUseChangeEvent(elem) { var nodeName = elem.nodeName && elem.nodeName.toLowerCase(); return nodeName === 'select' || nodeName === 'input' && elem.type === 'file'; } var doesChangeEventBubble = false; if (ExecutionEnvironment.canUseDOM) { // See `handleChange` comment below doesChangeEventBubble = isEventSupported('change') && (!('documentMode' in document) || document.documentMode > 8); } function manualDispatchChangeEvent(nativeEvent) { var event = SyntheticEvent.getPooled(eventTypes.change, activeElementInst, nativeEvent, getEventTarget(nativeEvent)); EventPropagators.accumulateTwoPhaseDispatches(event); // If change and propertychange bubbled, we'd just bind to it like all the // other events and have it go through ReactBrowserEventEmitter. Since it // doesn't, we manually listen for the events and so we have to enqueue and // process the abstract event manually. // // Batching is necessary here in order to ensure that all event handlers run // before the next rerender (including event handlers attached to ancestor // elements instead of directly on the input). Without this, controlled // components don't work properly in conjunction with event bubbling because // the component is rerendered and the value reverted before all the event // handlers can run. See https://github.com/facebook/react/issues/708. ReactUpdates.batchedUpdates(runEventInBatch, event); } function runEventInBatch(event) { EventPluginHub.enqueueEvents(event); EventPluginHub.processEventQueue(false); } function startWatchingForChangeEventIE8(target, targetInst) { activeElement = target; activeElementInst = targetInst; activeElement.attachEvent('onchange', manualDispatchChangeEvent); } function stopWatchingForChangeEventIE8() { if (!activeElement) { return; } activeElement.detachEvent('onchange', manualDispatchChangeEvent); activeElement = null; activeElementInst = null; } function getTargetInstForChangeEvent(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topChange) { return targetInst; } } function handleEventsForChangeEventIE8(topLevelType, target, targetInst) { if (topLevelType === topLevelTypes.topFocus) { // stopWatching() should be a noop here but we call it just in case we // missed a blur event somehow. stopWatchingForChangeEventIE8(); startWatchingForChangeEventIE8(target, targetInst); } else if (topLevelType === topLevelTypes.topBlur) { stopWatchingForChangeEventIE8(); } } /** * SECTION: handle `input` event */ var isInputEventSupported = false; if (ExecutionEnvironment.canUseDOM) { // IE9 claims to support the input event but fails to trigger it when // deleting text, so we ignore its input events. // IE10+ fire input events to often, such when a placeholder // changes or when an input with a placeholder is focused. isInputEventSupported = isEventSupported('input') && (!('documentMode' in document) || document.documentMode > 11); } /** * (For IE <=11) Replacement getter/setter for the `value` property that gets * set on the active element. */ var newValueProp = { get: function () { return activeElementValueProp.get.call(this); }, set: function (val) { // Cast to a string so we can do equality checks. activeElementValue = '' + val; activeElementValueProp.set.call(this, val); } }; /** * (For IE <=11) Starts tracking propertychange events on the passed-in element * and override the value property so that we can distinguish user events from * value changes in JS. */ function startWatchingForValueChange(target, targetInst) { activeElement = target; activeElementInst = targetInst; activeElementValue = target.value; activeElementValueProp = Object.getOwnPropertyDescriptor(target.constructor.prototype, 'value'); // Not guarded in a canDefineProperty check: IE8 supports defineProperty only // on DOM elements Object.defineProperty(activeElement, 'value', newValueProp); if (activeElement.attachEvent) { activeElement.attachEvent('onpropertychange', handlePropertyChange); } else { activeElement.addEventListener('propertychange', handlePropertyChange, false); } } /** * (For IE <=11) Removes the event listeners from the currently-tracked element, * if any exists. */ function stopWatchingForValueChange() { if (!activeElement) { return; } // delete restores the original property definition delete activeElement.value; if (activeElement.detachEvent) { activeElement.detachEvent('onpropertychange', handlePropertyChange); } else { activeElement.removeEventListener('propertychange', handlePropertyChange, false); } activeElement = null; activeElementInst = null; activeElementValue = null; activeElementValueProp = null; } /** * (For IE <=11) Handles a propertychange event, sending a `change` event if * the value of the active element has changed. */ function handlePropertyChange(nativeEvent) { if (nativeEvent.propertyName !== 'value') { return; } var value = nativeEvent.srcElement.value; if (value === activeElementValue) { return; } activeElementValue = value; manualDispatchChangeEvent(nativeEvent); } /** * If a `change` event should be fired, returns the target's ID. */ function getTargetInstForInputEvent(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topInput) { // In modern browsers (i.e., not IE8 or IE9), the input event is exactly // what we want so fall through here and trigger an abstract event return targetInst; } } function handleEventsForInputEventIE(topLevelType, target, targetInst) { if (topLevelType === topLevelTypes.topFocus) { // In IE8, we can capture almost all .value changes by adding a // propertychange handler and looking for events with propertyName // equal to 'value' // In IE9-11, propertychange fires for most input events but is buggy and // doesn't fire when text is deleted, but conveniently, selectionchange // appears to fire in all of the remaining cases so we catch those and // forward the event if the value has changed // In either case, we don't want to call the event handler if the value // is changed from JS so we redefine a setter for `.value` that updates // our activeElementValue variable, allowing us to ignore those changes // // stopWatching() should be a noop here but we call it just in case we // missed a blur event somehow. stopWatchingForValueChange(); startWatchingForValueChange(target, targetInst); } else if (topLevelType === topLevelTypes.topBlur) { stopWatchingForValueChange(); } } // For IE8 and IE9. function getTargetInstForInputEventIE(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topSelectionChange || topLevelType === topLevelTypes.topKeyUp || topLevelType === topLevelTypes.topKeyDown) { // On the selectionchange event, the target is just document which isn't // helpful for us so just check activeElement instead. // // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire // propertychange on the first input event after setting `value` from a // script and fires only keydown, keypress, keyup. Catching keyup usually // gets it and catching keydown lets us fire an event for the first // keystroke if user does a key repeat (it'll be a little delayed: right // before the second keystroke). Other input methods (e.g., paste) seem to // fire selectionchange normally. if (activeElement && activeElement.value !== activeElementValue) { activeElementValue = activeElement.value; return activeElementInst; } } } /** * SECTION: handle `click` event */ function shouldUseClickEvent(elem) { // Use the `click` event to detect changes to checkbox and radio inputs. // This approach works across all browsers, whereas `change` does not fire // until `blur` in IE8. return elem.nodeName && elem.nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio'); } function getTargetInstForClickEvent(topLevelType, targetInst) { if (topLevelType === topLevelTypes.topClick) { return targetInst; } } /** * This plugin creates an `onChange` event that normalizes change events * across form elements. This event fires at a time when it's possible to * change the element's value without seeing a flicker. * * Supported elements are: * - input (see `isTextInputElement`) * - textarea * - select */ var ChangeEventPlugin = { eventTypes: eventTypes, extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window; var getTargetInstFunc, handleEventFunc; if (shouldUseChangeEvent(targetNode)) { if (doesChangeEventBubble) { getTargetInstFunc = getTargetInstForChangeEvent; } else { handleEventFunc = handleEventsForChangeEventIE8; } } else if (isTextInputElement(targetNode)) { if (isInputEventSupported) { getTargetInstFunc = getTargetInstForInputEvent; } else { getTargetInstFunc = getTargetInstForInputEventIE; handleEventFunc = handleEventsForInputEventIE; } } else if (shouldUseClickEvent(targetNode)) { getTargetInstFunc = getTargetInstForClickEvent; } if (getTargetInstFunc) { var inst = getTargetInstFunc(topLevelType, targetInst); if (inst) { var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, nativeEventTarget); event.type = 'change'; EventPropagators.accumulateTwoPhaseDispatches(event); return event; } } if (handleEventFunc) { handleEventFunc(topLevelType, targetNode, targetInst); } } }; module.exports = ChangeEventPlugin; /***/ }, /* 55 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactUpdates */ 'use strict'; var _assign = __webpack_require__(4); var CallbackQueue = __webpack_require__(56); var PooledClass = __webpack_require__(6); var ReactFeatureFlags = __webpack_require__(57); var ReactPerf = __webpack_require__(58); var ReactReconciler = __webpack_require__(59); var Transaction = __webpack_require__(62); var invariant = __webpack_require__(7); var dirtyComponents = []; var asapCallbackQueue = CallbackQueue.getPooled(); var asapEnqueued = false; var batchingStrategy = null; function ensureInjected() { !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching ' + 'strategy') : invariant(false) : void 0; } var NESTED_UPDATES = { initialize: function () { this.dirtyComponentsLength = dirtyComponents.length; }, close: function () { if (this.dirtyComponentsLength !== dirtyComponents.length) { // Additional updates were enqueued by componentDidUpdate handlers or // similar; before our own UPDATE_QUEUEING wrapper closes, we want to run // these new updates so that if A's componentDidUpdate calls setState on // B, B will update before the callback A's updater provided when calling // setState. 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( /* useCreateElement */true); } _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) { // Essentially calls `this.reconcileTransaction.perform(method, scope, a)` // with this transaction's wrappers around it. 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); } /** * Array comparator for ReactComponents by mount ordering. * * @param {ReactComponent} c1 first component you're comparing * @param {ReactComponent} c2 second component you're comparing * @return {number} Return value usable by Array.prototype.sort(). */ function mountOrderComparator(c1, c2) { return c1._mountOrder - c2._mountOrder; } function runBatchedUpdates(transaction) { var len = transaction.dirtyComponentsLength; !(len === dirtyComponents.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected flush transaction\'s stored dirty-components length (%s) to ' + 'match dirty-components array length (%s).', len, dirtyComponents.length) : invariant(false) : void 0; // Since reconciling a component higher in the owner hierarchy usually (not // always -- see shouldComponentUpdate()) will reconcile children, reconcile // them before their children by sorting the array. dirtyComponents.sort(mountOrderComparator); for (var i = 0; i < len; i++) { // If a component is unmounted before pending changes apply, it will still // be here, but we assume that it has cleared its _pendingCallbacks and // that performUpdateIfNecessary is a noop. var component = dirtyComponents[i]; // If performUpdateIfNecessary happens to enqueue any new updates, we // shouldn't execute the callbacks until the next render happens, so // stash the callbacks first var callbacks = component._pendingCallbacks; component._pendingCallbacks = null; var markerName; if (ReactFeatureFlags.logTopLevelRenders) { var namedComponent = component; // Duck type TopLevelWrapper. This is probably always true. if (component._currentElement.props === component._renderedComponent._currentElement) { namedComponent = component._renderedComponent; } markerName = 'React update: ' + namedComponent.getName(); console.time(markerName); } ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction); if (markerName) { console.timeEnd(markerName); } if (callbacks) { for (var j = 0; j < callbacks.length; j++) { transaction.callbackQueue.enqueue(callbacks[j], component.getPublicInstance()); } } } } var flushBatchedUpdates = function () { // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents // array and perform any updates enqueued by mount-ready handlers (i.e., // componentDidUpdate) but we need to check here too in order to catch // updates enqueued by setState callbacks and asap calls. 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); /** * Mark a component as needing a rerender, adding an optional callback to a * list of functions which will be executed once the rerender occurs. */ function enqueueUpdate(component) { ensureInjected(); // Various parts of our code (such as ReactCompositeComponent's // _renderValidatedComponent) assume that calls to render aren't nested; // verify that that's the case. (This is called by each top-level update // function, like setProps, setState, forceUpdate, etc.; creation and // destruction of top-level components is guarded in ReactMount.) if (!batchingStrategy.isBatchingUpdates) { batchingStrategy.batchedUpdates(enqueueUpdate, component); return; } dirtyComponents.push(component); } /** * Enqueue a callback to be run at the end of the current batching cycle. Throws * if no updates are currently being performed. */ function asap(callback, context) { !batchingStrategy.isBatchingUpdates ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context where' + 'updates are not being batched.') : invariant(false) : void 0; asapCallbackQueue.enqueue(callback, context); asapEnqueued = true; } var ReactUpdatesInjection = { injectReconcileTransaction: function (ReconcileTransaction) { !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : invariant(false) : void 0; ReactUpdates.ReactReconcileTransaction = ReconcileTransaction; }, injectBatchingStrategy: function (_batchingStrategy) { !_batchingStrategy ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batching strategy') : invariant(false) : void 0; !(typeof _batchingStrategy.batchedUpdates === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : invariant(false) : void 0; !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : invariant(false) : void 0; batchingStrategy = _batchingStrategy; } }; var ReactUpdates = { /** * React references `ReactReconcileTransaction` using this property in order * to allow dependency injection. * * @internal */ ReactReconcileTransaction: null, batchedUpdates: batchedUpdates, enqueueUpdate: enqueueUpdate, flushBatchedUpdates: flushBatchedUpdates, injection: ReactUpdatesInjection, asap: asap }; module.exports = ReactUpdates; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 56 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule CallbackQueue */ 'use strict'; var _assign = __webpack_require__(4); var PooledClass = __webpack_require__(6); var invariant = __webpack_require__(7); /** * A specialized pseudo-event module to help keep track of components waiting to * be notified when their DOM representations are available for use. * * This implements `PooledClass`, so you should never need to instantiate this. * Instead, use `CallbackQueue.getPooled()`. * * @class ReactMountReady * @implements PooledClass * @internal */ function CallbackQueue() { this._callbacks = null; this._contexts = null; } _assign(CallbackQueue.prototype, { /** * Enqueues a callback to be invoked when `notifyAll` is invoked. * * @param {function} callback Invoked when `notifyAll` is invoked. * @param {?object} context Context to call `callback` with. * @internal */ enqueue: function (callback, context) { this._callbacks = this._callbacks || []; this._contexts = this._contexts || []; this._callbacks.push(callback); this._contexts.push(context); }, /** * Invokes all enqueued callbacks and clears the queue. This is invoked after * the DOM representation of a component has been created or updated. * * @internal */ notifyAll: function () { var callbacks = this._callbacks; var contexts = this._contexts; if (callbacks) { !(callbacks.length === contexts.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Mismatched list of contexts in callback queue') : invariant(false) : void 0; 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; } }, checkpoint: function () { return this._callbacks ? this._callbacks.length : 0; }, rollback: function (len) { if (this._callbacks) { this._callbacks.length = len; this._contexts.length = len; } }, /** * Resets the internal queue. * * @internal */ reset: function () { this._callbacks = null; this._contexts = null; }, /** * `PooledClass` looks for this. */ destructor: function () { this.reset(); } }); PooledClass.addPoolingTo(CallbackQueue); module.exports = CallbackQueue; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 57 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactFeatureFlags */ 'use strict'; var ReactFeatureFlags = { // When true, call console.time() before and .timeEnd() after each top-level // render (both initial renders and updates). Useful when looking at prod-mode // timeline profiles in Chrome, for example. logTopLevelRenders: false }; module.exports = ReactFeatureFlags; /***/ }, /* 58 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactPerf */ 'use strict'; /** * ReactPerf is a general AOP system designed to measure performance. This * module only has the hooks: see ReactDefaultPerf for the analysis tool. */ var ReactPerf = { /** * Boolean to enable/disable measurement. Set to false by default to prevent * accidental logging and perf loss. */ enableMeasure: false, /** * Holds onto the measure function in use. By default, don't measure * anything, but we'll override this if we inject a measure function. */ storedMeasure: _noMeasure, /** * @param {object} object * @param {string} objectName * @param {object} methodNames */ measureMethods: function (object, objectName, methodNames) { if (process.env.NODE_ENV !== 'production') { for (var key in methodNames) { if (!methodNames.hasOwnProperty(key)) { continue; } object[key] = ReactPerf.measure(objectName, methodNames[key], object[key]); } } }, /** * Use this to wrap methods you want to measure. Zero overhead in production. * * @param {string} objName * @param {string} fnName * @param {function} func * @return {function} */ measure: function (objName, fnName, func) { if (process.env.NODE_ENV !== 'production') { 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: { /** * @param {function} measure */ injectMeasure: function (measure) { ReactPerf.storedMeasure = measure; } } }; /** * Simply passes through the measured function, without measuring it. * * @param {string} objName * @param {string} fnName * @param {function} func * @return {function} */ function _noMeasure(objName, fnName, func) { return func; } module.exports = ReactPerf; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 59 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactReconciler */ 'use strict'; var ReactRef = __webpack_require__(60); var ReactInstrumentation = __webpack_require__(18); /** * Helper to call ReactRef.attachRefs with this composite component, split out * to avoid allocations in the transaction mount-ready queue. */ function attachRefs() { ReactRef.attachRefs(this, this._currentElement); } var ReactReconciler = { /** * Initializes the component, renders markup, and registers event listeners. * * @param {ReactComponent} internalInstance * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction * @param {?object} the containing native component instance * @param {?object} info about the native container * @return {?string} Rendered markup to be inserted into the DOM. * @final * @internal */ mountComponent: function (internalInstance, transaction, nativeParent, nativeContainerInfo, context) { var markup = internalInstance.mountComponent(transaction, nativeParent, nativeContainerInfo, context); if (internalInstance._currentElement && internalInstance._currentElement.ref != null) { transaction.getReactMountReady().enqueue(attachRefs, internalInstance); } if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onMountComponent(internalInstance); } return markup; }, /** * Returns a value that can be passed to * ReactComponentEnvironment.replaceNodeWithMarkup. */ getNativeNode: function (internalInstance) { return internalInstance.getNativeNode(); }, /** * Releases any resources allocated by `mountComponent`. * * @final * @internal */ unmountComponent: function (internalInstance, safely) { ReactRef.detachRefs(internalInstance, internalInstance._currentElement); internalInstance.unmountComponent(safely); if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onUnmountComponent(internalInstance); } }, /** * Update a component using a new element. * * @param {ReactComponent} internalInstance * @param {ReactElement} nextElement * @param {ReactReconcileTransaction} transaction * @param {object} context * @internal */ receiveComponent: function (internalInstance, nextElement, transaction, context) { var prevElement = internalInstance._currentElement; if (nextElement === prevElement && context === internalInstance._context) { // Since elements are immutable after the owner is rendered, // we can do a cheap identity compare here to determine if this is a // superfluous reconcile. It's possible for state to be mutable but such // change should trigger an update of the owner which would recreate // the element. We explicitly check for the existence of an owner since // it's possible for an element created outside a composite to be // deeply mutated and reused. // TODO: Bailing out early is just a perf optimization right? // TODO: Removing the return statement should affect correctness? 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); } if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onUpdateComponent(internalInstance); } }, /** * Flush any dirty changes in a component. * * @param {ReactComponent} internalInstance * @param {ReactReconcileTransaction} transaction * @internal */ performUpdateIfNecessary: function (internalInstance, transaction) { internalInstance.performUpdateIfNecessary(transaction); if (process.env.NODE_ENV !== 'production') { ReactInstrumentation.debugTool.onUpdateComponent(internalInstance); } } }; module.exports = ReactReconciler; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 60 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactRef */ 'use strict'; var ReactOwner = __webpack_require__(61); var ReactRef = {}; function attachRef(ref, component, owner) { if (typeof ref === 'function') { ref(component.getPublicInstance()); } else { // Legacy ref ReactOwner.addComponentAsRefTo(component, ref, owner); } } function detachRef(ref, component, owner) { if (typeof ref === 'function') { ref(null); } else { // Legacy ref 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) { // If either the owner or a `ref` has changed, make sure the newest owner // has stored a reference to `this`, and the previous owner (if different) // has forgotten the reference to `this`. We use the element instead // of the public this.props because the post processing cannot determine // a ref. The ref conceptually lives on the element. // TODO: Should this even be possible? The owner cannot change because // it's forbidden by shouldUpdateReactComponent. The ref can change // if you swap the keys of but not the refs. Reconsider where this check // is made. It probably belongs where the key checking and // instantiateReactComponent is done. var prevEmpty = prevElement === null || prevElement === false; var nextEmpty = nextElement === null || nextElement === false; return( // This has a few false positives w/r/t empty components. 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; /***/ }, /* 61 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactOwner */ 'use strict'; var invariant = __webpack_require__(7); /** * ReactOwners are capable of storing references to owned components. * * All components are capable of //being// referenced by owner components, but * only ReactOwner components are capable of //referencing// owned components. * The named reference is known as a "ref". * * Refs are available when mounted and updated during reconciliation. * * var MyComponent = React.createClass({ * render: function() { * return ( *
    * *
    * ); * }, * handleClick: function() { * this.refs.custom.handleClick(); * }, * componentDidMount: function() { * this.refs.custom.initialize(); * } * }); * * Refs should rarely be used. When refs are used, they should only be done to * control data that is not handled by React's data flow. * * @class ReactOwner */ var ReactOwner = { /** * @param {?object} object * @return {boolean} True if `object` is a valid owner. * @final */ isValidOwner: function (object) { return !!(object && typeof object.attachRef === 'function' && typeof object.detachRef === 'function'); }, /** * Adds a component by ref to an owner component. * * @param {ReactComponent} component Component to reference. * @param {string} ref Name by which to refer to the component. * @param {ReactOwner} owner Component on which to record the ref. * @final * @internal */ addComponentAsRefTo: function (component, ref, owner) { !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, '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).') : invariant(false) : void 0; owner.attachRef(ref, component); }, /** * Removes a component by ref from an owner component. * * @param {ReactComponent} component Component to dereference. * @param {string} ref Name of the ref to remove. * @param {ReactOwner} owner Component on which the ref is recorded. * @final * @internal */ removeComponentAsRefFrom: function (component, ref, owner) { !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, '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).') : invariant(false) : void 0; var ownerPublicInstance = owner.getPublicInstance(); // Check that `component`'s owner is still alive and that `component` is still the current ref // because we do not want to detach the ref if another component stole it. if (ownerPublicInstance && ownerPublicInstance.refs[ref] === component.getPublicInstance()) { owner.detachRef(ref); } } }; module.exports = ReactOwner; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 62 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule Transaction */ 'use strict'; var invariant = __webpack_require__(7); /** * `Transaction` creates a black box that is able to wrap any method such that * certain invariants are maintained before and after the method is invoked * (Even if an exception is thrown while invoking the wrapped method). Whoever * instantiates a transaction can provide enforcers of the invariants at * creation time. The `Transaction` class itself will supply one additional * automatic invariant for you - the invariant that any transaction instance * should not be run while it is already being run. You would typically create a * single instance of a `Transaction` for reuse multiple times, that potentially * is used to wrap several different methods. Wrappers are extremely simple - * they only require implementing two methods. * *
    	 *                       wrappers (injected at creation time)
    	 *                                      +        +
    	 *                                      |        |
    	 *                    +-----------------|--------|--------------+
    	 *                    |                 v        |              |
    	 *                    |      +---------------+   |              |
    	 *                    |   +--|    wrapper1   |---|----+         |
    	 *                    |   |  +---------------+   v    |         |
    	 *                    |   |          +-------------+  |         |
    	 *                    |   |     +----|   wrapper2  |--------+   |
    	 *                    |   |     |    +-------------+  |     |   |
    	 *                    |   |     |                     |     |   |
    	 *                    |   v     v                     v     v   | wrapper
    	 *                    | +---+ +---+   +---------+   +---+ +---+ | invariants
    	 * perform(anyMethod) | |   | |   |   |         |   |   | |   | | maintained
    	 * +----------------->|-|---|-|---|-->|anyMethod|---|---|-|---|-|-------->
    	 *                    | |   | |   |   |         |   |   | |   | |
    	 *                    | |   | |   |   |         |   |   | |   | |
    	 *                    | |   | |   |   |         |   |   | |   | |
    	 *                    | +---+ +---+   +---------+   +---+ +---+ |
    	 *                    |  initialize                    close    |
    	 *                    +-----------------------------------------+
    	 * 
    * * Use cases: * - Preserving the input selection ranges before/after reconciliation. * Restoring selection even in the event of an unexpected error. * - Deactivating events while rearranging the DOM, preventing blurs/focuses, * while guaranteeing that afterwards, the event system is reactivated. * - Flushing a queue of collected DOM mutations to the main UI thread after a * reconciliation takes place in a worker thread. * - Invoking any collected `componentDidUpdate` callbacks after rendering new * content. * - (Future use case): Wrapping particular flushes of the `ReactWorker` queue * to preserve the `scrollTop` (an automatic scroll aware DOM). * - (Future use case): Layout calculations before and after DOM updates. * * Transactional plugin API: * - A module that has an `initialize` method that returns any precomputation. * - and a `close` method that accepts the precomputation. `close` is invoked * when the wrapped process is completed, or has failed. * * @param {Array} transactionWrapper Wrapper modules * that implement `initialize` and `close`. * @return {Transaction} Single transaction for reuse in thread. * * @class Transaction */ var Mixin = { /** * Sets up this instance so that it is prepared for collecting metrics. Does * so such that this setup method may be used on an instance that is already * initialized, in a way that does not consume additional memory upon reuse. * That can be useful if you decide to make your subclass of this mixin a * "PooledClass". */ reinitializeTransaction: function () { this.transactionWrappers = this.getTransactionWrappers(); if (this.wrapperInitData) { this.wrapperInitData.length = 0; } else { this.wrapperInitData = []; } this._isInTransaction = false; }, _isInTransaction: false, /** * @abstract * @return {Array} Array of transaction wrappers. */ getTransactionWrappers: null, isInTransaction: function () { return !!this._isInTransaction; }, /** * Executes the function within a safety window. Use this for the top level * methods that result in large amounts of computation/mutations that would * need to be safety checked. The optional arguments helps prevent the need * to bind in many cases. * * @param {function} method Member of scope to call. * @param {Object} scope Scope to invoke from. * @param {Object?=} a Argument to pass to the method. * @param {Object?=} b Argument to pass to the method. * @param {Object?=} c Argument to pass to the method. * @param {Object?=} d Argument to pass to the method. * @param {Object?=} e Argument to pass to the method. * @param {Object?=} f Argument to pass to the method. * * @return {*} Return value from `method`. */ perform: function (method, scope, a, b, c, d, e, f) { !!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there ' + 'is already an outstanding transaction.') : invariant(false) : void 0; var errorThrown; var ret; try { this._isInTransaction = true; // Catching errors makes debugging more difficult, so we start with // errorThrown set to true before setting it to false after calling // close -- if it's still set to true in the finally block, it means // one of these calls threw. errorThrown = true; this.initializeAll(0); ret = method.call(scope, a, b, c, d, e, f); errorThrown = false; } finally { try { if (errorThrown) { // If `method` throws, prefer to show that stack trace over any thrown // by invoking `closeAll`. try { this.closeAll(0); } catch (err) {} } else { // Since `method` didn't throw, we don't want to silence the exception // here. 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 { // Catching errors makes debugging more difficult, so we start with the // OBSERVED_ERROR state before overwriting it with the real return value // of initialize -- if it's still set to OBSERVED_ERROR in the finally // block, it means wrapper.initialize threw. this.wrapperInitData[i] = Transaction.OBSERVED_ERROR; this.wrapperInitData[i] = wrapper.initialize ? wrapper.initialize.call(this) : null; } finally { if (this.wrapperInitData[i] === Transaction.OBSERVED_ERROR) { // The initializer for wrapper i threw an error; initialize the // remaining wrappers but silence any exceptions from them to ensure // that the first error is the one to bubble up. try { this.initializeAll(i + 1); } catch (err) {} } } } }, /** * Invokes each of `this.transactionWrappers.close[i]` functions, passing into * them the respective return values of `this.transactionWrappers.init[i]` * (`close`rs that correspond to initializers that failed will not be * invoked). */ closeAll: function (startIndex) { !this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : invariant(false) : void 0; var transactionWrappers = this.transactionWrappers; for (var i = startIndex; i < transactionWrappers.length; i++) { var wrapper = transactionWrappers[i]; var initData = this.wrapperInitData[i]; var errorThrown; try { // Catching errors makes debugging more difficult, so we start with // errorThrown set to true before setting it to false after calling // close -- if it's still set to true in the finally block, it means // wrapper.close threw. errorThrown = true; if (initData !== Transaction.OBSERVED_ERROR && wrapper.close) { wrapper.close.call(this, initData); } errorThrown = false; } finally { if (errorThrown) { // The closer for wrapper i threw an error; close the remaining // wrappers but silence any exceptions from them to ensure that the // first error is the one to bubble up. try { this.closeAll(i + 1); } catch (e) {} } } } this.wrapperInitData.length = 0; } }; var Transaction = { Mixin: Mixin, /** * Token to look for to determine if an error occurred. */ OBSERVED_ERROR: {} }; module.exports = Transaction; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /***/ }, /* 63 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getEventTarget */ 'use strict'; /** * Gets the target node from a native browser event by accounting for * inconsistencies in browser DOM APIs. * * @param {object} nativeEvent Native browser event. * @return {DOMEventTarget} Target node. */ function getEventTarget(nativeEvent) { var target = nativeEvent.target || nativeEvent.srcElement || window; // Normalize SVG element events #4963 if (target.correspondingUseElement) { target = target.correspondingUseElement; } // Safari may fire events on text nodes (Node.TEXT_NODE is 3). // @see http://www.quirksmode.org/js/events_properties.html return target.nodeType === 3 ? target.parentNode : target; } module.exports = getEventTarget; /***/ }, /* 64 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule isEventSupported */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var useHasFeature; if (ExecutionEnvironment.canUseDOM) { useHasFeature = document.implementation && document.implementation.hasFeature && // always returns true in newer browsers as per the standard. // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature document.implementation.hasFeature('', '') !== true; } /** * Checks if an event is supported in the current execution environment. * * NOTE: This will not work correctly for non-generic events such as `change`, * `reset`, `load`, `error`, and `select`. * * Borrows from Modernizr. * * @param {string} eventNameSuffix Event name, e.g. "click". * @param {?boolean} capture Check if the capture phase is supported. * @return {boolean} True if the event is supported. * @internal * @license Modernizr 3.0.0pre (Custom Build) | MIT */ function isEventSupported(eventNameSuffix, capture) { if (!ExecutionEnvironment.canUseDOM || capture && !('addEventListener' in document)) { return false; } var eventName = 'on' + eventNameSuffix; var isSupported = eventName in document; if (!isSupported) { var element = document.createElement('div'); element.setAttribute(eventName, 'return;'); isSupported = typeof element[eventName] === 'function'; } if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') { // This is the only way to test support for the `wheel` event in IE9+. isSupported = document.implementation.hasFeature('Events.wheel', '3.0'); } return isSupported; } module.exports = isEventSupported; /***/ }, /* 65 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule isTextInputElement */ 'use strict'; /** * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary */ var supportedInputTypes = { 'color': true, 'date': true, 'datetime': true, 'datetime-local': true, 'email': true, 'month': true, 'number': true, 'password': true, 'range': true, 'search': true, 'tel': true, 'text': true, 'time': true, 'url': true, 'week': true }; function isTextInputElement(elem) { var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); return nodeName && (nodeName === 'input' && supportedInputTypes[elem.type] || nodeName === 'textarea'); } module.exports = isTextInputElement; /***/ }, /* 66 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DefaultEventPluginOrder */ 'use strict'; var keyOf = __webpack_require__(26); /** * Module that is injectable into `EventPluginHub`, that specifies a * deterministic ordering of `EventPlugin`s. A convenient way to reason about * plugins, without having to package every one of them. This is better than * having plugins be ordered in the same order that they are injected because * that ordering would be influenced by the packaging order. * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that * preventing default on events is convenient in `SimpleEventPlugin` handlers. */ var DefaultEventPluginOrder = [keyOf({ ResponderEventPlugin: null }), keyOf({ SimpleEventPlugin: null }), keyOf({ TapEventPlugin: null }), keyOf({ EnterLeaveEventPlugin: null }), keyOf({ ChangeEventPlugin: null }), keyOf({ SelectEventPlugin: null }), keyOf({ BeforeInputEventPlugin: null })]; module.exports = DefaultEventPluginOrder; /***/ }, /* 67 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule EnterLeaveEventPlugin */ 'use strict'; var EventConstants = __webpack_require__(40); var EventPropagators = __webpack_require__(41); var ReactDOMComponentTree = __webpack_require__(35); var SyntheticMouseEvent = __webpack_require__(68); var keyOf = __webpack_require__(26); var topLevelTypes = EventConstants.topLevelTypes; var eventTypes = { mouseEnter: { registrationName: keyOf({ onMouseEnter: null }), dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver] }, mouseLeave: { registrationName: keyOf({ onMouseLeave: null }), dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver] } }; var EnterLeaveEventPlugin = { eventTypes: eventTypes, /** * For almost every interaction we care about, there will be both a top-level * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that * we do not extract duplicate events. However, moving the mouse into the * browser from outside will not fire a `mouseout` event. In this case, we use * the `mouseover` top-level event. */ extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { if (topLevelType === topLevelTypes.topMouseOver && (nativeEvent.relatedTarget || nativeEvent.fromElement)) { return null; } if (topLevelType !== topLevelTypes.topMouseOut && topLevelType !== topLevelTypes.topMouseOver) { // Must not be a mouse in or mouse out - ignoring. return null; } var win; if (nativeEventTarget.window === nativeEventTarget) { // `nativeEventTarget` is probably a window object. win = nativeEventTarget; } else { // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. var doc = nativeEventTarget.ownerDocument; if (doc) { win = doc.defaultView || doc.parentWindow; } else { win = window; } } var from; var to; if (topLevelType === topLevelTypes.topMouseOut) { from = targetInst; var related = nativeEvent.relatedTarget || nativeEvent.toElement; to = related ? ReactDOMComponentTree.getClosestInstanceFromNode(related) : null; } else { // Moving to a node from outside the window. from = null; to = targetInst; } if (from === to) { // Nothing pertains to our managed components. return null; } var fromNode = from == null ? win : ReactDOMComponentTree.getNodeFromInstance(from); var toNode = to == null ? win : ReactDOMComponentTree.getNodeFromInstance(to); var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, from, nativeEvent, nativeEventTarget); leave.type = 'mouseleave'; leave.target = fromNode; leave.relatedTarget = toNode; var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, to, nativeEvent, nativeEventTarget); enter.type = 'mouseenter'; enter.target = toNode; enter.relatedTarget = fromNode; EventPropagators.accumulateEnterLeaveDispatches(leave, enter, from, to); return [leave, enter]; } }; module.exports = EnterLeaveEventPlugin; /***/ }, /* 68 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticMouseEvent */ 'use strict'; var SyntheticUIEvent = __webpack_require__(69); var ViewportMetrics = __webpack_require__(70); var getEventModifierState = __webpack_require__(71); /** * @interface MouseEvent * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var MouseEventInterface = { screenX: null, screenY: null, clientX: null, clientY: null, ctrlKey: null, shiftKey: null, altKey: null, metaKey: null, getModifierState: getEventModifierState, button: function (event) { // Webkit, Firefox, IE9+ // which: 1 2 3 // button: 0 1 2 (standard) var button = event.button; if ('which' in event) { return button; } // IE<9 // which: undefined // button: 0 0 0 // button: 1 4 2 (onmouseup) return button === 2 ? 2 : button === 4 ? 1 : 0; }, buttons: null, relatedTarget: function (event) { return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement); }, // "Proprietary" Interface. pageX: function (event) { return 'pageX' in event ? event.pageX : event.clientX + ViewportMetrics.currentScrollLeft; }, pageY: function (event) { return 'pageY' in event ? event.pageY : event.clientY + ViewportMetrics.currentScrollTop; } }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticUIEvent} */ function SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface); module.exports = SyntheticMouseEvent; /***/ }, /* 69 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule SyntheticUIEvent */ 'use strict'; var SyntheticEvent = __webpack_require__(52); var getEventTarget = __webpack_require__(63); /** * @interface UIEvent * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var UIEventInterface = { view: function (event) { if (event.view) { return event.view; } var target = getEventTarget(event); if (target != null && target.window === target) { // target is a window object return target; } var doc = target.ownerDocument; // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. if (doc) { return doc.defaultView || doc.parentWindow; } else { return window; } }, detail: function (event) { return event.detail || 0; } }; /** * @param {object} dispatchConfig Configuration used to dispatch this event. * @param {string} dispatchMarker Marker identifying the event target. * @param {object} nativeEvent Native browser event. * @extends {SyntheticEvent} */ function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } SyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface); module.exports = SyntheticUIEvent; /***/ }, /* 70 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ViewportMetrics */ 'use strict'; var ViewportMetrics = { currentScrollLeft: 0, currentScrollTop: 0, refreshScrollValues: function (scrollPosition) { ViewportMetrics.currentScrollLeft = scrollPosition.x; ViewportMetrics.currentScrollTop = scrollPosition.y; } }; module.exports = ViewportMetrics; /***/ }, /* 71 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule getEventModifierState */ 'use strict'; /** * Translation from modifier key to the associated property in the event. * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers */ var modifierKeyToProp = { 'Alt': 'altKey', 'Control': 'ctrlKey', 'Meta': 'metaKey', 'Shift': 'shiftKey' }; // IE8 does not implement getModifierState so we simply map it to the only // modifier keys exposed by the event itself, does not support Lock-keys. // Currently, all major browsers except Chrome seems to support Lock-keys. function modifierStateGetter(keyArg) { var syntheticEvent = this; var nativeEvent = syntheticEvent.nativeEvent; if (nativeEvent.getModifierState) { return nativeEvent.getModifierState(keyArg); } var keyProp = modifierKeyToProp[keyArg]; return keyProp ? !!nativeEvent[keyProp] : false; } function getEventModifierState(nativeEvent) { return modifierStateGetter; } module.exports = getEventModifierState; /***/ }, /* 72 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule HTMLDOMPropertyConfig */ 'use strict'; var DOMProperty = __webpack_require__(36); var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY; var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE; var HAS_SIDE_EFFECTS = DOMProperty.injection.HAS_SIDE_EFFECTS; var HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE; var HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE; var HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE; var HTMLDOMPropertyConfig = { isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')), Properties: { /** * Standard Properties */ accept: 0, acceptCharset: 0, accessKey: 0, action: 0, allowFullScreen: HAS_BOOLEAN_VALUE, allowTransparency: 0, alt: 0, async: HAS_BOOLEAN_VALUE, autoComplete: 0, // autoFocus is polyfilled/normalized by AutoFocusUtils // autoFocus: HAS_BOOLEAN_VALUE, autoPlay: HAS_BOOLEAN_VALUE, capture: HAS_BOOLEAN_VALUE, cellPadding: 0, cellSpacing: 0, charSet: 0, challenge: 0, checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, cite: 0, classID: 0, className: 0, cols: HAS_POSITIVE_NUMERIC_VALUE, colSpan: 0, content: 0, contentEditable: 0, contextMenu: 0, controls: HAS_BOOLEAN_VALUE, coords: 0, crossOrigin: 0, data: 0, // For `` acts as `src`. dateTime: 0, 'default': HAS_BOOLEAN_VALUE, defer: HAS_BOOLEAN_VALUE, dir: 0, disabled: HAS_BOOLEAN_VALUE, download: HAS_OVERLOADED_BOOLEAN_VALUE, draggable: 0, encType: 0, form: 0, formAction: 0, formEncType: 0, formMethod: 0, formNoValidate: HAS_BOOLEAN_VALUE, formTarget: 0, frameBorder: 0, headers: 0, height: 0, hidden: HAS_BOOLEAN_VALUE, high: 0, href: 0, hrefLang: 0, htmlFor: 0, httpEquiv: 0, icon: 0, id: 0, inputMode: 0, integrity: 0, is: 0, keyParams: 0, keyType: 0, kind: 0, label: 0, lang: 0, list: 0, loop: HAS_BOOLEAN_VALUE, low: 0, manifest: 0, marginHeight: 0, marginWidth: 0, max: 0, maxLength: 0, media: 0, mediaGroup: 0, method: 0, min: 0, minLength: 0, // Caution; `option.selected` is not updated if `select.multiple` is // disabled with `removeAttribute`. multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, name: 0, nonce: 0, noValidate: HAS_BOOLEAN_VALUE, open: HAS_BOOLEAN_VALUE, optimum: 0, pattern: 0, placeholder: 0, poster: 0, preload: 0, profile: 0, radioGroup: 0, readOnly: HAS_BOOLEAN_VALUE, rel: 0, required: HAS_BOOLEAN_VALUE, reversed: HAS_BOOLEAN_VALUE, role: 0, rows: HAS_POSITIVE_NUMERIC_VALUE, rowSpan: HAS_NUMERIC_VALUE, sandbox: 0, scope: 0, scoped: HAS_BOOLEAN_VALUE, scrolling: 0, seamless: HAS_BOOLEAN_VALUE, selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, shape: 0, size: HAS_POSITIVE_NUMERIC_VALUE, sizes: 0, span: HAS_POSITIVE_NUMERIC_VALUE, spellCheck: 0, src: 0, srcDoc: 0, srcLang: 0, srcSet: 0, start: HAS_NUMERIC_VALUE, step: 0, style: 0, summary: 0, tabIndex: 0, target: 0, title: 0, // Setting .type throws on non- tags type: 0, useMap: 0, value: MUST_USE_PROPERTY | HAS_SIDE_EFFECTS, width: 0, wmode: 0, wrap: 0, /** * RDFa Properties */ about: 0, datatype: 0, inlist: 0, prefix: 0, // property is also supported for OpenGraph in meta tags. property: 0, resource: 0, 'typeof': 0, vocab: 0, /** * Non-standard Properties */ // autoCapitalize and autoCorrect are supported in Mobile Safari for // keyboard hints. autoCapitalize: 0, autoCorrect: 0, // autoSave allows WebKit/Blink to persist values of input fields on page reloads autoSave: 0, // color is for Safari mask-icon link color: 0, // itemProp, itemScope, itemType are for // Microdata support. See http://schema.org/docs/gs.html itemProp: 0, itemScope: HAS_BOOLEAN_VALUE, itemType: 0, // itemID and itemRef are for Microdata support as well but // only specified in the WHATWG spec document. See // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api itemID: 0, itemRef: 0, // results show looking glass icon and recent searches on input // search fields in WebKit/Blink results: 0, // IE-only attribute that specifies security restrictions on an iframe // as an alternative to the sandbox attribute on IE<10 security: 0, // IE-only attribute that controls focus behavior unselectable: 0 }, DOMAttributeNames: { acceptCharset: 'accept-charset', className: 'class', htmlFor: 'for', httpEquiv: 'http-equiv' }, DOMPropertyNames: {} }; module.exports = HTMLDOMPropertyConfig; /***/ }, /* 73 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactComponentBrowserEnvironment */ 'use strict'; var DOMChildrenOperations = __webpack_require__(74); var ReactDOMIDOperations = __webpack_require__(85); var ReactPerf = __webpack_require__(58); /** * Abstracts away all functionality of the reconciler that requires knowledge of * the browser context. TODO: These callers should be refactored to avoid the * need for this injection. */ var ReactComponentBrowserEnvironment = { processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates, replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup, /** * If a particular environment requires that some resources be cleaned up, * specify this in the injected Mixin. In the DOM, we would likely want to * purge any cached node ID lookups. * * @private */ unmountIDFromEnvironment: function (rootNodeID) {} }; ReactPerf.measureMethods(ReactComponentBrowserEnvironment, 'ReactComponentBrowserEnvironment', { replaceNodeWithMarkup: 'replaceNodeWithMarkup' }); module.exports = ReactComponentBrowserEnvironment; /***/ }, /* 74 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DOMChildrenOperations */ 'use strict'; var DOMLazyTree = __webpack_require__(75); var Danger = __webpack_require__(80); var ReactMultiChildUpdateTypes = __webpack_require__(84); var ReactPerf = __webpack_require__(58); var createMicrosoftUnsafeLocalFunction = __webpack_require__(76); var setInnerHTML = __webpack_require__(79); var setTextContent = __webpack_require__(77); function getNodeAfter(parentNode, node) { // Special case for text components, which return [open, close] comments // from getNativeNode. if (Array.isArray(node)) { node = node[1]; } return node ? node.nextSibling : parentNode.firstChild; } /** * Inserts `childNode` as a child of `parentNode` at the `index`. * * @param {DOMElement} parentNode Parent node in which to insert. * @param {DOMElement} childNode Child node to insert. * @param {number} index Index at which to insert the child. * @internal */ var insertChildAt = createMicrosoftUnsafeLocalFunction(function (parentNode, childNode, referenceNode) { // We rely exclusively on `insertBefore(node, null)` instead of also using // `appendChild(node)`. (Using `undefined` is not allowed by all browsers so // we are careful to use `null`.) parentNode.insertBefore(childNode, referenceNode); }); function insertLazyTreeChildAt(parentNode, childTree, referenceNode) { DOMLazyTree.insertTreeBefore(parentNode, childTree, referenceNode); } function moveChild(parentNode, childNode, referenceNode) { if (Array.isArray(childNode)) { moveDelimitedText(parentNode, childNode[0], childNode[1], referenceNode); } else { insertChildAt(parentNode, childNode, referenceNode); } } function removeChild(parentNode, childNode) { if (Array.isArray(childNode)) { var closingComment = childNode[1]; childNode = childNode[0]; removeDelimitedText(parentNode, childNode, closingComment); parentNode.removeChild(closingComment); } parentNode.removeChild(childNode); } function moveDelimitedText(parentNode, openingComment, closingComment, referenceNode) { var node = openingComment; while (true) { var nextNode = node.nextSibling; insertChildAt(parentNode, node, referenceNode); if (node === closingComment) { break; } node = nextNode; } } function removeDelimitedText(parentNode, startNode, closingComment) { while (true) { var node = startNode.nextSibling; if (node === closingComment) { // The closing comment is removed by ReactMultiChild. break; } else { parentNode.removeChild(node); } } } function replaceDelimitedText(openingComment, closingComment, stringText) { var parentNode = openingComment.parentNode; var nodeAfterComment = openingComment.nextSibling; if (nodeAfterComment === closingComment) { // There are no text nodes between the opening and closing comments; insert // a new one if stringText isn't empty. if (stringText) { insertChildAt(parentNode, document.createTextNode(stringText), nodeAfterComment); } } else { if (stringText) { // Set the text content of the first node after the opening comment, and // remove all following nodes up until the closing comment. setTextContent(nodeAfterComment, stringText); removeDelimitedText(parentNode, nodeAfterComment, closingComment); } else { removeDelimitedText(parentNode, openingComment, closingComment); } } } /** * Operations for updating with DOM children. */ var DOMChildrenOperations = { dangerouslyReplaceNodeWithMarkup: Danger.dangerouslyReplaceNodeWithMarkup, replaceDelimitedText: replaceDelimitedText, /** * Updates a component's children by processing a series of updates. The * update configurations are each expected to have a `parentNode` property. * * @param {array} updates List of update configurations. * @internal */ processUpdates: function (parentNode, updates) { for (var k = 0; k < updates.length; k++) { var update = updates[k]; switch (update.type) { case ReactMultiChildUpdateTypes.INSERT_MARKUP: insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode)); break; case ReactMultiChildUpdateTypes.MOVE_EXISTING: moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode)); break; case ReactMultiChildUpdateTypes.SET_MARKUP: setInnerHTML(parentNode, update.content); break; case ReactMultiChildUpdateTypes.TEXT_CONTENT: setTextContent(parentNode, update.content); break; case ReactMultiChildUpdateTypes.REMOVE_NODE: removeChild(parentNode, update.fromNode); break; } } } }; ReactPerf.measureMethods(DOMChildrenOperations, 'DOMChildrenOperations', { replaceDelimitedText: 'replaceDelimitedText' }); module.exports = DOMChildrenOperations; /***/ }, /* 75 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule DOMLazyTree */ 'use strict'; var createMicrosoftUnsafeLocalFunction = __webpack_require__(76); var setTextContent = __webpack_require__(77); /** * In IE (8-11) and Edge, appending nodes with no children is dramatically * faster than appending a full subtree, so we essentially queue up the * .appendChild calls here and apply them so each node is added to its parent * before any children are added. * * In other browsers, doing so is slower or neutral compared to the other order * (in Firefox, twice as slow) so we only do this inversion in IE. * * See https://github.com/spicyj/innerhtml-vs-createelement-vs-clonenode. */ var enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\bEdge\/\d/.test(navigator.userAgent); function insertTreeChildren(tree) { if (!enableLazy) { return; } var node = tree.node; var children = tree.children; if (children.length) { for (var i = 0; i < children.length; i++) { insertTreeBefore(node, children[i], null); } } else if (tree.html != null) { node.innerHTML = tree.html; } else if (tree.text != null) { setTextContent(node, tree.text); } } var insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) { // DocumentFragments aren't actually part of the DOM after insertion so // appending children won't update the DOM. We need to ensure the fragment // is properly populated first, breaking out of our lazy approach for just // this level. if (tree.node.nodeType === 11) { insertTreeChildren(tree); parentNode.insertBefore(tree.node, referenceNode); } else { parentNode.insertBefore(tree.node, referenceNode); insertTreeChildren(tree); } }); function replaceChildWithTree(oldNode, newTree) { oldNode.parentNode.replaceChild(newTree.node, oldNode); insertTreeChildren(newTree); } function queueChild(parentTree, childTree) { if (enableLazy) { parentTree.children.push(childTree); } else { parentTree.node.appendChild(childTree.node); } } function queueHTML(tree, html) { if (enableLazy) { tree.html = html; } else { tree.node.innerHTML = html; } } function queueText(tree, text) { if (enableLazy) { tree.text = text; } else { setTextContent(tree.node, text); } } function DOMLazyTree(node) { return { node: node, children: [], html: null, text: null }; } DOMLazyTree.insertTreeBefore = insertTreeBefore; DOMLazyTree.replaceChildWithTree = replaceChildWithTree; DOMLazyTree.queueChild = queueChild; DOMLazyTree.queueHTML = queueHTML; DOMLazyTree.queueText = queueText; module.exports = DOMLazyTree; /***/ }, /* 76 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule createMicrosoftUnsafeLocalFunction */ /* globals MSApp */ 'use strict'; /** * Create a function which has 'unsafe' privileges (required by windows8 apps) */ var createMicrosoftUnsafeLocalFunction = function (func) { if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) { return function (arg0, arg1, arg2, arg3) { MSApp.execUnsafeLocalFunction(function () { return func(arg0, arg1, arg2, arg3); }); }; } else { return func; } }; module.exports = createMicrosoftUnsafeLocalFunction; /***/ }, /* 77 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule setTextContent */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var escapeTextContentForBrowser = __webpack_require__(78); var setInnerHTML = __webpack_require__(79); /** * Set the textContent property of a node, ensuring that whitespace is preserved * even in IE8. innerText is a poor substitute for textContent and, among many * issues, inserts
    instead of the literal newline chars. innerHTML behaves * as it should. * * @param {DOMElement} node * @param {string} text * @internal */ var setTextContent = function (node, text) { node.textContent = text; }; if (ExecutionEnvironment.canUseDOM) { if (!('textContent' in document.documentElement)) { setTextContent = function (node, text) { setInnerHTML(node, escapeTextContentForBrowser(text)); }; } } module.exports = setTextContent; /***/ }, /* 78 */ /***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule escapeTextContentForBrowser */ 'use strict'; var ESCAPE_LOOKUP = { '&': '&', '>': '>', '<': '<', '"': '"', '\'': ''' }; var ESCAPE_REGEX = /[&><"']/g; function escaper(match) { return ESCAPE_LOOKUP[match]; } /** * Escapes text to prevent scripting attacks. * * @param {*} text Text value to escape. * @return {string} An escaped string. */ function escapeTextContentForBrowser(text) { return ('' + text).replace(ESCAPE_REGEX, escaper); } module.exports = escapeTextContentForBrowser; /***/ }, /* 79 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule setInnerHTML */ 'use strict'; var ExecutionEnvironment = __webpack_require__(48); var WHITESPACE_TEST = /^[ \r\n\t\f]/; var NONVISIBLE_TEST = /<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/; var createMicrosoftUnsafeLocalFunction = __webpack_require__(76); /** * Set the innerHTML property of a node, ensuring that whitespace is preserved * even in IE8. * * @param {DOMElement} node * @param {string} html * @internal */ var setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) { node.innerHTML = html; }); if (ExecutionEnvironment.canUseDOM) { // IE8: When updating a just created node with innerHTML only leading // whitespace is removed. When updating an existing node with innerHTML // whitespace in root TextNodes is also collapsed. // @see quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.html // Feature detection; only IE8 is known to behave improperly like this. var testElement = document.createElement('div'); testElement.innerHTML = ' '; if (testElement.innerHTML === '') { setInnerHTML = function (node, html) { // Magic theory: IE8 supposedly differentiates between added and updated // nodes when processing innerHTML, innerHTML on updated nodes suffers // from worse whitespace behavior. Re-adding a node like this triggers // the initial and more favorable whitespace behavior. // TODO: What to do on a detached node? if (node.parentNode) { node.parentNode.replaceChild(node, node); } // We also implement a workaround for non-visible tags disappearing into // thin air on IE8, this only happens if there is no visible text // in-front of the non-visible tags. Piggyback on the whitespace fix // and simply check if any non-visible tags appear in the source. if (WHITESPACE_TEST.test(html) || html[0] === '<' && NONVISIBLE_TEST.test(html)) { // Recover leading whitespace by temporarily prepending any character. // \uFEFF has the potential advantage of being zero-width/invisible. // UglifyJS drops U+FEFF chars when parsing, so use String.fromCharCode // in hopes that this is preserved even if "\uFEFF" is transformed to // the actual Unicode character (by Babel, for example). // https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216 node.innerHTML = String.fromCharCode(0xFEFF) + html; // deleteData leaves an empty `TextNode` which offsets the index of all // children. Definitely want to avoid this. var textNode = node.firstChild; if (textNode.data.length === 1) { node.removeChild(textNode); } else { textNode.deleteData(0, 1); } } else { node.innerHTML = html; } }; } testElement = null; } module.exports = setInnerHTML; /***/ }, /* 80 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule Danger */ 'use strict'; var DOMLazyTree = __webpack_require__(75); var ExecutionEnvironment = __webpack_require__(48); var createNodesFromMarkup = __webpack_require__(81); var emptyFunction = __webpack_require__(11); var getMarkupWrap = __webpack_require__(83); var invariant = __webpack_require__(7); var OPEN_TAG_NAME_EXP = /^(<[^ \/>]+)/; var RESULT_INDEX_ATTR = 'data-danger-index'; /** * Extracts the `nodeName` from a string of markup. * * NOTE: Extracting the `nodeName` does not require a regular expression match * because we make assumptions about React-generated markup (i.e. there are no * spaces surrounding the opening tag and there is at least one attribute). * * @param {string} markup String of markup. * @return {string} Node name of the supplied markup. * @see http://jsperf.com/extract-nodename */ function getNodeName(markup) { return markup.substring(1, markup.indexOf(' ')); } var Danger = { /** * Renders markup into an array of nodes. The markup is expected to render * into a list of root nodes. Also, the length of `resultList` and * `markupList` should be the same. * * @param {array} markupList List of markup strings to render. * @return {array} List of rendered nodes. * @internal */ dangerouslyRenderMarkup: function (markupList) { !ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyRenderMarkup(...): Cannot render markup in a worker ' + 'thread. Make sure `window` and `document` are available globally ' + 'before requiring React when unit testing or use ' + 'ReactDOMServer.renderToString for server rendering.') : invariant(false) : void 0; var nodeName; var markupByNodeName = {}; // Group markup by `nodeName` if a wrap is necessary, else by '*'. for (var i = 0; i < markupList.length; i++) { !markupList[i] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyRenderMarkup(...): Missing markup.') : invariant(false) : void 0; nodeName = getNodeName(markupList[i]); nodeName = getMarkupWrap(nodeName) ? nodeName : '*'; markupByNodeName[nodeName] = markupByNodeName[nodeName] || []; markupByNodeName[nodeName][i] = markupList[i]; } var resultList = []; var resultListAssignmentCount = 0; for (nodeName in markupByNodeName) { if (!markupByNodeName.hasOwnProperty(nodeName)) { continue; } var markupListByNodeName = markupByNodeName[nodeName]; // This for-in loop skips the holes of the sparse array. The order of // iteration should follow the order of assignment, which happens to match // numerical index order, but we don't rely on that. var resultIndex; for (resultIndex in markupListByNodeName) { if (markupListByNodeName.hasOwnProperty(resultIndex)) { var markup = markupListByNodeName[resultIndex]; // Push the requested markup with an additional RESULT_INDEX_ATTR // attribute. If the markup does not start with a < character, it // will be discarded below (with an appropriate console.error). markupListByNodeName[resultIndex] = markup.replace(OPEN_TAG_NAME_EXP, // This index will be parsed back out below. '$1 ' + RESULT_INDEX_ATTR + '="' + resultIndex + '" '); } } // Render each group of markup with similar wrapping `nodeName`. var renderNodes = createNodesFromMarkup(markupListByNodeName.join(''), emptyFunction // Do nothing special with ================================================ FILE: Day 005 - React App with Axios for server requests/webpack.config.js ================================================ module.exports = { entry: "./app/App.js", output: { filename: "public/bundle.js" }, module: { loaders: [ { test: /\.jsx?$/, exclude: /(node_modules|bower_components)/, loader: 'babel', query: { presets: ['react', 'es2015'] } } ] } } ================================================ FILE: Day 006 - Spark Streaming using Scala/README.md ================================================ 100DaysOfCode Challenge #DAY 6 - Realtime Tweets Analysis using Spark Streaming with Scala - Setup and created a project using Spark Streaming in Scala - Streamed live tweets using Spark Streaming and Twitter app API Read more about it on medium here: https://medium.com/@harinilabs About me and other interesting projects on my website: http://HariniLabs.com/ ================================================ FILE: Day 006 - Spark Streaming using Scala/SparkStreamingTweet/.cache-main ================================================ format version: 5 output mode: 1 items 0 -> multiple output directories: 2 items /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/resources -> /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/bin /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src -> /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/bin compile options: 8 items 0 -> -javabootclasspath 1 -> /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/System/Library/Java/Extensions/MRJToolkit.jar 2 -> -javaextdirs 3 -> 4 -> -bootclasspath 5 -> /Users/Harini/Desktop/Dev Playground/Scala IDE/plugins/org.scala-ide.scala210.jars_4.4.1.201605041056/target/jars/scala-library.jar 6 -> -encoding 7 -> UTF-8 javac options: 0 items compiler version: 1 items 0 -> 2.10.6 compile order: 1 items 0 -> Mixed name hashing: 1 items 0 -> false products: 6 items /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/PrintTweets.scala -> /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/bin/com/hmovielabs/sparkstreaming/PrintTweets$$anonfun$1.class /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/PrintTweets.scala -> /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/bin/com/hmovielabs/sparkstreaming/PrintTweets$.class /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/PrintTweets.scala -> /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/bin/com/hmovielabs/sparkstreaming/PrintTweets.class /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/Utilities.scala -> /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/bin/com/hmovielabs/sparkstreaming/Utilities$$anonfun$setupTwitter$1.class /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/Utilities.scala -> /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/bin/com/hmovielabs/sparkstreaming/Utilities$.class /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/Utilities.scala -> /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/bin/com/hmovielabs/sparkstreaming/Utilities.class binary dependencies: 7 items /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/PrintTweets.scala -> /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/rt.jar /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/PrintTweets.scala -> /Users/Harini/Desktop/Dev Playground/Scala IDE/plugins/org.scala-ide.scala210.jars_4.4.1.201605041056/target/jars/scala-library.jar /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/PrintTweets.scala -> /Users/Harini/Desktop/Dev Playground/Spark/lib/spark-assembly-1.6.1-hadoop2.6.0.jar /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/PrintTweets.scala -> /Users/Harini/Desktop/Dev Playground/Spark/lib/spark-examples-1.6.1-hadoop2.6.0.jar /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/Utilities.scala -> /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/rt.jar /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/Utilities.scala -> /Users/Harini/Desktop/Dev Playground/Scala IDE/plugins/org.scala-ide.scala210.jars_4.4.1.201605041056/target/jars/scala-library.jar /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/Utilities.scala -> /Users/Harini/Desktop/Dev Playground/Spark/lib/spark-assembly-1.6.1-hadoop2.6.0.jar direct source dependencies: 1 items /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/PrintTweets.scala -> /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/Utilities.scala direct external dependencies: 0 items public inherited source dependencies: 0 items public inherited external dependencies: 0 items member reference internal dependencies: 0 items member reference external dependencies: 0 items inheritance internal dependencies: 0 items inheritance external dependencies: 0 items class names: 6 items /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/PrintTweets.scala -> com.hmovielabs.sparkstreaming.PrintTweets /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/PrintTweets.scala -> com.hmovielabs.sparkstreaming.PrintTweets$ /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/PrintTweets.scala -> com.hmovielabs.sparkstreaming.PrintTweets$$anonfun$1 /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/Utilities.scala -> com.hmovielabs.sparkstreaming.Utilities /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/Utilities.scala -> com.hmovielabs.sparkstreaming.Utilities$ /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/Utilities.scala -> com.hmovielabs.sparkstreaming.Utilities$$anonfun$setupTwitter$1 used names: 0 items product stamps: 6 items /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/bin/com/hmovielabs/sparkstreaming/PrintTweets$$anonfun$1.class -> lastModified(1463133381000) /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/bin/com/hmovielabs/sparkstreaming/PrintTweets$.class -> lastModified(1463133381000) /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/bin/com/hmovielabs/sparkstreaming/PrintTweets.class -> lastModified(1463133381000) /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/bin/com/hmovielabs/sparkstreaming/Utilities$$anonfun$setupTwitter$1.class -> lastModified(1463138716000) /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/bin/com/hmovielabs/sparkstreaming/Utilities$.class -> lastModified(1463138716000) /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/bin/com/hmovielabs/sparkstreaming/Utilities.class -> lastModified(1463138716000) source stamps: 2 items /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/PrintTweets.scala -> hash(417222eb293d435a669ebd3849342ce68b5aee30) /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/Utilities.scala -> hash(beb3153ce41c6a9b0665a86acad14b304d805542) binary stamps: 4 items /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/rt.jar -> lastModified(1459498886000) /Users/Harini/Desktop/Dev Playground/Scala IDE/plugins/org.scala-ide.scala210.jars_4.4.1.201605041056/target/jars/scala-library.jar -> lastModified(1462337780000) /Users/Harini/Desktop/Dev Playground/Spark/lib/spark-assembly-1.6.1-hadoop2.6.0.jar -> lastModified(1456549332000) /Users/Harini/Desktop/Dev Playground/Spark/lib/spark-examples-1.6.1-hadoop2.6.0.jar -> lastModified(1456549333000) class names: 4 items /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/rt.jar -> java.lang.Object /Users/Harini/Desktop/Dev Playground/Scala IDE/plugins/org.scala-ide.scala210.jars_4.4.1.201605041056/target/jars/scala-library.jar -> scala.StringContext /Users/Harini/Desktop/Dev Playground/Spark/lib/spark-assembly-1.6.1-hadoop2.6.0.jar -> org.apache.log4j.Logger /Users/Harini/Desktop/Dev Playground/Spark/lib/spark-examples-1.6.1-hadoop2.6.0.jar -> twitter4j.Status internal apis: 2 items /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/PrintTweets.scala -> rO0ABXNyABB4c2J0aS5hcGkuU291cmNlFlpwRASfbtoCAAZJAAdhcGlIYXNoWgAIaGFzTWFjcm9MABhfaW50ZXJuYWxPbmx5X25hbWVIYXNoZXN0ACRMeHNidGkvYXBpL19pbnRlcm5hbE9ubHlfTmFtZUhhc2hlcztMAANhcGl0ABVMeHNidGkvYXBpL1NvdXJjZUFQSTtMAAtjb21waWxhdGlvbnQAF0x4c2J0aS9hcGkvQ29tcGlsYXRpb247WwAEaGFzaHQAAltCeHAK//jLAHNyACJ4c2J0aS5hcGkuX2ludGVybmFsT25seV9OYW1lSGFzaGVzVNq+mfrU7EwCAAJbAA9pbXBsaWNpdE1lbWJlcnN0ACNbTHhzYnRpL2FwaS9faW50ZXJuYWxPbmx5X05hbWVIYXNoO1sADnJlZ3VsYXJNZW1iZXJzcQB+AAd4cHVyACNbTHhzYnRpLmFwaS5faW50ZXJuYWxPbmx5X05hbWVIYXNoO0lagLbdlov0AgAAeHAAAAAAdXEAfgAJAAAAAHNyABN4c2J0aS5hcGkuU291cmNlQVBJuV6n+SkjOKQCAAJbAAtkZWZpbml0aW9uc3QAF1tMeHNidGkvYXBpL0RlZmluaXRpb247WwAIcGFja2FnZXN0ABRbTHhzYnRpL2FwaS9QYWNrYWdlO3hwdXIAF1tMeHNidGkuYXBpLkRlZmluaXRpb247iMlc57TjXg4CAAB4cAAAAAFzcgATeHNidGkuYXBpLkNsYXNzTGlrZYM0HKHfsJdsAgAETAAOZGVmaW5pdGlvblR5cGV0ABpMeHNidGkvYXBpL0RlZmluaXRpb25UeXBlO1sAEHNhdmVkQW5ub3RhdGlvbnN0ABNbTGphdmEvbGFuZy9TdHJpbmc7TAAIc2VsZlR5cGV0ABBMeHNidGkvYXBpL0xhenk7TAAJc3RydWN0dXJlcQB+ABV4cgAheHNidGkuYXBpLlBhcmFtZXRlcml6ZWREZWZpbml0aW9u+RFusdVQPOICAAFbAA50eXBlUGFyYW1ldGVyc3QAGltMeHNidGkvYXBpL1R5cGVQYXJhbWV0ZXI7eHIAFHhzYnRpLmFwaS5EZWZpbml0aW9uhyob6HFC40YCAARMAAZhY2Nlc3N0ABJMeHNidGkvYXBpL0FjY2VzcztbAAthbm5vdGF0aW9uc3QAF1tMeHNidGkvYXBpL0Fubm90YXRpb247TAAJbW9kaWZpZXJzdAAVTHhzYnRpL2FwaS9Nb2RpZmllcnM7TAAEbmFtZXQAEkxqYXZhL2xhbmcvU3RyaW5nO3hwc3IAEHhzYnRpLmFwaS5QdWJsaWO6WD2ubC1gQgIAAHhyABB4c2J0aS5hcGkuQWNjZXNz3WKa+B1jMUgCAAB4cHVyABdbTHhzYnRpLmFwaS5Bbm5vdGF0aW9uO+uX6xkQ9o1IAgAAeHAAAAAAc3IAE3hzYnRpLmFwaS5Nb2RpZmllcnPHERMhaZzcJAIAAUIABWZsYWdzeHAAdAApY29tLmhtb3ZpZWxhYnMuc3BhcmtzdHJlYW1pbmcuUHJpbnRUd2VldHN1cgAaW0x4c2J0aS5hcGkuVHlwZVBhcmFtZXRlcjvZbSYPKJ3ytgIAAHhwAAAAAH5yABh4c2J0aS5hcGkuRGVmaW5pdGlvblR5cGUAAAAAAAAAABIAAHhyAA5qYXZhLmxhbmcuRW51bQAAAAAAAAAAEgAAeHB0AAZNb2R1bGV1cgATW0xqYXZhLmxhbmcuU3RyaW5nO63SVufpHXtHAgAAeHAAAAAAc3IAE3hzYnRpLlNhZmVMYXp5JEltcGw7kU8R9EVMyQIAA1oACGJpdG1hcCQwTAACX3R0ABJMamF2YS9sYW5nL09iamVjdDtMAARldmFsdAARTHNjYWxhL0Z1bmN0aW9uMDt4cgAWeHNidGkuYXBpLkFic3RyYWN0TGF6edN3tQFfu+egAgAAeHAAcHNyACB4c2J0aS5TYWZlTGF6eSQkYW5vbmZ1biRzdHJpY3QkMQAAAAAAAAAAAgABTAAHdmFsdWUkMXEAfgAveHBzcgATeHNidGkuYXBpLkVtcHR5VHlwZbz9nkZJO4kkAgAAeHIAFHhzYnRpLmFwaS5TaW1wbGVUeXBlcnhiiCEjv0ACAAB4cgAOeHNidGkuYXBpLlR5cGU/atkhFkmqygIAAHhwc3EAfgAuAHBzcQB+ADNzcgATeHNidGkuYXBpLlN0cnVjdHVyZamq+YCTb9gAAgADTAAIZGVjbGFyZWRxAH4AFUwACWluaGVyaXRlZHEAfgAVTAAHcGFyZW50c3EAfgAVeHEAfgA3c3EAfgAuAHBzcQB+ADN1cQB+ABAAAAABc3IADXhzYnRpLmFwaS5EZWZSvp/ifLQ2aQIAAkwACnJldHVyblR5cGV0ABBMeHNidGkvYXBpL1R5cGU7WwAPdmFsdWVQYXJhbWV0ZXJzdAAaW0x4c2J0aS9hcGkvUGFyYW1ldGVyTGlzdDt4cQB+ABZxAH4AIHVxAH4AIQAAAABzcQB+ACMAdAAEbWFpbnVxAH4AJgAAAABzcgAUeHNidGkuYXBpLlByb2plY3Rpb27z0o1U6UWkLQIAAkwAAmlkcQB+ABxMAAZwcmVmaXh0ABZMeHNidGkvYXBpL1NpbXBsZVR5cGU7eHEAfgA2dAAEVW5pdHNyABN4c2J0aS5hcGkuU2luZ2xldG9u/Kdf+M9W5EYCAAFMAARwYXRodAAQTHhzYnRpL2FwaS9QYXRoO3hxAH4ANnNyAA54c2J0aS5hcGkuUGF0aJs9XAjOpSeEAgABWwAKY29tcG9uZW50c3QAGltMeHNidGkvYXBpL1BhdGhDb21wb25lbnQ7eHB1cgAaW0x4c2J0aS5hcGkuUGF0aENvbXBvbmVudDtD2gl0LWcWdAIAAHhwAAAAAnNyAAx4c2J0aS5hcGkuSWSYMmyLN1PEQAIAAUwAAmlkcQB+ABx4cgAXeHNidGkuYXBpLlBhdGhDb21wb25lbnRfmiJbLoafvAIAAHhwdAAFc2NhbGFzcgAOeHNidGkuYXBpLlRoaXPbCe2mzFpAXAIAAHhxAH4AVXVyABpbTHhzYnRpLmFwaS5QYXJhbWV0ZXJMaXN0O/XTOh3ys3DuAgAAeHAAAAABc3IAF3hzYnRpLmFwaS5QYXJhbWV0ZXJMaXN01sW8HGRJdOMCAAJaAAppc0ltcGxpY2l0WwAKcGFyYW1ldGVyc3QAHFtMeHNidGkvYXBpL01ldGhvZFBhcmFtZXRlcjt4cAB1cgAcW0x4c2J0aS5hcGkuTWV0aG9kUGFyYW1ldGVyO8+4xV2l3bVtAgAAeHAAAAABc3IAGXhzYnRpLmFwaS5NZXRob2RQYXJhbWV0ZXIfRa4X00mw6gIABFoACmhhc0RlZmF1bHRMAAhtb2RpZmllcnQAHUx4c2J0aS9hcGkvUGFyYW1ldGVyTW9kaWZpZXI7TAAEbmFtZXEAfgAcTAADdHBlcQB+AEF4cAB+cgAbeHNidGkuYXBpLlBhcmFtZXRlck1vZGlmaWVyAAAAAAAAAAASAAB4cQB+ACl0AAVQbGFpbnQABGFyZ3NzcgAXeHNidGkuYXBpLlBhcmFtZXRlcml6ZWQWbO5pA8m7fwIAAkwACGJhc2VUeXBlcQB+AElbAA10eXBlQXJndW1lbnRzdAARW0x4c2J0aS9hcGkvVHlwZTt4cQB+ADZzcQB+AEh0AAVBcnJheXEAfgBOdXIAEVtMeHNidGkuYXBpLlR5cGU7dP+lWnv56UECAAB4cAAAAAFzcQB+AEh0AAZTdHJpbmdzcQB+AExzcQB+AE91cQB+AFIAAAADc3EAfgBUdAAEamF2YXNxAH4AVHQABGxhbmdxAH4AWXNxAH4ALgBwc3EAfgAzdXEAfgAQAAAAAHNxAH4ALgBwc3EAfgAzdXEAfgBtAAAAAnNxAH4ASHQABk9iamVjdHEAfgBxc3EAfgBIdAADQW55cQB+AE51cgAUW0x4c2J0aS5hcGkuUGFja2FnZTtbExk3cKcnoQIAAHhwAAAAA3NyABF4c2J0aS5hcGkuUGFja2FnZX5Zj/auzjlYAgABTAAEbmFtZXEAfgAceHB0AA5jb20uaG1vdmllbGFic3NxAH4AhHQAHWNvbS5obW92aWVsYWJzLnNwYXJrc3RyZWFtaW5nc3EAfgCEdAADY29tc3IAFXhzYnRpLmFwaS5Db21waWxhdGlvbu364MNq6KBCAgACSgAJc3RhcnRUaW1lWwAHb3V0cHV0c3QAGltMeHNidGkvYXBpL091dHB1dFNldHRpbmc7eHAAAAFUqYuZDHVyABpbTHhzYnRpLmFwaS5PdXRwdXRTZXR0aW5nO39qwvOnh6VCAgAAeHAAAAACc3IAF3hzYnRpLmFwaS5PdXRwdXRTZXR0aW5netmaR3T7HXsCAAJMAA9vdXRwdXREaXJlY3RvcnlxAH4AHEwAD3NvdXJjZURpcmVjdG9yeXEAfgAceHB0AEsvVXNlcnMvSGFyaW5pL0Rlc2t0b3AvRGV2IFBsYXlncm91bmQvU3BhcmtXb3Jrc3BhY2UvU3BhcmtTdHJlYW1pbmdUd2VldC9iaW50AEsvVXNlcnMvSGFyaW5pL0Rlc2t0b3AvRGV2IFBsYXlncm91bmQvU3BhcmtXb3Jrc3BhY2UvU3BhcmtTdHJlYW1pbmdUd2VldC9zcmNzcQB+AJB0AEsvVXNlcnMvSGFyaW5pL0Rlc2t0b3AvRGV2IFBsYXlncm91bmQvU3BhcmtXb3Jrc3BhY2UvU3BhcmtTdHJlYW1pbmdUd2VldC9iaW50AFEvVXNlcnMvSGFyaW5pL0Rlc2t0b3AvRGV2IFBsYXlncm91bmQvU3BhcmtXb3Jrc3BhY2UvU3BhcmtTdHJlYW1pbmdUd2VldC9yZXNvdXJjZXN1cgACW0Ks8xf4BghU4AIAAHhwAAAAFEFyIuspPUNaZp69OEk0LOaLWu4w /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/Utilities.scala -> rO0ABXNyABB4c2J0aS5hcGkuU291cmNlFlpwRASfbtoCAAZJAAdhcGlIYXNoWgAIaGFzTWFjcm9MABhfaW50ZXJuYWxPbmx5X25hbWVIYXNoZXN0ACRMeHNidGkvYXBpL19pbnRlcm5hbE9ubHlfTmFtZUhhc2hlcztMAANhcGl0ABVMeHNidGkvYXBpL1NvdXJjZUFQSTtMAAtjb21waWxhdGlvbnQAF0x4c2J0aS9hcGkvQ29tcGlsYXRpb247WwAEaGFzaHQAAltCeHCZcL/GAHNyACJ4c2J0aS5hcGkuX2ludGVybmFsT25seV9OYW1lSGFzaGVzVNq+mfrU7EwCAAJbAA9pbXBsaWNpdE1lbWJlcnN0ACNbTHhzYnRpL2FwaS9faW50ZXJuYWxPbmx5X05hbWVIYXNoO1sADnJlZ3VsYXJNZW1iZXJzcQB+AAd4cHVyACNbTHhzYnRpLmFwaS5faW50ZXJuYWxPbmx5X05hbWVIYXNoO0lagLbdlov0AgAAeHAAAAAAdXEAfgAJAAAAAHNyABN4c2J0aS5hcGkuU291cmNlQVBJuV6n+SkjOKQCAAJbAAtkZWZpbml0aW9uc3QAF1tMeHNidGkvYXBpL0RlZmluaXRpb247WwAIcGFja2FnZXN0ABRbTHhzYnRpL2FwaS9QYWNrYWdlO3hwdXIAF1tMeHNidGkuYXBpLkRlZmluaXRpb247iMlc57TjXg4CAAB4cAAAAAFzcgATeHNidGkuYXBpLkNsYXNzTGlrZYM0HKHfsJdsAgAETAAOZGVmaW5pdGlvblR5cGV0ABpMeHNidGkvYXBpL0RlZmluaXRpb25UeXBlO1sAEHNhdmVkQW5ub3RhdGlvbnN0ABNbTGphdmEvbGFuZy9TdHJpbmc7TAAIc2VsZlR5cGV0ABBMeHNidGkvYXBpL0xhenk7TAAJc3RydWN0dXJlcQB+ABV4cgAheHNidGkuYXBpLlBhcmFtZXRlcml6ZWREZWZpbml0aW9u+RFusdVQPOICAAFbAA50eXBlUGFyYW1ldGVyc3QAGltMeHNidGkvYXBpL1R5cGVQYXJhbWV0ZXI7eHIAFHhzYnRpLmFwaS5EZWZpbml0aW9uhyob6HFC40YCAARMAAZhY2Nlc3N0ABJMeHNidGkvYXBpL0FjY2VzcztbAAthbm5vdGF0aW9uc3QAF1tMeHNidGkvYXBpL0Fubm90YXRpb247TAAJbW9kaWZpZXJzdAAVTHhzYnRpL2FwaS9Nb2RpZmllcnM7TAAEbmFtZXQAEkxqYXZhL2xhbmcvU3RyaW5nO3hwc3IAEHhzYnRpLmFwaS5QdWJsaWO6WD2ubC1gQgIAAHhyABB4c2J0aS5hcGkuQWNjZXNz3WKa+B1jMUgCAAB4cHVyABdbTHhzYnRpLmFwaS5Bbm5vdGF0aW9uO+uX6xkQ9o1IAgAAeHAAAAAAc3IAE3hzYnRpLmFwaS5Nb2RpZmllcnPHERMhaZzcJAIAAUIABWZsYWdzeHAAdAAnY29tLmhtb3ZpZWxhYnMuc3BhcmtzdHJlYW1pbmcuVXRpbGl0aWVzdXIAGltMeHNidGkuYXBpLlR5cGVQYXJhbWV0ZXI72W0mDyid8rYCAAB4cAAAAAB+cgAYeHNidGkuYXBpLkRlZmluaXRpb25UeXBlAAAAAAAAAAASAAB4cgAOamF2YS5sYW5nLkVudW0AAAAAAAAAABIAAHhwdAAGTW9kdWxldXIAE1tMamF2YS5sYW5nLlN0cmluZzut0lbn6R17RwIAAHhwAAAAAHNyABN4c2J0aS5TYWZlTGF6eSRJbXBsO5FPEfRFTMkCAANaAAhiaXRtYXAkMEwAAl90dAASTGphdmEvbGFuZy9PYmplY3Q7TAAEZXZhbHQAEUxzY2FsYS9GdW5jdGlvbjA7eHIAFnhzYnRpLmFwaS5BYnN0cmFjdExhennTd7UBX7vnoAIAAHhwAXNyABN4c2J0aS5hcGkuRW1wdHlUeXBlvP2eRkk7iSQCAAB4cgAUeHNidGkuYXBpLlNpbXBsZVR5cGVyeGKIISO/QAIAAHhyAA54c2J0aS5hcGkuVHlwZT9q2SEWSarKAgAAeHBwc3EAfgAuAXNyABN4c2J0aS5hcGkuU3RydWN0dXJlqar5gJNv2AACAANMAAhkZWNsYXJlZHEAfgAVTAAJaW5oZXJpdGVkcQB+ABVMAAdwYXJlbnRzcQB+ABV4cQB+ADVzcQB+AC4BdXEAfgAQAAAAAHBzcQB+AC4BdXEAfgAQAAAAAHBzcQB+AC4BdXIAEVtMeHNidGkuYXBpLlR5cGU7dP+lWnv56UECAAB4cAAAAAJzcgAUeHNidGkuYXBpLlByb2plY3Rpb27z0o1U6UWkLQIAAkwAAmlkcQB+ABxMAAZwcmVmaXh0ABZMeHNidGkvYXBpL1NpbXBsZVR5cGU7eHEAfgA0dAAGT2JqZWN0c3IAE3hzYnRpLmFwaS5TaW5nbGV0b278p1/4z1bkRgIAAUwABHBhdGh0ABBMeHNidGkvYXBpL1BhdGg7eHEAfgA0c3IADnhzYnRpLmFwaS5QYXRomz1cCM6lJ4QCAAFbAApjb21wb25lbnRzdAAaW0x4c2J0aS9hcGkvUGF0aENvbXBvbmVudDt4cHVyABpbTHhzYnRpLmFwaS5QYXRoQ29tcG9uZW50O0PaCXQtZxZ0AgAAeHAAAAADc3IADHhzYnRpLmFwaS5JZJgybIs3U8RAAgABTAACaWRxAH4AHHhyABd4c2J0aS5hcGkuUGF0aENvbXBvbmVudF+aIlsuhp+8AgAAeHB0AARqYXZhc3EAfgBNdAAEbGFuZ3NyAA54c2J0aS5hcGkuVGhpc9sJ7abMWkBcAgAAeHEAfgBOc3EAfgBBdAADQW55c3EAfgBFc3EAfgBIdXEAfgBLAAAAAnNxAH4ATXQABXNjYWxhcQB+AFRwcHVyABRbTHhzYnRpLmFwaS5QYWNrYWdlO1sTGTdwpyehAgAAeHAAAAADc3IAEXhzYnRpLmFwaS5QYWNrYWdlflmP9q7OOVgCAAFMAARuYW1lcQB+ABx4cHQADmNvbS5obW92aWVsYWJzc3EAfgBedAAdY29tLmhtb3ZpZWxhYnMuc3BhcmtzdHJlYW1pbmdzcQB+AF50AANjb21zcgAVeHNidGkuYXBpLkNvbXBpbGF0aW9u7frgw2rooEICAAJKAAlzdGFydFRpbWVbAAdvdXRwdXRzdAAaW0x4c2J0aS9hcGkvT3V0cHV0U2V0dGluZzt4cAAAAVSp3PXrdXIAGltMeHNidGkuYXBpLk91dHB1dFNldHRpbmc7f2rC86eHpUICAAB4cAAAAAJzcgAXeHNidGkuYXBpLk91dHB1dFNldHRpbmd62ZpHdPsdewIAAkwAD291dHB1dERpcmVjdG9yeXEAfgAcTAAPc291cmNlRGlyZWN0b3J5cQB+ABx4cHQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L2JpbnQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L3NyY3NxAH4AanQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L2JpbnQAUS9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L3Jlc291cmNlc3VyAAJbQqzzF/gGCFTgAgAAeHAAAAAUvrMVPOQcapsGZahqytFLME2AVUI= external apis: 0 items source infos: 2 items /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/PrintTweets.scala -> AAAAAAAAAAA= /Users/Harini/Desktop/Dev Playground/SparkWorkspace/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/Utilities.scala -> AAAAAAAAAAA= compilations: 9 items 0 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABVKmIvKB1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L2JpbnQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L3NyYw== 1 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABVKmKhGp1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L2JpbnQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L3NyYw== 2 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABVKmKvbx1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L2JpbnQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L3NyYw== 3 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABVKmLavd1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAXNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L2JpbnQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L3NyYw== 4 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABVKmLmQx1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAnNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L2JpbnQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L3NyY3NxAH4ABXQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L2JpbnQAUS9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L3Jlc291cmNlcw== 5 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABVKmLp8d1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAnNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L2JpbnQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L3NyY3NxAH4ABXQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L2JpbnQAUS9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L3Jlc291cmNlcw== 6 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABVKmLwqZ1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAnNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L2JpbnQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L3NyY3NxAH4ABXQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L2JpbnQAUS9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L3Jlc291cmNlcw== 7 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABVKmO/Al1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAnNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L2JpbnQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L3NyY3NxAH4ABXQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L2JpbnQAUS9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L3Jlc291cmNlcw== 8 -> rO0ABXNyABV4c2J0aS5hcGkuQ29tcGlsYXRpb27t+uDDauigQgIAAkoACXN0YXJ0VGltZVsAB291dHB1dHN0ABpbTHhzYnRpL2FwaS9PdXRwdXRTZXR0aW5nO3hwAAABVKnc9et1cgAaW0x4c2J0aS5hcGkuT3V0cHV0U2V0dGluZzt/asLzp4elQgIAAHhwAAAAAnNyABd4c2J0aS5hcGkuT3V0cHV0U2V0dGluZ3rZmkd0+x17AgACTAAPb3V0cHV0RGlyZWN0b3J5dAASTGphdmEvbGFuZy9TdHJpbmc7TAAPc291cmNlRGlyZWN0b3J5cQB+AAZ4cHQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L2JpbnQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L3NyY3NxAH4ABXQASy9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L2JpbnQAUS9Vc2Vycy9IYXJpbmkvRGVza3RvcC9EZXYgUGxheWdyb3VuZC9TcGFya1dvcmtzcGFjZS9TcGFya1N0cmVhbWluZ1R3ZWV0L3Jlc291cmNlcw== ================================================ FILE: Day 006 - Spark Streaming using Scala/SparkStreamingTweet/.classpath ================================================ ================================================ FILE: Day 006 - Spark Streaming using Scala/SparkStreamingTweet/.project ================================================ SparkStreamingTweet org.scala-ide.sdt.core.scalabuilder org.scala-ide.sdt.core.scalanature org.eclipse.jdt.core.javanature ================================================ FILE: Day 006 - Spark Streaming using Scala/SparkStreamingTweet/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.8 ================================================ FILE: Day 006 - Spark Streaming using Scala/SparkStreamingTweet/resources/twitter.txt ================================================ consumerKey consumerSecret accessToken accessTokenSecret ================================================ FILE: Day 006 - Spark Streaming using Scala/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/PrintTweets.scala ================================================ package com.hmovielabs.sparkstreaming import org.apache.spark._ import org.apache.spark.SparkContext._ import org.apache.spark.streaming._ import org.apache.spark.streaming.twitter._ import org.apache.spark.streaming.StreamingContext._ import org.apache.log4j.Level import Utilities._ /** Simple application to listen to a stream of Tweets and print them out */ object PrintTweets { /** Our main function where the action happens */ def main(args: Array[String]) { // Configure Twitter credentials using twitter.txt setupTwitter() // Set up a Spark streaming context named "PrintTweets" that runs locally using // all CPU cores and one-second batches of data val ssc = new StreamingContext("local[*]", "PrintTweets", Seconds(1)) // Get rid of log spam (should be called after the context is set up) setupLogging() // Create a DStream from Twitter using our streaming context val tweets = TwitterUtils.createStream(ssc, None) // Now extract the text of each status update into RDD's using map() val statuses = tweets.map(status => status.getText()) // Print out the first ten statuses.print() // Kick it all off ssc.start() ssc.awaitTermination() } } ================================================ FILE: Day 006 - Spark Streaming using Scala/SparkStreamingTweet/src/com/hmovielabs/sparkstreaming/Utilities.scala ================================================ package com.hmovielabs.sparkstreaming import org.apache.log4j.Level import java.util.regex.Pattern import java.util.regex.Matcher object Utilities { /** Makes sure only ERROR messages get logged to avoid log spam. */ def setupLogging() = { import org.apache.log4j.{Level, Logger} val rootLogger = Logger.getRootLogger() rootLogger.setLevel(Level.ERROR) } /** Configures Twitter service credentials using twiter.txt in the main workspace directory */ def setupTwitter() = { import scala.io.Source for (line <- Source.fromFile("../twitter.txt`").getLines) { val fields = line.split(" ") if (fields.length == 2) { System.setProperty("twitter4j.oauth." + fields(0), fields(1)) } } } /** Retrieves a regex Pattern for parsing Apache access logs. */ def apacheLogPattern():Pattern = { val ddd = "\\d{1,3}" val ip = s"($ddd\\.$ddd\\.$ddd\\.$ddd)?" val client = "(\\S+)" val user = "(\\S+)" val dateTime = "(\\[.+?\\])" val request = "\"(.*?)\"" val status = "(\\d{3})" val bytes = "(\\S+)" val referer = "\"(.*?)\"" val agent = "\"(.*?)\"" val regex = s"$ip $client $user $dateTime $request $status $bytes $referer $agent" Pattern.compile(regex) } } ================================================ FILE: Day 007-008 - React Native App/App/Components/Badge.js ================================================ var React = require('react-native'); var { Text, View, Image, StyleSheet } = React; var styles = StyleSheet.create({ container: { backgroundColor: '#48BBEC', paddingBottom: 10 }, name: { alignSelf: 'center', fontSize: 21, marginTop: 10, marginBottom: 5, color: 'white' }, handle: { alignSelf: 'center', fontSize: 16, color: 'white' }, image: { height: 125, width: 125, borderRadius: 65, marginTop: 10, alignSelf: 'center' } }); class Badge extends React.Component{ render(){ return ( {this.props.userInfo.name} {this.props.userInfo.login} ) } }; Badge.propTypes = { userInfo: React.PropTypes.object.isRequired } module.exports = Badge; ================================================ FILE: Day 007-008 - React Native App/App/Components/Dashboard.js ================================================ var React = require('react-native'); var Profile = require('./Profile'); var Repositories = require('./Repositories') var api = require('../Utils/api'); var Notes = require('./Notes'); var { Text, View, StyleSheet, Image, TouchableHighlight } = React; var styles = StyleSheet.create({ container: { marginTop: 65, flex: 1 }, image: { height: 350, }, buttonText: { fontSize: 24, color: 'white', alignSelf: 'center' } }); class Dashboard extends React.Component{ makeBackground(btn){ var obj = { flexDirection: 'row', alignSelf: 'stretch', justifyContent: 'center', flex: 1 } if(btn === 0){ obj.backgroundColor = '#48BBEC'; } else if (btn === 1){ obj.backgroundColor = '#E77AAE'; } else { obj.backgroundColor = '#758BF4'; } return obj; } goToProfile(){ this.props.navigator.push({ component: Profile, title: 'Profile Page', passProps: {userInfo: this.props.userInfo} }) } goToRepos(){ api.getRepos(this.props.userInfo.login) .then((res) => { this.props.navigator.push({ component: Repositories, title: 'Repos Page', passProps: { userInfo: this.props.userInfo, repos: res } }); }); } goToNotes(){ api.getNotes(this.props.userInfo.login) .then((jsonRes) => { jsonRes = jsonRes || {}; this.props.navigator.push({ component: Notes, title: 'Notes', passProps: { notes: jsonRes, userInfo: this.props.userInfo } }); }); } render(){ return ( View Profile View Repositories Take Notes ) } }; module.exports = Dashboard; ================================================ FILE: Day 007-008 - React Native App/App/Components/Helpers/Separator.js ================================================ var React = require('react-native'); var { View, StyleSheet } = React; var styles = StyleSheet.create({ separator: { height: 1, backgroundColor: '#E4E4E4', flex: 1, marginLeft: 15 }, }); class Separator extends React.Component{ render(){ return ( ); } }; module.exports = Separator; ================================================ FILE: Day 007-008 - React Native App/App/Components/Helpers/WebView.js ================================================ var React = require('react-native'); var { View, WebView, StyleSheet } = React; var styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#F6F6EF', flexDirection: 'column', }, }); class Web extends React.Component{ render() { return ( ); } }; Web.propTypes = { url: React.PropTypes.string.isRequired }; module.exports = Web; ================================================ FILE: Day 007-008 - React Native App/App/Components/Main.js ================================================ var React = require('react-native'); var api = require('../Utils/api'); var Dashboard = require('./Dashboard'); var { View, Text, StyleSheet, TextInput, TouchableHighlight, ActivityIndicatorIOS } = React; var styles = StyleSheet.create({ mainContainer: { flex: 1, padding: 30, marginTop: 65, flexDirection: 'column', justifyContent: 'center', backgroundColor: '#48BBEC' }, title: { marginBottom: 20, fontSize: 25, textAlign: 'center', color: '#fff' }, searchInput: { height: 50, padding: 4, marginRight: 5, fontSize: 23, borderWidth: 1, borderColor: 'white', borderRadius: 8, color: 'white' }, buttonText: { fontSize: 18, color: '#111', alignSelf: 'center' }, button: { height: 45, flexDirection: 'row', backgroundColor: 'white', borderColor: 'white', borderWidth: 1, borderRadius: 8, marginBottom: 10, marginTop: 10, alignSelf: 'stretch', justifyContent: 'center' }, }); class Main extends React.Component{ constructor(props){ super(props); this.state = { username: '', isLoading: false, error: false } } handleChange(event){ this.setState({ username: event.nativeEvent.text }) } handleSubmit(){ this.setState({ isLoading: true }); api.getBio(this.state.username) .then((res) => { if(res.message === 'Not Found'){ this.setState({ error: 'User not found', isLoading: false }) } else { this.props.navigator.push({ title: res.name || "Select an Option", component: Dashboard, passProps: {userInfo: res} }); this.setState({ isLoading: false, error: false, username: '' }) } }); } render() { var showErr = ( this.state.error ? {this.state.error} : ); return( Search for Github User SEARCH {showErr} ) } }; module.exports = Main; ================================================ FILE: Day 007-008 - React Native App/App/Components/Notes.js ================================================ var React = require('react-native'); var api = require('../Utils/api'); var Separator = require('./Helpers/Separator'); var Badge = require('./Badge'); var { View, Text, ListView, TextInput, StyleSheet, TouchableHighlight } = React; var styles = StyleSheet.create({ container: { flex: 1, flexDirection: 'column', }, buttonText: { fontSize: 18, color: 'white' }, button: { height: 60, backgroundColor: '#48BBEC', flex: 3, alignItems: 'center', justifyContent: 'center' }, searchInput: { height: 60, padding: 10, fontSize: 18, color: '#111', flex: 10 }, rowContainer: { padding: 10, }, footerContainer: { backgroundColor: '#E3E3E3', alignItems: 'center', flexDirection: 'row' } }); // In the video there are a couple errors, fixed them so it would build. class Notes extends React.Component{ constructor(props){ super(props); this.ds = new ListView.DataSource({rowHasChanged: (row1, row2) => row1 !== row2}) this.state = { dataSource: this.ds.cloneWithRows(this.props.notes), note: '', error: '' } } handleChange(e){ this.setState({ note: e.nativeEvent.text }) } handleSubmit(){ var note = this.state.note; this.setState({ note: '' }); api.addNote(this.props.userInfo.login, note) .then((data) => { api.getNotes(this.props.userInfo.login) .then((data) => { this.setState({ dataSource: this.ds.cloneWithRows(data) }) }); }) .catch((error) => { console.log('Request failed', error); this.setState({error}) }); } renderRow(rowData){ return ( {rowData} ) } footer(){ return ( Submit ) } render(){ return ( } /> {this.footer()} ) } }; Notes.propTypes = { userInfo: React.PropTypes.object.isRequired, notes: React.PropTypes.object.isRequired } module.exports = Notes; ================================================ FILE: Day 007-008 - React Native App/App/Components/Profile.js ================================================ var React = require('react-native'); var Badge = require('./Badge'); var Separator = require('./Helpers/Separator'); var { Text, View, StyleSheet, ScrollView } = React; var styles = StyleSheet.create({ container: { flex: 1 }, buttonText: { fontSize: 18, color: 'white', alignSelf: 'center' }, rowContainer: { padding: 10 }, rowTitle: { color: '#48BBEC', fontSize: 16 }, rowContent: { fontSize: 19 } }); class Profile extends React.Component{ getRowTitle(user, item){ item = (item === 'public_repos') ? item.replace('_', ' ') : item; return item[0] ? item[0].toUpperCase() + item.slice(1) : item; } render(){ var userInfo = this.props.userInfo; var topicArr = ['company', 'location', 'followers', 'following', 'email', 'bio', 'public_repos']; var list = topicArr.map((item, index) => { if(!userInfo[item]){ return } else { return ( {this.getRowTitle(userInfo, item)} {userInfo[item]} ) } }); return ( {list} ) } }; Profile.propTypes = { userInfo: React.PropTypes.object.isRequired } module.exports = Profile; ================================================ FILE: Day 007-008 - React Native App/App/Components/Repositories.js ================================================ var React = require('react-native'); var Badge = require('./Badge'); var Separator = require('./Helpers/Separator'); var WebView = require('./Helpers/WebView'); var { ScrollView, Text, View, TouchableHighlight, StyleSheet } = React; var styles = StyleSheet.create({ container: { flex: 1, }, rowContainer: { flexDirection: 'column', flex: 1, padding: 10 }, name: { color: '#48BBEC', fontSize: 18, paddingBottom: 5 }, stars: { color: '#48BBEC', fontSize: 14, paddingBottom: 5 }, description: { fontSize: 14, paddingBottom: 5 } }); class Repositories extends React.Component{ openPage(url){ this.props.navigator.push({ component: WebView, title: 'Web View', passProps: {url} }); } render(){ var repos = this.props.repos; var list = repos.map((item, index) => { var desc = repos[index].description ? {repos[index].description} : ; return ( {repos[index].name} Stars: {repos[index].stargazers_count} {desc} ) }); return ( {list} ) } }; Repositories.propTypes = { userInfo: React.PropTypes.object.isRequired, repos: React.PropTypes.array.isRequired } module.exports = Repositories; ================================================ FILE: Day 007-008 - React Native App/App/Utils/api.js ================================================ var api = { getBio(username){ username = username.toLowerCase().trim(); var url = `https://api.github.com/users/${username}`; return fetch(url).then((res) => res.json()) }, getRepos(username){ username = username.toLowerCase().trim(); var url = `https://api.github.com/users/${username}/repos`; return fetch(url).then((res) => res.json()); }, getNotes(username){ username = username.toLowerCase().trim(); var url = `https://amber-fire-5168.firebaseio.com/${username}.json`; return fetch(url).then((res) => res.json()) }, addNote(username, note){ username = username.toLowerCase().trim(); var url = `https://amber-fire-5168.firebaseio.com/${username}.json`; return fetch(url, { method: 'post', body: JSON.stringify(note) }).then((res) => res.json()); } }; module.exports = api; ================================================ FILE: Day 007-008 - React Native App/README.md ================================================ 100DaysOfCode Challenge - React Native #DAY 7 & 8: Cross-Platform App with React Native A compelling reason for using React Native is that apps tend to be much more faster, responsive and consume less memory compared to hybrid frameworks for cross platform app creation. I wanted to give it a spin this weekend by building a complete cross-platform (android, iOS and web) app with React Native. This app recreates the same use case as what we saw with react.js app of searchable github bio and repo with note taking capability. Read more about it on medium here: https://medium.com/@harinilabs About me and other interesting projects on my website: http://HariniLabs.com/ ================================================ FILE: Day 007-008 - React Native App/android/app/BUCK ================================================ import re # To learn about Buck see [Docs](https://buckbuild.com/). # To run your application with Buck: # - install Buck # - `npm start` - to start the packager # - `cd android` # - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US` # - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck # - `buck install -r android/app` - compile, install and run application # lib_deps = [] for jarfile in glob(['libs/*.jar']): name = 'jars__' + re.sub(r'^.*/([^/]+)\.jar$', r'\1', jarfile) lib_deps.append(':' + name) prebuilt_jar( name = name, binary_jar = jarfile, ) for aarfile in glob(['libs/*.aar']): name = 'aars__' + re.sub(r'^.*/([^/]+)\.aar$', r'\1', aarfile) lib_deps.append(':' + name) android_prebuilt_aar( name = name, aar = aarfile, ) android_library( name = 'all-libs', exported_deps = lib_deps ) android_library( name = 'app-code', srcs = glob([ 'src/main/java/**/*.java', ]), deps = [ ':all-libs', ':build_config', ':res', ], ) android_build_config( name = 'build_config', package = 'com.thegaze', ) android_resource( name = 'res', res = 'src/main/res', package = 'com.thegaze', ) android_binary( name = 'app', package_type = 'debug', manifest = 'src/main/AndroidManifest.xml', keystore = '//android/keystores:debug', deps = [ ':app-code', ], ) ================================================ FILE: Day 007-008 - React Native App/android/app/build.gradle ================================================ apply plugin: "com.android.application" import com.android.build.OutputFile /** * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets * and bundleReleaseJsAndAssets). * These basically call `react-native bundle` with the correct arguments during the Android build * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the * bundle directly from the development server. Below you can see all the possible configurations * and their defaults. If you decide to add a configuration block, make sure to add it before the * `apply from: "../../node_modules/react-native/react.gradle"` line. * * project.ext.react = [ * // the name of the generated asset file containing your JS bundle * bundleAssetName: "index.android.bundle", * * // the entry file for bundle generation * entryFile: "index.android.js", * * // whether to bundle JS and assets in debug mode * bundleInDebug: false, * * // whether to bundle JS and assets in release mode * bundleInRelease: true, * * // whether to bundle JS and assets in another build variant (if configured). * // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants * // The configuration property can be in the following formats * // 'bundleIn${productFlavor}${buildType}' * // 'bundleIn${buildType}' * // bundleInFreeDebug: true, * // bundleInPaidRelease: true, * // bundleInBeta: true, * * // the root of your project, i.e. where "package.json" lives * root: "../../", * * // where to put the JS bundle asset in debug mode * jsBundleDirDebug: "$buildDir/intermediates/assets/debug", * * // where to put the JS bundle asset in release mode * jsBundleDirRelease: "$buildDir/intermediates/assets/release", * * // where to put drawable resources / React Native assets, e.g. the ones you use via * // require('./image.png')), in debug mode * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug", * * // where to put drawable resources / React Native assets, e.g. the ones you use via * // require('./image.png')), in release mode * resourcesDirRelease: "$buildDir/intermediates/res/merged/release", * * // by default the gradle tasks are skipped if none of the JS files or assets change; this means * // that we don't look at files in android/ or ios/ to determine whether the tasks are up to * // date; if you have any other folders that you want to ignore for performance reasons (gradle * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/ * // for example, you might want to remove it from here. * inputExcludes: ["android/**", "ios/**"] * ] */ apply from: "../../node_modules/react-native/react.gradle" /** * Set this to true to create two separate APKs instead of one: * - An APK that only works on ARM devices * - An APK that only works on x86 devices * The advantage is the size of the APK is reduced by about 4MB. * Upload all the APKs to the Play Store and people will download * the correct one based on the CPU architecture of their device. */ def enableSeparateBuildPerCPUArchitecture = false /** * Run Proguard to shrink the Java bytecode in release builds. */ def enableProguardInReleaseBuilds = false android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId "com.thegaze" minSdkVersion 16 targetSdkVersion 22 versionCode 1 versionName "1.0" ndk { abiFilters "armeabi-v7a", "x86" } } splits { abi { reset() enable enableSeparateBuildPerCPUArchitecture universalApk false // If true, also generate a universal APK include "armeabi-v7a", "x86" } } buildTypes { release { minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" } } // applicationVariants are e.g. debug, release applicationVariants.all { variant -> variant.outputs.each { output -> // For each separate APK per architecture, set a unique version code as described here: // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits def versionCodes = ["armeabi-v7a":1, "x86":2] def abi = output.getFilter(OutputFile.ABI) if (abi != null) { // null for the universal-debug, universal-release variants output.versionCodeOverride = versionCodes.get(abi) * 1048576 + defaultConfig.versionCode } } } } dependencies { compile fileTree(dir: "libs", include: ["*.jar"]) compile "com.android.support:appcompat-v7:23.0.1" compile "com.facebook.react:react-native:+" // From node_modules } // Run this once to be able to run the application with BUCK // puts all compile dependencies into folder libs for BUCK to use task copyDownloadableDepsToLibs(type: Copy) { from configurations.compile into 'libs' } ================================================ FILE: Day 007-008 - React Native App/android/app/proguard-rules.pro ================================================ # Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt # You can edit the include path and order by changing the proguardFiles # directive in build.gradle. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # Add any project specific keep options here: # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} # Disabling obfuscation is useful if you collect stack traces from production crashes # (unless you are using a system that supports de-obfuscate the stack traces). -dontobfuscate # React Native # Keep our interfaces so they can be used by other ProGuard rules. # See http://sourceforge.net/p/proguard/bugs/466/ -keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip -keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters # Do not strip any method/class that is annotated with @DoNotStrip -keep @com.facebook.proguard.annotations.DoNotStrip class * -keepclassmembers class * { @com.facebook.proguard.annotations.DoNotStrip *; } -keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * { void set*(***); *** get*(); } -keep class * extends com.facebook.react.bridge.JavaScriptModule { *; } -keep class * extends com.facebook.react.bridge.NativeModule { *; } -keepclassmembers,includedescriptorclasses class * { native ; } -keepclassmembers class * { @com.facebook.react.uimanager.UIProp ; } -keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactProp ; } -keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactPropGroup ; } -dontwarn com.facebook.react.** # okhttp -keepattributes Signature -keepattributes *Annotation* -keep class com.squareup.okhttp.** { *; } -keep interface com.squareup.okhttp.** { *; } -dontwarn com.squareup.okhttp.** # okio -keep class sun.misc.Unsafe { *; } -dontwarn java.nio.file.* -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement -dontwarn okio.** ================================================ FILE: Day 007-008 - React Native App/android/app/src/main/AndroidManifest.xml ================================================ ================================================ FILE: Day 007-008 - React Native App/android/app/src/main/java/com/thegaze/MainActivity.java ================================================ package com.thegaze; import com.facebook.react.ReactActivity; import com.facebook.react.ReactPackage; import com.facebook.react.shell.MainReactPackage; import java.util.Arrays; import java.util.List; public class MainActivity extends ReactActivity { /** * Returns the name of the main component registered from JavaScript. * This is used to schedule rendering of the component. */ @Override protected String getMainComponentName() { return "thegaze"; } /** * Returns whether dev mode should be enabled. * This enables e.g. the dev menu. */ @Override protected boolean getUseDeveloperSupport() { return BuildConfig.DEBUG; } /** * A list of packages used by the app. If the app uses additional views * or modules besides the default ones, add more packages here. */ @Override protected List getPackages() { return Arrays.asList( new MainReactPackage() ); } } ================================================ FILE: Day 007-008 - React Native App/android/app/src/main/res/values/strings.xml ================================================ thegaze ================================================ FILE: Day 007-008 - React Native App/android/app/src/main/res/values/styles.xml ================================================ ================================================ FILE: Day 007-008 - React Native App/android/build.gradle ================================================ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.3.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { mavenLocal() jcenter() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm url "$projectDir/../../node_modules/react-native/android" } } } ================================================ FILE: Day 007-008 - React Native App/android/gradle/wrapper/gradle-wrapper.properties ================================================ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip ================================================ FILE: Day 007-008 - React Native App/android/gradle.properties ================================================ # Project-wide Gradle settings. # IDE (e.g. Android Studio) users: # Gradle settings configured through the IDE *will override* # any settings specified in this file. # For more details on how to configure your build environment visit # http://www.gradle.org/docs/current/userguide/build_environment.html # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. # Default value: -Xmx10248m -XX:MaxPermSize=256m # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true android.useDeprecatedNdk=true ================================================ FILE: Day 007-008 - React Native App/android/gradlew ================================================ #!/usr/bin/env bash ############################################################################## ## ## Gradle start up script for UN*X ## ############################################################################## # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS="" APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" warn ( ) { echo "$*" } die ( ) { echo echo "$*" echo exit 1 } # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false case "`uname`" in CYGWIN* ) cygwin=true ;; Darwin* ) darwin=true ;; MINGW* ) msys=true ;; esac # For Cygwin, ensure paths are in UNIX format before anything is touched. if $cygwin ; then [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` fi # Attempt to set APP_HOME # Resolve links: $0 may be a link PRG="$0" # Need this for relative symlinks. while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG=`dirname "$PRG"`"/$link" fi done SAVED="`pwd`" cd "`dirname \"$PRG\"`/" >&- APP_HOME="`pwd -P`" cd "$SAVED" >&- CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else JAVACMD="java" which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi # Increase the maximum file descriptors if we can. if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then MAX_FD="$MAX_FD_LIMIT" fi ulimit -n $MAX_FD if [ $? -ne 0 ] ; then warn "Could not set maximum file descriptor limit: $MAX_FD" fi else warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" fi fi # For Darwin, add options to specify how the application appears in the dock if $darwin; then GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" fi # For Cygwin, switch paths to Windows format before running java if $cygwin ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` SEP="" for dir in $ROOTDIRSRAW ; do ROOTDIRS="$ROOTDIRS$SEP$dir" SEP="|" done OURCYGPATTERN="(^($ROOTDIRS))" # Add a user-defined pattern to the cygpath arguments if [ "$GRADLE_CYGPATTERN" != "" ] ; then OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" fi # Now convert the arguments - kludge to limit ourselves to /bin/sh i=0 for arg in "$@" ; do CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` else eval `echo args$i`="\"$arg\"" fi i=$((i+1)) done case $i in (0) set -- ;; (1) set -- "$args0" ;; (2) set -- "$args0" "$args1" ;; (3) set -- "$args0" "$args1" "$args2" ;; (4) set -- "$args0" "$args1" "$args2" "$args3" ;; (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; esac fi # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules function splitJvmOpts() { JVM_OPTS=("$@") } eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" ================================================ FILE: Day 007-008 - React Native App/android/gradlew.bat ================================================ @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @rem @rem ########################################################################## @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. set DEFAULT_JVM_OPTS= set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if "%ERRORLEVEL%" == "0" goto init echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. echo. echo Please set the JAVA_HOME variable in your environment to match the echo location of your Java installation. goto fail :findJavaFromJavaHome set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto init echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% echo. echo Please set the JAVA_HOME variable in your environment to match the echo location of your Java installation. goto fail :init @rem Get command-line arguments, handling Windowz variants if not "%OS%" == "Windows_NT" goto win9xME_args if "%@eval[2+2]" == "4" goto 4NT_args :win9xME_args @rem Slurp the command line arguments. set CMD_LINE_ARGS= set _SKIP=2 :win9xME_args_slurp if "x%~1" == "x" goto execute set CMD_LINE_ARGS=%* goto execute :4NT_args @rem Get arguments from the 4NT Shell from JP Software set CMD_LINE_ARGS=%$ :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% :end @rem End local scope for the variables with windows NT shell if "%ERRORLEVEL%"=="0" goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 exit /b 1 :mainEnd if "%OS%"=="Windows_NT" endlocal :omega ================================================ FILE: Day 007-008 - React Native App/android/keystores/BUCK ================================================ keystore( name = 'debug', store = 'debug.keystore', properties = 'debug.keystore.properties', visibility = [ 'PUBLIC', ], ) ================================================ FILE: Day 007-008 - React Native App/android/keystores/debug.keystore.properties ================================================ key.store=debug.keystore key.alias=androiddebugkey key.store.password=android key.alias.password=android ================================================ FILE: Day 007-008 - React Native App/android/settings.gradle ================================================ rootProject.name = 'thegaze' include ':app' ================================================ FILE: Day 007-008 - React Native App/index.android.js ================================================ /** * Sample React Native App * https://github.com/facebook/react-native */ import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View } from 'react-native'; class thegaze extends Component { render() { return ( Welcome to React Native! To get started, edit index.android.js Shake or press menu button for dev menu ); } } const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#F5FCFF', }, welcome: { fontSize: 20, textAlign: 'center', margin: 10, }, instructions: { textAlign: 'center', color: '#333333', marginBottom: 5, }, }); AppRegistry.registerComponent('thegaze', () => thegaze); ================================================ FILE: Day 007-008 - React Native App/index.ios.js ================================================ /** * Sample React Native App * https://github.com/facebook/react-native * @flow */ var React = require('react-native'); var Main = require('./App/Components/Main'); var { AppRegistry, StyleSheet, Text, NavigatorIOS, View } = React; var styles = StyleSheet.create({ container:{ flex: 1, backgroundColor: '#111111' }, }); class thegaze extends React.Component { render() { return ( // // // Welcome to GitHub Notetaker! // // // To get started, edit index.ios.js // // // Press Cmd+R to reload,{'\n'} // Cmd+D or shake for dev menu // // ); } } //const styles = StyleSheet.create({ // container: { // flex: 1, // justifyContent: 'center', // alignItems: 'center', // backgroundColor: '#F5FCFF', // }, // welcome: { // fontSize: 20, // textAlign: 'center', // margin: 10, // }, // instructions: { // textAlign: 'center', // color: '#333333', // marginBottom: 5, // }, //}); AppRegistry.registerComponent('thegaze', () => thegaze); ================================================ FILE: Day 007-008 - React Native App/ios/thegaze/AppDelegate.h ================================================ /** * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ #import @interface AppDelegate : UIResponder @property (nonatomic, strong) UIWindow *window; @end ================================================ FILE: Day 007-008 - React Native App/ios/thegaze/AppDelegate.m ================================================ /** * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ #import "AppDelegate.h" #import "RCTRootView.h" @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSURL *jsCodeLocation; /** * Loading JavaScript code - uncomment the one you want. * * OPTION 1 * Load from development server. Start the server from the repository root: * * $ npm start * * To run on device, change `localhost` to the IP address of your computer * (you can get this by typing `ifconfig` into the terminal and selecting the * `inet` value under `en0:`) and make sure your computer and iOS device are * on the same Wi-Fi network. */ jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"]; /** * OPTION 2 * Load from pre-bundled file on disk. The static bundle is automatically * generated by the "Bundle React Native code and images" build step when * running the project on an actual device or running the project on the * simulator in the "Release" build configuration. */ // jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"thegaze" initialProperties:nil launchOptions:launchOptions]; self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; UIViewController *rootViewController = [UIViewController new]; rootViewController.view = rootView; self.window.rootViewController = rootViewController; [self.window makeKeyAndVisible]; return YES; } @end ================================================ FILE: Day 007-008 - React Native App/ios/thegaze/Base.lproj/LaunchScreen.xib ================================================ ================================================ FILE: Day 007-008 - React Native App/ios/thegaze/Images.xcassets/AppIcon.appiconset/Contents.json ================================================ { "images" : [ { "idiom" : "iphone", "size" : "29x29", "scale" : "2x" }, { "idiom" : "iphone", "size" : "29x29", "scale" : "3x" }, { "idiom" : "iphone", "size" : "40x40", "scale" : "2x" }, { "idiom" : "iphone", "size" : "40x40", "scale" : "3x" }, { "idiom" : "iphone", "size" : "60x60", "scale" : "2x" }, { "idiom" : "iphone", "size" : "60x60", "scale" : "3x" } ], "info" : { "version" : 1, "author" : "xcode" } } ================================================ FILE: Day 007-008 - React Native App/ios/thegaze/Info.plist ================================================ CFBundleDevelopmentRegion en CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) CFBundleInfoDictionaryVersion 6.0 CFBundleName $(PRODUCT_NAME) CFBundlePackageType APPL CFBundleShortVersionString 1.0 CFBundleSignature ???? CFBundleVersion 1 LSRequiresIPhoneOS UILaunchStoryboardName LaunchScreen UIRequiredDeviceCapabilities armv7 UISupportedInterfaceOrientations UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIViewControllerBasedStatusBarAppearance NSLocationWhenInUseUsageDescription NSAppTransportSecurity NSAllowsArbitraryLoads ================================================ FILE: Day 007-008 - React Native App/ios/thegaze/main.m ================================================ /** * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ #import #import "AppDelegate.h" int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } } ================================================ FILE: Day 007-008 - React Native App/ios/thegaze.xcodeproj/project.pbxproj ================================================ // !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 46; objects = { /* Begin PBXBuildFile section */ 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */; }; 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; }; 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; }; 00E356F31AD99517003FC87E /* thegazeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* thegazeTests.m */; }; 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; }; 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; }; 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; }; 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; proxyType = 2; remoteGlobalIDString = 134814201AA4EA6300B7C361; remoteInfo = RCTActionSheet; }; 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; proxyType = 2; remoteGlobalIDString = 134814201AA4EA6300B7C361; remoteInfo = RCTGeolocation; }; 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; proxyType = 2; remoteGlobalIDString = 58B5115D1A9E6B3D00147676; remoteInfo = RCTImage; }; 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; proxyType = 2; remoteGlobalIDString = 58B511DB1A9E6C8500147676; remoteInfo = RCTNetwork; }; 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; proxyType = 2; remoteGlobalIDString = 832C81801AAF6DEF007FA2F7; remoteInfo = RCTVibration; }; 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; proxyType = 1; remoteGlobalIDString = 13B07F861A680F5B00A75B9A; remoteInfo = thegaze; }; 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; proxyType = 2; remoteGlobalIDString = 134814201AA4EA6300B7C361; remoteInfo = RCTSettings; }; 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; proxyType = 2; remoteGlobalIDString = 3C86DF461ADF2C930047B81A; remoteInfo = RCTWebSocket; }; 146834031AC3E56700842450 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; proxyType = 2; remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; remoteInfo = React; }; 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; proxyType = 2; remoteGlobalIDString = 134814201AA4EA6300B7C361; remoteInfo = RCTLinking; }; 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; proxyType = 2; remoteGlobalIDString = 58B5119B1A9E6C1200147676; remoteInfo = RCTText; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = main.jsbundle; path = main.jsbundle; sourceTree = ""; }; 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTActionSheet.xcodeproj; path = ../node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj; sourceTree = ""; }; 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTGeolocation.xcodeproj; path = ../node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj; sourceTree = ""; }; 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = ../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj; sourceTree = ""; }; 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = ../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj; sourceTree = ""; }; 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = ../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj; sourceTree = ""; }; 00E356EE1AD99517003FC87E /* thegazeTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = thegazeTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* thegazeTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = thegazeTests.m; sourceTree = ""; }; 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = ../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj; sourceTree = ""; }; 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = ../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* thegaze.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = thegaze.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = thegaze/AppDelegate.h; sourceTree = ""; }; 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = thegaze/AppDelegate.m; sourceTree = ""; }; 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = thegaze/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = thegaze/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = thegaze/main.m; sourceTree = ""; }; 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = ../node_modules/react-native/React/React.xcodeproj; sourceTree = ""; }; 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = ../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj; sourceTree = ""; }; 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = ../node_modules/react-native/Libraries/Text/RCTText.xcodeproj; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ 00E356EB1AD99517003FC87E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 146834051AC3E58100842450 /* libReact.a in Frameworks */, 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */, 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */, 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */, 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */, 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */, 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */, 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ 00C302A81ABCB8CE00DB3ED1 /* Products */ = { isa = PBXGroup; children = ( 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */, ); name = Products; sourceTree = ""; }; 00C302B61ABCB90400DB3ED1 /* Products */ = { isa = PBXGroup; children = ( 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */, ); name = Products; sourceTree = ""; }; 00C302BC1ABCB91800DB3ED1 /* Products */ = { isa = PBXGroup; children = ( 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */, ); name = Products; sourceTree = ""; }; 00C302D41ABCB9D200DB3ED1 /* Products */ = { isa = PBXGroup; children = ( 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */, ); name = Products; sourceTree = ""; }; 00C302E01ABCB9EE00DB3ED1 /* Products */ = { isa = PBXGroup; children = ( 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */, ); name = Products; sourceTree = ""; }; 00E356EF1AD99517003FC87E /* thegazeTests */ = { isa = PBXGroup; children = ( 00E356F21AD99517003FC87E /* thegazeTests.m */, 00E356F01AD99517003FC87E /* Supporting Files */, ); path = thegazeTests; sourceTree = ""; }; 00E356F01AD99517003FC87E /* Supporting Files */ = { isa = PBXGroup; children = ( 00E356F11AD99517003FC87E /* Info.plist */, ); name = "Supporting Files"; sourceTree = ""; }; 139105B71AF99BAD00B5F7CC /* Products */ = { isa = PBXGroup; children = ( 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */, ); name = Products; sourceTree = ""; }; 139FDEE71B06529A00C62182 /* Products */ = { isa = PBXGroup; children = ( 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */, ); name = Products; sourceTree = ""; }; 13B07FAE1A68108700A75B9A /* thegaze */ = { isa = PBXGroup; children = ( 008F07F21AC5B25A0029DE68 /* main.jsbundle */, 13B07FAF1A68108700A75B9A /* AppDelegate.h */, 13B07FB01A68108700A75B9A /* AppDelegate.m */, 13B07FB51A68108700A75B9A /* Images.xcassets */, 13B07FB61A68108700A75B9A /* Info.plist */, 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, 13B07FB71A68108700A75B9A /* main.m */, ); name = thegaze; sourceTree = ""; }; 146834001AC3E56700842450 /* Products */ = { isa = PBXGroup; children = ( 146834041AC3E56700842450 /* libReact.a */, ); name = Products; sourceTree = ""; }; 78C398B11ACF4ADC00677621 /* Products */ = { isa = PBXGroup; children = ( 78C398B91ACF4ADC00677621 /* libRCTLinking.a */, ); name = Products; sourceTree = ""; }; 832341AE1AAA6A7D00B99B32 /* Libraries */ = { isa = PBXGroup; children = ( 146833FF1AC3E56700842450 /* React.xcodeproj */, 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */, 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */, 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */, 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */, 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */, 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */, 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, ); name = Libraries; sourceTree = ""; }; 832341B11AAA6A8300B99B32 /* Products */ = { isa = PBXGroup; children = ( 832341B51AAA6A8300B99B32 /* libRCTText.a */, ); name = Products; sourceTree = ""; }; 83CBB9F61A601CBA00E9B192 = { isa = PBXGroup; children = ( 13B07FAE1A68108700A75B9A /* thegaze */, 832341AE1AAA6A7D00B99B32 /* Libraries */, 00E356EF1AD99517003FC87E /* thegazeTests */, 83CBBA001A601CBA00E9B192 /* Products */, ); indentWidth = 2; sourceTree = ""; tabWidth = 2; }; 83CBBA001A601CBA00E9B192 /* Products */ = { isa = PBXGroup; children = ( 13B07F961A680F5B00A75B9A /* thegaze.app */, 00E356EE1AD99517003FC87E /* thegazeTests.xctest */, ); name = Products; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ 00E356ED1AD99517003FC87E /* thegazeTests */ = { isa = PBXNativeTarget; buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "thegazeTests" */; buildPhases = ( 00E356EA1AD99517003FC87E /* Sources */, 00E356EB1AD99517003FC87E /* Frameworks */, 00E356EC1AD99517003FC87E /* Resources */, ); buildRules = ( ); dependencies = ( 00E356F51AD99517003FC87E /* PBXTargetDependency */, ); name = thegazeTests; productName = thegazeTests; productReference = 00E356EE1AD99517003FC87E /* thegazeTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; 13B07F861A680F5B00A75B9A /* thegaze */ = { isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "thegaze" */; buildPhases = ( 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, ); buildRules = ( ); dependencies = ( ); name = thegaze; productName = "Hello World"; productReference = 13B07F961A680F5B00A75B9A /* thegaze.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 83CBB9F71A601CBA00E9B192 /* Project object */ = { isa = PBXProject; attributes = { LastUpgradeCheck = 0610; ORGANIZATIONNAME = Facebook; TargetAttributes = { 00E356ED1AD99517003FC87E = { CreatedOnToolsVersion = 6.2; TestTargetID = 13B07F861A680F5B00A75B9A; }; }; }; buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "thegaze" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); mainGroup = 83CBB9F61A601CBA00E9B192; productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; projectDirPath = ""; projectReferences = ( { ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */; ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; }, { ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */; ProjectRef = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; }, { ProductGroup = 00C302BC1ABCB91800DB3ED1 /* Products */; ProjectRef = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; }, { ProductGroup = 78C398B11ACF4ADC00677621 /* Products */; ProjectRef = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; }, { ProductGroup = 00C302D41ABCB9D200DB3ED1 /* Products */; ProjectRef = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; }, { ProductGroup = 139105B71AF99BAD00B5F7CC /* Products */; ProjectRef = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; }, { ProductGroup = 832341B11AAA6A8300B99B32 /* Products */; ProjectRef = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; }, { ProductGroup = 00C302E01ABCB9EE00DB3ED1 /* Products */; ProjectRef = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; }, { ProductGroup = 139FDEE71B06529A00C62182 /* Products */; ProjectRef = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; }, { ProductGroup = 146834001AC3E56700842450 /* Products */; ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; }, ); projectRoot = ""; targets = ( 13B07F861A680F5B00A75B9A /* thegaze */, 00E356ED1AD99517003FC87E /* thegazeTests */, ); }; /* End PBXProject section */ /* Begin PBXReferenceProxy section */ 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libRCTActionSheet.a; remoteRef = 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libRCTGeolocation.a; remoteRef = 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libRCTImage.a; remoteRef = 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libRCTNetwork.a; remoteRef = 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libRCTVibration.a; remoteRef = 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libRCTSettings.a; remoteRef = 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libRCTWebSocket.a; remoteRef = 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; 146834041AC3E56700842450 /* libReact.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libReact.a; remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; 78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libRCTLinking.a; remoteRef = 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; 832341B51AAA6A8300B99B32 /* libRCTText.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libRCTText.a; remoteRef = 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ 00E356EC1AD99517003FC87E /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; 13B07F8E1A680F5B00A75B9A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); name = "Bundle React Native code and images"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "export NODE_BINARY=node\n../node_modules/react-native/packager/react-native-xcode.sh"; showEnvVarsInLog = 1; }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ 00E356EA1AD99517003FC87E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 00E356F31AD99517003FC87E /* thegazeTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; 13B07F871A680F5B00A75B9A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */, 13B07FC11A68108700A75B9A /* main.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 13B07F861A680F5B00A75B9A /* thegaze */; targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ 13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = { isa = PBXVariantGroup; children = ( 13B07FB21A68108700A75B9A /* Base */, ); name = LaunchScreen.xib; path = thegaze; sourceTree = ""; }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ 00E356F61AD99517003FC87E /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); INFOPLIST_FILE = thegazeTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/thegaze.app/thegaze"; }; name = Debug; }; 00E356F71AD99517003FC87E /* Release */ = { isa = XCBuildConfiguration; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", ); INFOPLIST_FILE = thegazeTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/thegaze.app/thegaze"; }; name = Release; }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; DEAD_CODE_STRIPPING = NO; HEADER_SEARCH_PATHS = ( "$(inherited)", /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, "$(SRCROOT)/../node_modules/react-native/React/**", ); INFOPLIST_FILE = "thegaze/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = thegaze; }; name = Debug; }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; HEADER_SEARCH_PATHS = ( "$(inherited)", /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, "$(SRCROOT)/../node_modules/react-native/React/**", ); INFOPLIST_FILE = "thegaze/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = thegaze; }; name = Release; }; 83CBBA201A601CBA00E9B192 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( "$(inherited)", /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, "$(SRCROOT)/../node_modules/react-native/React/**", ); IPHONEOS_DEPLOYMENT_TARGET = 7.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; }; name = Debug; }; 83CBBA211A601CBA00E9B192 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( "$(inherited)", /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, "$(SRCROOT)/../node_modules/react-native/React/**", ); IPHONEOS_DEPLOYMENT_TARGET = 7.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "thegazeTests" */ = { isa = XCConfigurationList; buildConfigurations = ( 00E356F61AD99517003FC87E /* Debug */, 00E356F71AD99517003FC87E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "thegaze" */ = { isa = XCConfigurationList; buildConfigurations = ( 13B07F941A680F5B00A75B9A /* Debug */, 13B07F951A680F5B00A75B9A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "thegaze" */ = { isa = XCConfigurationList; buildConfigurations = ( 83CBBA201A601CBA00E9B192 /* Debug */, 83CBBA211A601CBA00E9B192 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; } ================================================ FILE: Day 007-008 - React Native App/ios/thegaze.xcodeproj/project.xcworkspace/contents.xcworkspacedata ================================================ ================================================ FILE: Day 007-008 - React Native App/ios/thegaze.xcodeproj/xcshareddata/xcschemes/thegaze.xcscheme ================================================ ================================================ FILE: Day 007-008 - React Native App/ios/thegaze.xcodeproj/xcuserdata/Harini.xcuserdatad/xcschemes/xcschememanagement.plist ================================================ SchemeUserState thegaze.xcscheme_^#shared#^_ orderHint 0 SuppressBuildableAutocreation 00E356ED1AD99517003FC87E primary 13B07F861A680F5B00A75B9A primary ================================================ FILE: Day 007-008 - React Native App/ios/thegazeTests/Info.plist ================================================ CFBundleDevelopmentRegion en CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) CFBundleInfoDictionaryVersion 6.0 CFBundleName $(PRODUCT_NAME) CFBundlePackageType BNDL CFBundleShortVersionString 1.0 CFBundleSignature ???? CFBundleVersion 1 ================================================ FILE: Day 007-008 - React Native App/ios/thegazeTests/thegazeTests.m ================================================ /** * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ #import #import #import "RCTLog.h" #import "RCTRootView.h" #define TIMEOUT_SECONDS 600 #define TEXT_TO_LOOK_FOR @"Welcome to React Native!" @interface thegazeTests : XCTestCase @end @implementation thegazeTests - (BOOL)findSubviewInView:(UIView *)view matching:(BOOL(^)(UIView *view))test { if (test(view)) { return YES; } for (UIView *subview in [view subviews]) { if ([self findSubviewInView:subview matching:test]) { return YES; } } return NO; } - (void)testRendersWelcomeScreen { UIViewController *vc = [[[[UIApplication sharedApplication] delegate] window] rootViewController]; NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS]; BOOL foundElement = NO; __block NSString *redboxError = nil; RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { if (level >= RCTLogLevelError) { redboxError = message; } }); while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) { [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; foundElement = [self findSubviewInView:vc.view matching:^BOOL(UIView *view) { if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) { return YES; } return NO; }]; } RCTSetLogFunction(RCTDefaultLogFunction); XCTAssertNil(redboxError, @"RedBox error: %@", redboxError); XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); } @end ================================================ FILE: Day 007-008 - React Native App/package.json ================================================ { "name": "thegaze", "version": "0.0.1", "private": true, "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start" }, "dependencies": { "react": "^0.14.8", "react-native": "^0.25.1" } } ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/App/Components/Badge.js ================================================ var React = require('react-native'); var { Text, View, Image, StyleSheet } = React; var styles = StyleSheet.create({ container: { backgroundColor: '#48BBEC', paddingBottom: 10 }, name: { alignSelf: 'center', fontSize: 21, marginTop: 10, marginBottom: 5, color: 'white' }, handle: { alignSelf: 'center', fontSize: 16, color: 'white' }, image: { height: 125, width: 125, borderRadius: 65, marginTop: 10, alignSelf: 'center' } }); class Badge extends React.Component{ render(){ return ( {this.props.userInfo.name} {this.props.userInfo.login} ) } }; Badge.propTypes = { userInfo: React.PropTypes.object.isRequired } module.exports = Badge; ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/App/Components/Dashboard.js ================================================ var React = require('react-native'); var Profile = require('./Profile'); var Repositories = require('./Repositories') var api = require('../Utils/api'); var Notes = require('./Notes'); var { Text, View, StyleSheet, Image, TouchableHighlight } = React; var styles = StyleSheet.create({ container: { marginTop: 65, flex: 1 }, image: { height: 350, }, buttonText: { fontSize: 24, color: 'white', alignSelf: 'center' } }); class Dashboard extends React.Component{ makeBackground(btn){ var obj = { flexDirection: 'row', alignSelf: 'stretch', justifyContent: 'center', flex: 1 } if(btn === 0){ obj.backgroundColor = '#48BBEC'; } else if (btn === 1){ obj.backgroundColor = '#E77AAE'; } else { obj.backgroundColor = '#758BF4'; } return obj; } goToProfile(){ this.props.navigator.push({ component: Profile, title: 'Profile Page', passProps: {userInfo: this.props.userInfo} }) } goToRepos(){ api.getRepos(this.props.userInfo.login) .then((res) => { this.props.navigator.push({ component: Repositories, title: 'Repos Page', passProps: { userInfo: this.props.userInfo, repos: res } }); }); } goToNotes(){ api.getNotes(this.props.userInfo.login) .then((jsonRes) => { jsonRes = jsonRes || {}; this.props.navigator.push({ component: Notes, title: 'Notes', passProps: { notes: jsonRes, userInfo: this.props.userInfo } }); }); } render(){ return ( View Profile View Repositories Take Notes ) } }; module.exports = Dashboard; ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/App/Components/Helpers/Separator.js ================================================ var React = require('react-native'); var { View, StyleSheet } = React; var styles = StyleSheet.create({ separator: { height: 1, backgroundColor: '#E4E4E4', flex: 1, marginLeft: 15 }, }); class Separator extends React.Component{ render(){ return ( ); } }; module.exports = Separator; ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/App/Components/Helpers/WebView.js ================================================ var React = require('react-native'); var { View, WebView, StyleSheet } = React; var styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#F6F6EF', flexDirection: 'column', }, }); class Web extends React.Component{ render() { return ( ); } }; Web.propTypes = { url: React.PropTypes.string.isRequired }; module.exports = Web; ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/App/Components/Main.js ================================================ var React = require('react-native'); var api = require('../Utils/api'); var Dashboard = require('./Dashboard'); var { View, Text, StyleSheet, TextInput, TouchableHighlight, ActivityIndicatorIOS } = React; var styles = StyleSheet.create({ mainContainer: { flex: 1, padding: 30, marginTop: 65, flexDirection: 'column', justifyContent: 'center', backgroundColor: '#48BBEC' }, title: { marginBottom: 20, fontSize: 25, textAlign: 'center', color: '#fff' }, searchInput: { height: 50, padding: 4, marginRight: 5, fontSize: 23, borderWidth: 1, borderColor: 'white', borderRadius: 8, color: 'white' }, buttonText: { fontSize: 18, color: '#111', alignSelf: 'center' }, button: { height: 45, flexDirection: 'row', backgroundColor: 'white', borderColor: 'white', borderWidth: 1, borderRadius: 8, marginBottom: 10, marginTop: 10, alignSelf: 'stretch', justifyContent: 'center' }, }); class Main extends React.Component{ constructor(props){ super(props); this.state = { username: '', isLoading: false, error: false } } handleChange(event){ this.setState({ username: event.nativeEvent.text }) } handleSubmit(){ this.setState({ isLoading: true }); api.getBio(this.state.username) .then((res) => { if(res.message === 'Not Found'){ this.setState({ error: 'User not found', isLoading: false }) } else { this.props.navigator.push({ title: res.name || "Select an Option", component: Dashboard, passProps: {userInfo: res} }); this.setState({ isLoading: false, error: false, username: '' }) } }); } render() { var showErr = ( this.state.error ? {this.state.error} : ); return( Search for Github User SEARCH {showErr} ) } }; module.exports = Main; ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/App/Components/Notes.js ================================================ var React = require('react-native'); var api = require('../Utils/api'); var Separator = require('./Helpers/Separator'); var Badge = require('./Badge'); var { View, Text, ListView, TextInput, StyleSheet, TouchableHighlight } = React; var styles = StyleSheet.create({ container: { flex: 1, flexDirection: 'column', }, buttonText: { fontSize: 18, color: 'white' }, button: { height: 60, backgroundColor: '#48BBEC', flex: 3, alignItems: 'center', justifyContent: 'center' }, searchInput: { height: 60, padding: 10, fontSize: 18, color: '#111', flex: 10 }, rowContainer: { padding: 10, }, footerContainer: { backgroundColor: '#E3E3E3', alignItems: 'center', flexDirection: 'row' } }); // In the video there are a couple errors, fixed them so it would build. class Notes extends React.Component{ constructor(props){ super(props); this.ds = new ListView.DataSource({rowHasChanged: (row1, row2) => row1 !== row2}) this.state = { dataSource: this.ds.cloneWithRows(this.props.notes), note: '', error: '' } } handleChange(e){ this.setState({ note: e.nativeEvent.text }) } handleSubmit(){ var note = this.state.note; this.setState({ note: '' }); api.addNote(this.props.userInfo.login, note) .then((data) => { api.getNotes(this.props.userInfo.login) .then((data) => { this.setState({ dataSource: this.ds.cloneWithRows(data) }) }); }) .catch((error) => { console.log('Request failed', error); this.setState({error}) }); } renderRow(rowData){ return ( {rowData} ) } footer(){ return ( Submit ) } render(){ return ( } /> {this.footer()} ) } }; Notes.propTypes = { userInfo: React.PropTypes.object.isRequired, notes: React.PropTypes.object.isRequired } module.exports = Notes; ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/App/Components/Profile.js ================================================ var React = require('react-native'); var Badge = require('./Badge'); var Separator = require('./Helpers/Separator'); var { Text, View, StyleSheet, ScrollView } = React; var styles = StyleSheet.create({ container: { flex: 1 }, buttonText: { fontSize: 18, color: 'white', alignSelf: 'center' }, rowContainer: { padding: 10 }, rowTitle: { color: '#48BBEC', fontSize: 16 }, rowContent: { fontSize: 19 } }); class Profile extends React.Component{ getRowTitle(user, item){ item = (item === 'public_repos') ? item.replace('_', ' ') : item; return item[0] ? item[0].toUpperCase() + item.slice(1) : item; } render(){ var userInfo = this.props.userInfo; var topicArr = ['company', 'location', 'followers', 'following', 'email', 'bio', 'public_repos']; var list = topicArr.map((item, index) => { if(!userInfo[item]){ return } else { return ( {this.getRowTitle(userInfo, item)} {userInfo[item]} ) } }); return ( {list} ) } }; Profile.propTypes = { userInfo: React.PropTypes.object.isRequired } module.exports = Profile; ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/App/Components/Repositories.js ================================================ var React = require('react-native'); var Badge = require('./Badge'); var Separator = require('./Helpers/Separator'); var WebView = require('./Helpers/WebView'); var { ScrollView, Text, View, TouchableHighlight, StyleSheet } = React; var styles = StyleSheet.create({ container: { flex: 1, }, rowContainer: { flexDirection: 'column', flex: 1, padding: 10 }, name: { color: '#48BBEC', fontSize: 18, paddingBottom: 5 }, stars: { color: '#48BBEC', fontSize: 14, paddingBottom: 5 }, description: { fontSize: 14, paddingBottom: 5 } }); class Repositories extends React.Component{ openPage(url){ this.props.navigator.push({ component: WebView, title: 'Web View', passProps: {url} }); } render(){ var repos = this.props.repos; var list = repos.map((item, index) => { var desc = repos[index].description ? {repos[index].description} : ; return ( {repos[index].name} Stars: {repos[index].stargazers_count} {desc} ) }); return ( {list} ) } }; Repositories.propTypes = { userInfo: React.PropTypes.object.isRequired, repos: React.PropTypes.array.isRequired } module.exports = Repositories; ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/App/Utils/api.js ================================================ var api = { getBio(username){ username = username.toLowerCase().trim(); var url = `https://api.github.com/users/${username}`; return fetch(url).then((res) => res.json()) }, getRepos(username){ username = username.toLowerCase().trim(); var url = `https://api.github.com/users/${username}/repos`; return fetch(url).then((res) => res.json()); }, getNotes(username){ username = username.toLowerCase().trim(); var url = `https://amber-fire-5168.firebaseio.com/${username}.json`; return fetch(url).then((res) => res.json()) }, addNote(username, note){ username = username.toLowerCase().trim(); var url = `https://amber-fire-5168.firebaseio.com/${username}.json`; return fetch(url, { method: 'post', body: JSON.stringify(note) }).then((res) => res.json()); } }; module.exports = api; ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/README.md ================================================ 100DaysOfCode Challenge #DAY 9: Porting React Native App across platforms - Installed Android Studio, SDK and emulator for Android App dev - Completed the react native app by making it cross-platform compatible in Android as well as iOS - Tested the app using android and ios simulators Read more about it on medium here: https://medium.com/@harinilabs About me and other interesting projects on my website: http://HariniLabs.com/ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.gradle/2.10/taskArtifacts/cache.properties ================================================ #Mon May 16 16:01:31 SGT 2016 ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.gradle/2.4/taskArtifacts/cache.properties ================================================ #Mon May 16 15:39:44 SGT 2016 ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/.name ================================================ android ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/compiler.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/copyright/profiles_settings.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/encodings.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/gradle.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/android_jsc_r174650.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/appcompat_v7_23_0_1.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/bolts_android_1_1_4.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/drawee_0_8_1.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/fbcore_0_8_1.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/fresco_0_8_1.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/imagepipeline_0_8_1.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/imagepipeline_okhttp_0_8_1.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/jackson_core_2_2_3.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/jsr305_3_0_0.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/library_2_4_0.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/okhttp_2_5_0.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/okhttp_ws_2_5_0.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/okio_1_6_0.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/react_native_0_25_1.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/recyclerview_v7_23_0_1.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/support_annotations_23_0_1.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/libraries/support_v4_23_0_1.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/misc.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/modules.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/runConfigurations.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/.idea/workspace.xml ================================================ 1463384316886 ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/BUCK ================================================ import re # To learn about Buck see [Docs](https://buckbuild.com/). # To run your application with Buck: # - install Buck # - `npm start` - to start the packager # - `cd android` # - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US` # - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck # - `buck install -r android/app` - compile, install and run application # lib_deps = [] for jarfile in glob(['libs/*.jar']): name = 'jars__' + re.sub(r'^.*/([^/]+)\.jar$', r'\1', jarfile) lib_deps.append(':' + name) prebuilt_jar( name = name, binary_jar = jarfile, ) for aarfile in glob(['libs/*.aar']): name = 'aars__' + re.sub(r'^.*/([^/]+)\.aar$', r'\1', aarfile) lib_deps.append(':' + name) android_prebuilt_aar( name = name, aar = aarfile, ) android_library( name = 'all-libs', exported_deps = lib_deps ) android_library( name = 'app-code', srcs = glob([ 'src/main/java/**/*.java', ]), deps = [ ':all-libs', ':build_config', ':res', ], ) android_build_config( name = 'build_config', package = 'com.thegaze', ) android_resource( name = 'res', res = 'src/main/res', package = 'com.thegaze', ) android_binary( name = 'app', package_type = 'debug', manifest = 'src/main/AndroidManifest.xml', keystore = '//android/keystores:debug', deps = [ ':app-code', ], ) ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/app.iml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/generated/source/buildConfig/androidTest/debug/com/thegaze/test/BuildConfig.java ================================================ /** * Automatically generated file. DO NOT MODIFY */ package com.thegaze.test; public final class BuildConfig { public static final boolean DEBUG = Boolean.parseBoolean("true"); public static final String APPLICATION_ID = "com.thegaze.test"; public static final String BUILD_TYPE = "debug"; public static final String FLAVOR = ""; public static final int VERSION_CODE = 1; public static final String VERSION_NAME = "1.0"; } ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/generated/source/buildConfig/debug/com/thegaze/BuildConfig.java ================================================ /** * Automatically generated file. DO NOT MODIFY */ package com.thegaze; public final class BuildConfig { public static final boolean DEBUG = Boolean.parseBoolean("true"); public static final String APPLICATION_ID = "com.thegaze"; public static final String BUILD_TYPE = "debug"; public static final String FLAVOR = ""; public static final int VERSION_CODE = 1; public static final String VERSION_NAME = "1.0"; } ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/generated/source/r/debug/android/support/v7/appcompat/R.java ================================================ /* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package android.support.v7.appcompat; public final class R { public static final class anim { public static final int abc_fade_in = 0x7f050000; public static final int abc_fade_out = 0x7f050001; public static final int abc_grow_fade_in_from_bottom = 0x7f050002; public static final int abc_popup_enter = 0x7f050003; public static final int abc_popup_exit = 0x7f050004; public static final int abc_shrink_fade_out_from_bottom = 0x7f050005; public static final int abc_slide_in_bottom = 0x7f050006; public static final int abc_slide_in_top = 0x7f050007; public static final int abc_slide_out_bottom = 0x7f050008; public static final int abc_slide_out_top = 0x7f050009; } public static final class attr { public static final int actionBarDivider = 0x7f01007e; public static final int actionBarItemBackground = 0x7f01007f; public static final int actionBarPopupTheme = 0x7f010078; public static final int actionBarSize = 0x7f01007d; public static final int actionBarSplitStyle = 0x7f01007a; public static final int actionBarStyle = 0x7f010079; public static final int actionBarTabBarStyle = 0x7f010074; public static final int actionBarTabStyle = 0x7f010073; public static final int actionBarTabTextStyle = 0x7f010075; public static final int actionBarTheme = 0x7f01007b; public static final int actionBarWidgetTheme = 0x7f01007c; public static final int actionButtonStyle = 0x7f010098; public static final int actionDropDownStyle = 0x7f010094; public static final int actionLayout = 0x7f01004b; public static final int actionMenuTextAppearance = 0x7f010080; public static final int actionMenuTextColor = 0x7f010081; public static final int actionModeBackground = 0x7f010084; public static final int actionModeCloseButtonStyle = 0x7f010083; public static final int actionModeCloseDrawable = 0x7f010086; public static final int actionModeCopyDrawable = 0x7f010088; public static final int actionModeCutDrawable = 0x7f010087; public static final int actionModeFindDrawable = 0x7f01008c; public static final int actionModePasteDrawable = 0x7f010089; public static final int actionModePopupWindowStyle = 0x7f01008e; public static final int actionModeSelectAllDrawable = 0x7f01008a; public static final int actionModeShareDrawable = 0x7f01008b; public static final int actionModeSplitBackground = 0x7f010085; public static final int actionModeStyle = 0x7f010082; public static final int actionModeWebSearchDrawable = 0x7f01008d; public static final int actionOverflowButtonStyle = 0x7f010076; public static final int actionOverflowMenuStyle = 0x7f010077; public static final int actionProviderClass = 0x7f01004d; public static final int actionViewClass = 0x7f01004c; public static final int activityChooserViewStyle = 0x7f0100a0; public static final int alertDialogButtonGroupStyle = 0x7f0100c2; public static final int alertDialogCenterButtons = 0x7f0100c3; public static final int alertDialogStyle = 0x7f0100c1; public static final int alertDialogTheme = 0x7f0100c4; public static final int arrowHeadLength = 0x7f01002b; public static final int arrowShaftLength = 0x7f01002c; public static final int autoCompleteTextViewStyle = 0x7f0100c9; public static final int background = 0x7f01000c; public static final int backgroundSplit = 0x7f01000e; public static final int backgroundStacked = 0x7f01000d; public static final int backgroundTint = 0x7f0100e5; public static final int backgroundTintMode = 0x7f0100e6; public static final int barLength = 0x7f01002d; public static final int borderlessButtonStyle = 0x7f01009d; public static final int buttonBarButtonStyle = 0x7f01009a; public static final int buttonBarNegativeButtonStyle = 0x7f0100c7; public static final int buttonBarNeutralButtonStyle = 0x7f0100c8; public static final int buttonBarPositiveButtonStyle = 0x7f0100c6; public static final int buttonBarStyle = 0x7f010099; public static final int buttonPanelSideLayout = 0x7f01001f; public static final int buttonStyle = 0x7f0100ca; public static final int buttonStyleSmall = 0x7f0100cb; public static final int buttonTint = 0x7f010025; public static final int buttonTintMode = 0x7f010026; public static final int checkboxStyle = 0x7f0100cc; public static final int checkedTextViewStyle = 0x7f0100cd; public static final int closeIcon = 0x7f010059; public static final int closeItemLayout = 0x7f01001c; public static final int collapseContentDescription = 0x7f0100dc; public static final int collapseIcon = 0x7f0100db; public static final int color = 0x7f010027; public static final int colorAccent = 0x7f0100ba; public static final int colorButtonNormal = 0x7f0100be; public static final int colorControlActivated = 0x7f0100bc; public static final int colorControlHighlight = 0x7f0100bd; public static final int colorControlNormal = 0x7f0100bb; public static final int colorPrimary = 0x7f0100b8; public static final int colorPrimaryDark = 0x7f0100b9; public static final int colorSwitchThumbNormal = 0x7f0100bf; public static final int commitIcon = 0x7f01005e; public static final int contentInsetEnd = 0x7f010017; public static final int contentInsetLeft = 0x7f010018; public static final int contentInsetRight = 0x7f010019; public static final int contentInsetStart = 0x7f010016; public static final int controlBackground = 0x7f0100c0; public static final int customNavigationLayout = 0x7f01000f; public static final int defaultQueryHint = 0x7f010058; public static final int dialogPreferredPadding = 0x7f010092; public static final int dialogTheme = 0x7f010091; public static final int displayOptions = 0x7f010005; public static final int divider = 0x7f01000b; public static final int dividerHorizontal = 0x7f01009f; public static final int dividerPadding = 0x7f010049; public static final int dividerVertical = 0x7f01009e; public static final int drawableSize = 0x7f010029; public static final int drawerArrowStyle = 0x7f010000; public static final int dropDownListViewStyle = 0x7f0100b0; public static final int dropdownListPreferredItemHeight = 0x7f010095; public static final int editTextBackground = 0x7f0100a6; public static final int editTextColor = 0x7f0100a5; public static final int editTextStyle = 0x7f0100ce; public static final int elevation = 0x7f01001a; public static final int expandActivityOverflowButtonDrawable = 0x7f01001e; public static final int gapBetweenBars = 0x7f01002a; public static final int goIcon = 0x7f01005a; public static final int height = 0x7f010001; public static final int hideOnContentScroll = 0x7f010015; public static final int homeAsUpIndicator = 0x7f010097; public static final int homeLayout = 0x7f010010; public static final int icon = 0x7f010009; public static final int iconifiedByDefault = 0x7f010056; public static final int indeterminateProgressStyle = 0x7f010012; public static final int initialActivityCount = 0x7f01001d; public static final int isLightTheme = 0x7f010002; public static final int itemPadding = 0x7f010014; public static final int layout = 0x7f010055; public static final int listChoiceBackgroundIndicator = 0x7f0100b7; public static final int listDividerAlertDialog = 0x7f010093; public static final int listItemLayout = 0x7f010023; public static final int listLayout = 0x7f010020; public static final int listPopupWindowStyle = 0x7f0100b1; public static final int listPreferredItemHeight = 0x7f0100ab; public static final int listPreferredItemHeightLarge = 0x7f0100ad; public static final int listPreferredItemHeightSmall = 0x7f0100ac; public static final int listPreferredItemPaddingLeft = 0x7f0100ae; public static final int listPreferredItemPaddingRight = 0x7f0100af; public static final int logo = 0x7f01000a; public static final int logoDescription = 0x7f0100df; public static final int maxButtonHeight = 0x7f0100da; public static final int measureWithLargestChild = 0x7f010047; public static final int multiChoiceItemLayout = 0x7f010021; public static final int navigationContentDescription = 0x7f0100de; public static final int navigationIcon = 0x7f0100dd; public static final int navigationMode = 0x7f010004; public static final int overlapAnchor = 0x7f01004f; public static final int paddingEnd = 0x7f0100e3; public static final int paddingStart = 0x7f0100e2; public static final int panelBackground = 0x7f0100b4; public static final int panelMenuListTheme = 0x7f0100b6; public static final int panelMenuListWidth = 0x7f0100b5; public static final int popupMenuStyle = 0x7f0100a3; public static final int popupTheme = 0x7f01001b; public static final int popupWindowStyle = 0x7f0100a4; public static final int preserveIconSpacing = 0x7f01004e; public static final int progressBarPadding = 0x7f010013; public static final int progressBarStyle = 0x7f010011; public static final int queryBackground = 0x7f010060; public static final int queryHint = 0x7f010057; public static final int radioButtonStyle = 0x7f0100cf; public static final int ratingBarStyle = 0x7f0100d0; public static final int searchHintIcon = 0x7f01005c; public static final int searchIcon = 0x7f01005b; public static final int searchViewStyle = 0x7f0100aa; public static final int selectableItemBackground = 0x7f01009b; public static final int selectableItemBackgroundBorderless = 0x7f01009c; public static final int showAsAction = 0x7f01004a; public static final int showDividers = 0x7f010048; public static final int showText = 0x7f010068; public static final int singleChoiceItemLayout = 0x7f010022; public static final int spinBars = 0x7f010028; public static final int spinnerDropDownItemStyle = 0x7f010096; public static final int spinnerStyle = 0x7f0100d1; public static final int splitTrack = 0x7f010067; public static final int state_above_anchor = 0x7f010050; public static final int submitBackground = 0x7f010061; public static final int subtitle = 0x7f010006; public static final int subtitleTextAppearance = 0x7f0100d4; public static final int subtitleTextColor = 0x7f0100e1; public static final int subtitleTextStyle = 0x7f010008; public static final int suggestionRowLayout = 0x7f01005f; public static final int switchMinWidth = 0x7f010065; public static final int switchPadding = 0x7f010066; public static final int switchStyle = 0x7f0100d2; public static final int switchTextAppearance = 0x7f010064; public static final int textAllCaps = 0x7f010024; public static final int textAppearanceLargePopupMenu = 0x7f01008f; public static final int textAppearanceListItem = 0x7f0100b2; public static final int textAppearanceListItemSmall = 0x7f0100b3; public static final int textAppearanceSearchResultSubtitle = 0x7f0100a8; public static final int textAppearanceSearchResultTitle = 0x7f0100a7; public static final int textAppearanceSmallPopupMenu = 0x7f010090; public static final int textColorAlertDialogListItem = 0x7f0100c5; public static final int textColorSearchUrl = 0x7f0100a9; public static final int theme = 0x7f0100e4; public static final int thickness = 0x7f01002e; public static final int thumbTextPadding = 0x7f010063; public static final int title = 0x7f010003; public static final int titleMarginBottom = 0x7f0100d9; public static final int titleMarginEnd = 0x7f0100d7; public static final int titleMarginStart = 0x7f0100d6; public static final int titleMarginTop = 0x7f0100d8; public static final int titleMargins = 0x7f0100d5; public static final int titleTextAppearance = 0x7f0100d3; public static final int titleTextColor = 0x7f0100e0; public static final int titleTextStyle = 0x7f010007; public static final int toolbarNavigationButtonStyle = 0x7f0100a2; public static final int toolbarStyle = 0x7f0100a1; public static final int track = 0x7f010062; public static final int voiceIcon = 0x7f01005d; public static final int windowActionBar = 0x7f010069; public static final int windowActionBarOverlay = 0x7f01006b; public static final int windowActionModeOverlay = 0x7f01006c; public static final int windowFixedHeightMajor = 0x7f010070; public static final int windowFixedHeightMinor = 0x7f01006e; public static final int windowFixedWidthMajor = 0x7f01006d; public static final int windowFixedWidthMinor = 0x7f01006f; public static final int windowMinWidthMajor = 0x7f010071; public static final int windowMinWidthMinor = 0x7f010072; public static final int windowNoTitle = 0x7f01006a; } public static final class bool { public static final int abc_action_bar_embed_tabs = 0x7f0a0002; public static final int abc_action_bar_embed_tabs_pre_jb = 0x7f0a0000; public static final int abc_action_bar_expanded_action_views_exclusive = 0x7f0a0003; public static final int abc_config_actionMenuItemAllCaps = 0x7f0a0004; public static final int abc_config_allowActionMenuItemTextWithIcon = 0x7f0a0001; public static final int abc_config_closeDialogWhenTouchOutside = 0x7f0a0005; public static final int abc_config_showMenuShortcutsWhenKeyboardPresent = 0x7f0a0006; } public static final class color { public static final int abc_background_cache_hint_selector_material_dark = 0x7f0c003b; public static final int abc_background_cache_hint_selector_material_light = 0x7f0c003c; public static final int abc_color_highlight_material = 0x7f0c003d; public static final int abc_input_method_navigation_guard = 0x7f0c0000; public static final int abc_primary_text_disable_only_material_dark = 0x7f0c003e; public static final int abc_primary_text_disable_only_material_light = 0x7f0c003f; public static final int abc_primary_text_material_dark = 0x7f0c0040; public static final int abc_primary_text_material_light = 0x7f0c0041; public static final int abc_search_url_text = 0x7f0c0042; public static final int abc_search_url_text_normal = 0x7f0c0001; public static final int abc_search_url_text_pressed = 0x7f0c0002; public static final int abc_search_url_text_selected = 0x7f0c0003; public static final int abc_secondary_text_material_dark = 0x7f0c0043; public static final int abc_secondary_text_material_light = 0x7f0c0044; public static final int accent_material_dark = 0x7f0c0004; public static final int accent_material_light = 0x7f0c0005; public static final int background_floating_material_dark = 0x7f0c0006; public static final int background_floating_material_light = 0x7f0c0007; public static final int background_material_dark = 0x7f0c0008; public static final int background_material_light = 0x7f0c0009; public static final int bright_foreground_disabled_material_dark = 0x7f0c000a; public static final int bright_foreground_disabled_material_light = 0x7f0c000b; public static final int bright_foreground_inverse_material_dark = 0x7f0c000c; public static final int bright_foreground_inverse_material_light = 0x7f0c000d; public static final int bright_foreground_material_dark = 0x7f0c000e; public static final int bright_foreground_material_light = 0x7f0c000f; public static final int button_material_dark = 0x7f0c0010; public static final int button_material_light = 0x7f0c0011; public static final int dim_foreground_disabled_material_dark = 0x7f0c0013; public static final int dim_foreground_disabled_material_light = 0x7f0c0014; public static final int dim_foreground_material_dark = 0x7f0c0015; public static final int dim_foreground_material_light = 0x7f0c0016; public static final int foreground_material_dark = 0x7f0c0017; public static final int foreground_material_light = 0x7f0c0018; public static final int highlighted_text_material_dark = 0x7f0c0019; public static final int highlighted_text_material_light = 0x7f0c001a; public static final int hint_foreground_material_dark = 0x7f0c001b; public static final int hint_foreground_material_light = 0x7f0c001c; public static final int material_blue_grey_800 = 0x7f0c001d; public static final int material_blue_grey_900 = 0x7f0c001e; public static final int material_blue_grey_950 = 0x7f0c001f; public static final int material_deep_teal_200 = 0x7f0c0020; public static final int material_deep_teal_500 = 0x7f0c0021; public static final int material_grey_100 = 0x7f0c0022; public static final int material_grey_300 = 0x7f0c0023; public static final int material_grey_50 = 0x7f0c0024; public static final int material_grey_600 = 0x7f0c0025; public static final int material_grey_800 = 0x7f0c0026; public static final int material_grey_850 = 0x7f0c0027; public static final int material_grey_900 = 0x7f0c0028; public static final int primary_dark_material_dark = 0x7f0c0029; public static final int primary_dark_material_light = 0x7f0c002a; public static final int primary_material_dark = 0x7f0c002b; public static final int primary_material_light = 0x7f0c002c; public static final int primary_text_default_material_dark = 0x7f0c002d; public static final int primary_text_default_material_light = 0x7f0c002e; public static final int primary_text_disabled_material_dark = 0x7f0c002f; public static final int primary_text_disabled_material_light = 0x7f0c0030; public static final int ripple_material_dark = 0x7f0c0031; public static final int ripple_material_light = 0x7f0c0032; public static final int secondary_text_default_material_dark = 0x7f0c0033; public static final int secondary_text_default_material_light = 0x7f0c0034; public static final int secondary_text_disabled_material_dark = 0x7f0c0035; public static final int secondary_text_disabled_material_light = 0x7f0c0036; public static final int switch_thumb_disabled_material_dark = 0x7f0c0037; public static final int switch_thumb_disabled_material_light = 0x7f0c0038; public static final int switch_thumb_material_dark = 0x7f0c0045; public static final int switch_thumb_material_light = 0x7f0c0046; public static final int switch_thumb_normal_material_dark = 0x7f0c0039; public static final int switch_thumb_normal_material_light = 0x7f0c003a; } public static final class dimen { public static final int abc_action_bar_content_inset_material = 0x7f08000b; public static final int abc_action_bar_default_height_material = 0x7f080001; public static final int abc_action_bar_default_padding_end_material = 0x7f08000c; public static final int abc_action_bar_default_padding_start_material = 0x7f08000d; public static final int abc_action_bar_icon_vertical_padding_material = 0x7f08000f; public static final int abc_action_bar_overflow_padding_end_material = 0x7f080010; public static final int abc_action_bar_overflow_padding_start_material = 0x7f080011; public static final int abc_action_bar_progress_bar_size = 0x7f080002; public static final int abc_action_bar_stacked_max_height = 0x7f080012; public static final int abc_action_bar_stacked_tab_max_width = 0x7f080013; public static final int abc_action_bar_subtitle_bottom_margin_material = 0x7f080014; public static final int abc_action_bar_subtitle_top_margin_material = 0x7f080015; public static final int abc_action_button_min_height_material = 0x7f080016; public static final int abc_action_button_min_width_material = 0x7f080017; public static final int abc_action_button_min_width_overflow_material = 0x7f080018; public static final int abc_alert_dialog_button_bar_height = 0x7f080000; public static final int abc_button_inset_horizontal_material = 0x7f080019; public static final int abc_button_inset_vertical_material = 0x7f08001a; public static final int abc_button_padding_horizontal_material = 0x7f08001b; public static final int abc_button_padding_vertical_material = 0x7f08001c; public static final int abc_config_prefDialogWidth = 0x7f080005; public static final int abc_control_corner_material = 0x7f08001d; public static final int abc_control_inset_material = 0x7f08001e; public static final int abc_control_padding_material = 0x7f08001f; public static final int abc_dialog_list_padding_vertical_material = 0x7f080020; public static final int abc_dialog_min_width_major = 0x7f080021; public static final int abc_dialog_min_width_minor = 0x7f080022; public static final int abc_dialog_padding_material = 0x7f080023; public static final int abc_dialog_padding_top_material = 0x7f080024; public static final int abc_disabled_alpha_material_dark = 0x7f080025; public static final int abc_disabled_alpha_material_light = 0x7f080026; public static final int abc_dropdownitem_icon_width = 0x7f080027; public static final int abc_dropdownitem_text_padding_left = 0x7f080028; public static final int abc_dropdownitem_text_padding_right = 0x7f080029; public static final int abc_edit_text_inset_bottom_material = 0x7f08002a; public static final int abc_edit_text_inset_horizontal_material = 0x7f08002b; public static final int abc_edit_text_inset_top_material = 0x7f08002c; public static final int abc_floating_window_z = 0x7f08002d; public static final int abc_list_item_padding_horizontal_material = 0x7f08002e; public static final int abc_panel_menu_list_width = 0x7f08002f; public static final int abc_search_view_preferred_width = 0x7f080030; public static final int abc_search_view_text_min_width = 0x7f080006; public static final int abc_switch_padding = 0x7f08000e; public static final int abc_text_size_body_1_material = 0x7f080031; public static final int abc_text_size_body_2_material = 0x7f080032; public static final int abc_text_size_button_material = 0x7f080033; public static final int abc_text_size_caption_material = 0x7f080034; public static final int abc_text_size_display_1_material = 0x7f080035; public static final int abc_text_size_display_2_material = 0x7f080036; public static final int abc_text_size_display_3_material = 0x7f080037; public static final int abc_text_size_display_4_material = 0x7f080038; public static final int abc_text_size_headline_material = 0x7f080039; public static final int abc_text_size_large_material = 0x7f08003a; public static final int abc_text_size_medium_material = 0x7f08003b; public static final int abc_text_size_menu_material = 0x7f08003c; public static final int abc_text_size_small_material = 0x7f08003d; public static final int abc_text_size_subhead_material = 0x7f08003e; public static final int abc_text_size_subtitle_material_toolbar = 0x7f080003; public static final int abc_text_size_title_material = 0x7f08003f; public static final int abc_text_size_title_material_toolbar = 0x7f080004; public static final int dialog_fixed_height_major = 0x7f080007; public static final int dialog_fixed_height_minor = 0x7f080008; public static final int dialog_fixed_width_major = 0x7f080009; public static final int dialog_fixed_width_minor = 0x7f08000a; public static final int disabled_alpha_material_dark = 0x7f080040; public static final int disabled_alpha_material_light = 0x7f080041; public static final int highlight_alpha_material_colored = 0x7f080042; public static final int highlight_alpha_material_dark = 0x7f080043; public static final int highlight_alpha_material_light = 0x7f080044; public static final int notification_large_icon_height = 0x7f080046; public static final int notification_large_icon_width = 0x7f080047; public static final int notification_subtext_size = 0x7f080048; } public static final class drawable { public static final int abc_ab_share_pack_mtrl_alpha = 0x7f020000; public static final int abc_action_bar_item_background_material = 0x7f020001; public static final int abc_btn_borderless_material = 0x7f020002; public static final int abc_btn_check_material = 0x7f020003; public static final int abc_btn_check_to_on_mtrl_000 = 0x7f020004; public static final int abc_btn_check_to_on_mtrl_015 = 0x7f020005; public static final int abc_btn_colored_material = 0x7f020006; public static final int abc_btn_default_mtrl_shape = 0x7f020007; public static final int abc_btn_radio_material = 0x7f020008; public static final int abc_btn_radio_to_on_mtrl_000 = 0x7f020009; public static final int abc_btn_radio_to_on_mtrl_015 = 0x7f02000a; public static final int abc_btn_rating_star_off_mtrl_alpha = 0x7f02000b; public static final int abc_btn_rating_star_on_mtrl_alpha = 0x7f02000c; public static final int abc_btn_switch_to_on_mtrl_00001 = 0x7f02000d; public static final int abc_btn_switch_to_on_mtrl_00012 = 0x7f02000e; public static final int abc_cab_background_internal_bg = 0x7f02000f; public static final int abc_cab_background_top_material = 0x7f020010; public static final int abc_cab_background_top_mtrl_alpha = 0x7f020011; public static final int abc_control_background_material = 0x7f020012; public static final int abc_dialog_material_background_dark = 0x7f020013; public static final int abc_dialog_material_background_light = 0x7f020014; public static final int abc_edit_text_material = 0x7f020015; public static final int abc_ic_ab_back_mtrl_am_alpha = 0x7f020016; public static final int abc_ic_clear_mtrl_alpha = 0x7f020017; public static final int abc_ic_commit_search_api_mtrl_alpha = 0x7f020018; public static final int abc_ic_go_search_api_mtrl_alpha = 0x7f020019; public static final int abc_ic_menu_copy_mtrl_am_alpha = 0x7f02001a; public static final int abc_ic_menu_cut_mtrl_alpha = 0x7f02001b; public static final int abc_ic_menu_moreoverflow_mtrl_alpha = 0x7f02001c; public static final int abc_ic_menu_paste_mtrl_am_alpha = 0x7f02001d; public static final int abc_ic_menu_selectall_mtrl_alpha = 0x7f02001e; public static final int abc_ic_menu_share_mtrl_alpha = 0x7f02001f; public static final int abc_ic_search_api_mtrl_alpha = 0x7f020020; public static final int abc_ic_voice_search_api_mtrl_alpha = 0x7f020021; public static final int abc_item_background_holo_dark = 0x7f020022; public static final int abc_item_background_holo_light = 0x7f020023; public static final int abc_list_divider_mtrl_alpha = 0x7f020024; public static final int abc_list_focused_holo = 0x7f020025; public static final int abc_list_longpressed_holo = 0x7f020026; public static final int abc_list_pressed_holo_dark = 0x7f020027; public static final int abc_list_pressed_holo_light = 0x7f020028; public static final int abc_list_selector_background_transition_holo_dark = 0x7f020029; public static final int abc_list_selector_background_transition_holo_light = 0x7f02002a; public static final int abc_list_selector_disabled_holo_dark = 0x7f02002b; public static final int abc_list_selector_disabled_holo_light = 0x7f02002c; public static final int abc_list_selector_holo_dark = 0x7f02002d; public static final int abc_list_selector_holo_light = 0x7f02002e; public static final int abc_menu_hardkey_panel_mtrl_mult = 0x7f02002f; public static final int abc_popup_background_mtrl_mult = 0x7f020030; public static final int abc_ratingbar_full_material = 0x7f020031; public static final int abc_spinner_mtrl_am_alpha = 0x7f020032; public static final int abc_spinner_textfield_background_material = 0x7f020033; public static final int abc_switch_thumb_material = 0x7f020034; public static final int abc_switch_track_mtrl_alpha = 0x7f020035; public static final int abc_tab_indicator_material = 0x7f020036; public static final int abc_tab_indicator_mtrl_alpha = 0x7f020037; public static final int abc_text_cursor_material = 0x7f020038; public static final int abc_textfield_activated_mtrl_alpha = 0x7f020039; public static final int abc_textfield_default_mtrl_alpha = 0x7f02003a; public static final int abc_textfield_search_activated_mtrl_alpha = 0x7f02003b; public static final int abc_textfield_search_default_mtrl_alpha = 0x7f02003c; public static final int abc_textfield_search_material = 0x7f02003d; public static final int notification_template_icon_bg = 0x7f02003e; } public static final class id { public static final int action0 = 0x7f0d0057; public static final int action_bar = 0x7f0d0047; public static final int action_bar_activity_content = 0x7f0d0000; public static final int action_bar_container = 0x7f0d0046; public static final int action_bar_root = 0x7f0d0042; public static final int action_bar_spinner = 0x7f0d0001; public static final int action_bar_subtitle = 0x7f0d002b; public static final int action_bar_title = 0x7f0d002a; public static final int action_context_bar = 0x7f0d0048; public static final int action_divider = 0x7f0d005b; public static final int action_menu_divider = 0x7f0d0002; public static final int action_menu_presenter = 0x7f0d0003; public static final int action_mode_bar = 0x7f0d0044; public static final int action_mode_bar_stub = 0x7f0d0043; public static final int action_mode_close_button = 0x7f0d002c; public static final int activity_chooser_view_content = 0x7f0d002d; public static final int alertTitle = 0x7f0d0037; public static final int always = 0x7f0d0024; public static final int beginning = 0x7f0d0021; public static final int buttonPanel = 0x7f0d003d; public static final int cancel_action = 0x7f0d0058; public static final int checkbox = 0x7f0d003f; public static final int chronometer = 0x7f0d005e; public static final int collapseActionView = 0x7f0d0025; public static final int contentPanel = 0x7f0d0038; public static final int custom = 0x7f0d003c; public static final int customPanel = 0x7f0d003b; public static final int decor_content_parent = 0x7f0d0045; public static final int default_activity_button = 0x7f0d0030; public static final int disableHome = 0x7f0d000d; public static final int edit_query = 0x7f0d0049; public static final int end = 0x7f0d0022; public static final int end_padder = 0x7f0d0063; public static final int expand_activities_button = 0x7f0d002e; public static final int expanded_menu = 0x7f0d003e; public static final int home = 0x7f0d0004; public static final int homeAsUp = 0x7f0d000e; public static final int icon = 0x7f0d0032; public static final int ifRoom = 0x7f0d0026; public static final int image = 0x7f0d002f; public static final int info = 0x7f0d0062; public static final int line1 = 0x7f0d005c; public static final int line3 = 0x7f0d0060; public static final int listMode = 0x7f0d000a; public static final int list_item = 0x7f0d0031; public static final int media_actions = 0x7f0d005a; public static final int middle = 0x7f0d0023; public static final int multiply = 0x7f0d0014; public static final int never = 0x7f0d0027; public static final int none = 0x7f0d000f; public static final int normal = 0x7f0d000b; public static final int parentPanel = 0x7f0d0034; public static final int progress_circular = 0x7f0d0006; public static final int progress_horizontal = 0x7f0d0007; public static final int radio = 0x7f0d0041; public static final int screen = 0x7f0d0015; public static final int scrollView = 0x7f0d0039; public static final int search_badge = 0x7f0d004b; public static final int search_bar = 0x7f0d004a; public static final int search_button = 0x7f0d004c; public static final int search_close_btn = 0x7f0d0051; public static final int search_edit_frame = 0x7f0d004d; public static final int search_go_btn = 0x7f0d0053; public static final int search_mag_icon = 0x7f0d004e; public static final int search_plate = 0x7f0d004f; public static final int search_src_text = 0x7f0d0050; public static final int search_voice_btn = 0x7f0d0054; public static final int select_dialog_listview = 0x7f0d0055; public static final int shortcut = 0x7f0d0040; public static final int showCustom = 0x7f0d0010; public static final int showHome = 0x7f0d0011; public static final int showTitle = 0x7f0d0012; public static final int split_action_bar = 0x7f0d0008; public static final int src_atop = 0x7f0d0016; public static final int src_in = 0x7f0d0017; public static final int src_over = 0x7f0d0018; public static final int status_bar_latest_event_content = 0x7f0d0059; public static final int submit_area = 0x7f0d0052; public static final int tabMode = 0x7f0d000c; public static final int text = 0x7f0d0061; public static final int text2 = 0x7f0d005f; public static final int textSpacerNoButtons = 0x7f0d003a; public static final int time = 0x7f0d005d; public static final int title = 0x7f0d0033; public static final int title_template = 0x7f0d0036; public static final int topPanel = 0x7f0d0035; public static final int up = 0x7f0d0009; public static final int useLogo = 0x7f0d0013; public static final int withText = 0x7f0d0028; public static final int wrap_content = 0x7f0d0029; } public static final class integer { public static final int abc_config_activityDefaultDur = 0x7f0b0001; public static final int abc_config_activityShortDur = 0x7f0b0002; public static final int abc_max_action_buttons = 0x7f0b0000; public static final int cancel_button_image_alpha = 0x7f0b0003; public static final int status_bar_notification_info_maxnum = 0x7f0b0004; } public static final class layout { public static final int abc_action_bar_title_item = 0x7f040000; public static final int abc_action_bar_up_container = 0x7f040001; public static final int abc_action_bar_view_list_nav_layout = 0x7f040002; public static final int abc_action_menu_item_layout = 0x7f040003; public static final int abc_action_menu_layout = 0x7f040004; public static final int abc_action_mode_bar = 0x7f040005; public static final int abc_action_mode_close_item_material = 0x7f040006; public static final int abc_activity_chooser_view = 0x7f040007; public static final int abc_activity_chooser_view_list_item = 0x7f040008; public static final int abc_alert_dialog_material = 0x7f040009; public static final int abc_dialog_title_material = 0x7f04000a; public static final int abc_expanded_menu_layout = 0x7f04000b; public static final int abc_list_menu_item_checkbox = 0x7f04000c; public static final int abc_list_menu_item_icon = 0x7f04000d; public static final int abc_list_menu_item_layout = 0x7f04000e; public static final int abc_list_menu_item_radio = 0x7f04000f; public static final int abc_popup_menu_item_layout = 0x7f040010; public static final int abc_screen_content_include = 0x7f040011; public static final int abc_screen_simple = 0x7f040012; public static final int abc_screen_simple_overlay_action_mode = 0x7f040013; public static final int abc_screen_toolbar = 0x7f040014; public static final int abc_search_dropdown_item_icons_2line = 0x7f040015; public static final int abc_search_view = 0x7f040016; public static final int abc_select_dialog_material = 0x7f040017; public static final int notification_media_action = 0x7f040019; public static final int notification_media_cancel_action = 0x7f04001a; public static final int notification_template_big_media = 0x7f04001b; public static final int notification_template_big_media_narrow = 0x7f04001c; public static final int notification_template_lines = 0x7f04001d; public static final int notification_template_media = 0x7f04001e; public static final int notification_template_part_chronometer = 0x7f04001f; public static final int notification_template_part_time = 0x7f040020; public static final int select_dialog_item_material = 0x7f040024; public static final int select_dialog_multichoice_material = 0x7f040025; public static final int select_dialog_singlechoice_material = 0x7f040026; public static final int support_simple_spinner_dropdown_item = 0x7f040027; } public static final class string { public static final int abc_action_bar_home_description = 0x7f070000; public static final int abc_action_bar_home_description_format = 0x7f070001; public static final int abc_action_bar_home_subtitle_description_format = 0x7f070002; public static final int abc_action_bar_up_description = 0x7f070003; public static final int abc_action_menu_overflow_description = 0x7f070004; public static final int abc_action_mode_done = 0x7f070005; public static final int abc_activity_chooser_view_see_all = 0x7f070006; public static final int abc_activitychooserview_choose_application = 0x7f070007; public static final int abc_search_hint = 0x7f070008; public static final int abc_searchview_description_clear = 0x7f070009; public static final int abc_searchview_description_query = 0x7f07000a; public static final int abc_searchview_description_search = 0x7f07000b; public static final int abc_searchview_description_submit = 0x7f07000c; public static final int abc_searchview_description_voice = 0x7f07000d; public static final int abc_shareactionprovider_share_with = 0x7f07000e; public static final int abc_shareactionprovider_share_with_application = 0x7f07000f; public static final int abc_toolbar_collapse_description = 0x7f070010; public static final int status_bar_notification_info_overflow = 0x7f070011; } public static final class style { public static final int AlertDialog_AppCompat = 0x7f09007a; public static final int AlertDialog_AppCompat_Light = 0x7f09007b; public static final int Animation_AppCompat_Dialog = 0x7f09007c; public static final int Animation_AppCompat_DropDownUp = 0x7f09007d; public static final int Base_AlertDialog_AppCompat = 0x7f090080; public static final int Base_AlertDialog_AppCompat_Light = 0x7f090081; public static final int Base_Animation_AppCompat_Dialog = 0x7f090082; public static final int Base_Animation_AppCompat_DropDownUp = 0x7f090083; public static final int Base_DialogWindowTitleBackground_AppCompat = 0x7f090085; public static final int Base_DialogWindowTitle_AppCompat = 0x7f090084; public static final int Base_TextAppearance_AppCompat = 0x7f09002d; public static final int Base_TextAppearance_AppCompat_Body1 = 0x7f09002e; public static final int Base_TextAppearance_AppCompat_Body2 = 0x7f09002f; public static final int Base_TextAppearance_AppCompat_Button = 0x7f090018; public static final int Base_TextAppearance_AppCompat_Caption = 0x7f090030; public static final int Base_TextAppearance_AppCompat_Display1 = 0x7f090031; public static final int Base_TextAppearance_AppCompat_Display2 = 0x7f090032; public static final int Base_TextAppearance_AppCompat_Display3 = 0x7f090033; public static final int Base_TextAppearance_AppCompat_Display4 = 0x7f090034; public static final int Base_TextAppearance_AppCompat_Headline = 0x7f090035; public static final int Base_TextAppearance_AppCompat_Inverse = 0x7f090003; public static final int Base_TextAppearance_AppCompat_Large = 0x7f090036; public static final int Base_TextAppearance_AppCompat_Large_Inverse = 0x7f090004; public static final int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 0x7f090037; public static final int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 0x7f090038; public static final int Base_TextAppearance_AppCompat_Medium = 0x7f090039; public static final int Base_TextAppearance_AppCompat_Medium_Inverse = 0x7f090005; public static final int Base_TextAppearance_AppCompat_Menu = 0x7f09003a; public static final int Base_TextAppearance_AppCompat_SearchResult = 0x7f090086; public static final int Base_TextAppearance_AppCompat_SearchResult_Subtitle = 0x7f09003b; public static final int Base_TextAppearance_AppCompat_SearchResult_Title = 0x7f09003c; public static final int Base_TextAppearance_AppCompat_Small = 0x7f09003d; public static final int Base_TextAppearance_AppCompat_Small_Inverse = 0x7f090006; public static final int Base_TextAppearance_AppCompat_Subhead = 0x7f09003e; public static final int Base_TextAppearance_AppCompat_Subhead_Inverse = 0x7f090007; public static final int Base_TextAppearance_AppCompat_Title = 0x7f09003f; public static final int Base_TextAppearance_AppCompat_Title_Inverse = 0x7f090008; public static final int Base_TextAppearance_AppCompat_Widget_ActionBar_Menu = 0x7f090040; public static final int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 0x7f090041; public static final int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 0x7f090042; public static final int Base_TextAppearance_AppCompat_Widget_ActionBar_Title = 0x7f090043; public static final int Base_TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 0x7f090044; public static final int Base_TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 0x7f090045; public static final int Base_TextAppearance_AppCompat_Widget_ActionMode_Title = 0x7f090046; public static final int Base_TextAppearance_AppCompat_Widget_Button = 0x7f090047; public static final int Base_TextAppearance_AppCompat_Widget_Button_Inverse = 0x7f090076; public static final int Base_TextAppearance_AppCompat_Widget_DropDownItem = 0x7f090087; public static final int Base_TextAppearance_AppCompat_Widget_PopupMenu_Large = 0x7f090048; public static final int Base_TextAppearance_AppCompat_Widget_PopupMenu_Small = 0x7f090049; public static final int Base_TextAppearance_AppCompat_Widget_Switch = 0x7f09004a; public static final int Base_TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 0x7f09004b; public static final int Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 0x7f090088; public static final int Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 0x7f09004c; public static final int Base_TextAppearance_Widget_AppCompat_Toolbar_Title = 0x7f09004d; public static final int Base_ThemeOverlay_AppCompat = 0x7f090091; public static final int Base_ThemeOverlay_AppCompat_ActionBar = 0x7f090092; public static final int Base_ThemeOverlay_AppCompat_Dark = 0x7f090093; public static final int Base_ThemeOverlay_AppCompat_Dark_ActionBar = 0x7f090094; public static final int Base_ThemeOverlay_AppCompat_Light = 0x7f090095; public static final int Base_Theme_AppCompat = 0x7f09004e; public static final int Base_Theme_AppCompat_CompactMenu = 0x7f090089; public static final int Base_Theme_AppCompat_Dialog = 0x7f090009; public static final int Base_Theme_AppCompat_DialogWhenLarge = 0x7f090001; public static final int Base_Theme_AppCompat_Dialog_Alert = 0x7f09008a; public static final int Base_Theme_AppCompat_Dialog_FixedSize = 0x7f09008b; public static final int Base_Theme_AppCompat_Dialog_MinWidth = 0x7f09008c; public static final int Base_Theme_AppCompat_Light = 0x7f09004f; public static final int Base_Theme_AppCompat_Light_DarkActionBar = 0x7f09008d; public static final int Base_Theme_AppCompat_Light_Dialog = 0x7f09000a; public static final int Base_Theme_AppCompat_Light_DialogWhenLarge = 0x7f090002; public static final int Base_Theme_AppCompat_Light_Dialog_Alert = 0x7f09008e; public static final int Base_Theme_AppCompat_Light_Dialog_FixedSize = 0x7f09008f; public static final int Base_Theme_AppCompat_Light_Dialog_MinWidth = 0x7f090090; public static final int Base_V11_Theme_AppCompat_Dialog = 0x7f09000b; public static final int Base_V11_Theme_AppCompat_Light_Dialog = 0x7f09000c; public static final int Base_V12_Widget_AppCompat_AutoCompleteTextView = 0x7f090014; public static final int Base_V12_Widget_AppCompat_EditText = 0x7f090015; public static final int Base_V21_Theme_AppCompat = 0x7f090050; public static final int Base_V21_Theme_AppCompat_Dialog = 0x7f090051; public static final int Base_V21_Theme_AppCompat_Light = 0x7f090052; public static final int Base_V21_Theme_AppCompat_Light_Dialog = 0x7f090053; public static final int Base_V22_Theme_AppCompat = 0x7f090074; public static final int Base_V22_Theme_AppCompat_Light = 0x7f090075; public static final int Base_V23_Theme_AppCompat = 0x7f090077; public static final int Base_V23_Theme_AppCompat_Light = 0x7f090078; public static final int Base_V7_Theme_AppCompat = 0x7f090096; public static final int Base_V7_Theme_AppCompat_Dialog = 0x7f090097; public static final int Base_V7_Theme_AppCompat_Light = 0x7f090098; public static final int Base_V7_Theme_AppCompat_Light_Dialog = 0x7f090099; public static final int Base_V7_Widget_AppCompat_AutoCompleteTextView = 0x7f09009a; public static final int Base_V7_Widget_AppCompat_EditText = 0x7f09009b; public static final int Base_Widget_AppCompat_ActionBar = 0x7f09009c; public static final int Base_Widget_AppCompat_ActionBar_Solid = 0x7f09009d; public static final int Base_Widget_AppCompat_ActionBar_TabBar = 0x7f09009e; public static final int Base_Widget_AppCompat_ActionBar_TabText = 0x7f090054; public static final int Base_Widget_AppCompat_ActionBar_TabView = 0x7f090055; public static final int Base_Widget_AppCompat_ActionButton = 0x7f090056; public static final int Base_Widget_AppCompat_ActionButton_CloseMode = 0x7f090057; public static final int Base_Widget_AppCompat_ActionButton_Overflow = 0x7f090058; public static final int Base_Widget_AppCompat_ActionMode = 0x7f09009f; public static final int Base_Widget_AppCompat_ActivityChooserView = 0x7f0900a0; public static final int Base_Widget_AppCompat_AutoCompleteTextView = 0x7f090016; public static final int Base_Widget_AppCompat_Button = 0x7f090059; public static final int Base_Widget_AppCompat_ButtonBar = 0x7f09005d; public static final int Base_Widget_AppCompat_ButtonBar_AlertDialog = 0x7f0900a2; public static final int Base_Widget_AppCompat_Button_Borderless = 0x7f09005a; public static final int Base_Widget_AppCompat_Button_Borderless_Colored = 0x7f09005b; public static final int Base_Widget_AppCompat_Button_ButtonBar_AlertDialog = 0x7f0900a1; public static final int Base_Widget_AppCompat_Button_Colored = 0x7f090079; public static final int Base_Widget_AppCompat_Button_Small = 0x7f09005c; public static final int Base_Widget_AppCompat_CompoundButton_CheckBox = 0x7f09005e; public static final int Base_Widget_AppCompat_CompoundButton_RadioButton = 0x7f09005f; public static final int Base_Widget_AppCompat_CompoundButton_Switch = 0x7f0900a3; public static final int Base_Widget_AppCompat_DrawerArrowToggle = 0x7f090000; public static final int Base_Widget_AppCompat_DrawerArrowToggle_Common = 0x7f0900a4; public static final int Base_Widget_AppCompat_DropDownItem_Spinner = 0x7f090060; public static final int Base_Widget_AppCompat_EditText = 0x7f090017; public static final int Base_Widget_AppCompat_Light_ActionBar = 0x7f0900a5; public static final int Base_Widget_AppCompat_Light_ActionBar_Solid = 0x7f0900a6; public static final int Base_Widget_AppCompat_Light_ActionBar_TabBar = 0x7f0900a7; public static final int Base_Widget_AppCompat_Light_ActionBar_TabText = 0x7f090061; public static final int Base_Widget_AppCompat_Light_ActionBar_TabText_Inverse = 0x7f090062; public static final int Base_Widget_AppCompat_Light_ActionBar_TabView = 0x7f090063; public static final int Base_Widget_AppCompat_Light_PopupMenu = 0x7f090064; public static final int Base_Widget_AppCompat_Light_PopupMenu_Overflow = 0x7f090065; public static final int Base_Widget_AppCompat_ListPopupWindow = 0x7f090066; public static final int Base_Widget_AppCompat_ListView = 0x7f090067; public static final int Base_Widget_AppCompat_ListView_DropDown = 0x7f090068; public static final int Base_Widget_AppCompat_ListView_Menu = 0x7f090069; public static final int Base_Widget_AppCompat_PopupMenu = 0x7f09006a; public static final int Base_Widget_AppCompat_PopupMenu_Overflow = 0x7f09006b; public static final int Base_Widget_AppCompat_PopupWindow = 0x7f0900a8; public static final int Base_Widget_AppCompat_ProgressBar = 0x7f09000d; public static final int Base_Widget_AppCompat_ProgressBar_Horizontal = 0x7f09000e; public static final int Base_Widget_AppCompat_RatingBar = 0x7f09006c; public static final int Base_Widget_AppCompat_SearchView = 0x7f0900a9; public static final int Base_Widget_AppCompat_SearchView_ActionBar = 0x7f0900aa; public static final int Base_Widget_AppCompat_Spinner = 0x7f09006d; public static final int Base_Widget_AppCompat_Spinner_Underlined = 0x7f09006e; public static final int Base_Widget_AppCompat_TextView_SpinnerItem = 0x7f09006f; public static final int Base_Widget_AppCompat_Toolbar = 0x7f0900ab; public static final int Base_Widget_AppCompat_Toolbar_Button_Navigation = 0x7f090070; public static final int Platform_AppCompat = 0x7f09000f; public static final int Platform_AppCompat_Light = 0x7f090010; public static final int Platform_ThemeOverlay_AppCompat = 0x7f090071; public static final int Platform_ThemeOverlay_AppCompat_Dark = 0x7f090072; public static final int Platform_ThemeOverlay_AppCompat_Light = 0x7f090073; public static final int Platform_V11_AppCompat = 0x7f090011; public static final int Platform_V11_AppCompat_Light = 0x7f090012; public static final int Platform_V14_AppCompat = 0x7f090019; public static final int Platform_V14_AppCompat_Light = 0x7f09001a; public static final int Platform_Widget_AppCompat_Spinner = 0x7f090013; public static final int RtlOverlay_DialogWindowTitle_AppCompat = 0x7f090020; public static final int RtlOverlay_Widget_AppCompat_ActionBar_TitleItem = 0x7f090021; public static final int RtlOverlay_Widget_AppCompat_ActionButton_Overflow = 0x7f090022; public static final int RtlOverlay_Widget_AppCompat_DialogTitle_Icon = 0x7f090023; public static final int RtlOverlay_Widget_AppCompat_PopupMenuItem = 0x7f090024; public static final int RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup = 0x7f090025; public static final int RtlOverlay_Widget_AppCompat_PopupMenuItem_Text = 0x7f090026; public static final int RtlOverlay_Widget_AppCompat_SearchView_MagIcon = 0x7f09002c; public static final int RtlOverlay_Widget_AppCompat_Search_DropDown = 0x7f090027; public static final int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1 = 0x7f090028; public static final int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2 = 0x7f090029; public static final int RtlOverlay_Widget_AppCompat_Search_DropDown_Query = 0x7f09002a; public static final int RtlOverlay_Widget_AppCompat_Search_DropDown_Text = 0x7f09002b; public static final int TextAppearance_AppCompat = 0x7f0900ad; public static final int TextAppearance_AppCompat_Body1 = 0x7f0900ae; public static final int TextAppearance_AppCompat_Body2 = 0x7f0900af; public static final int TextAppearance_AppCompat_Button = 0x7f0900b0; public static final int TextAppearance_AppCompat_Caption = 0x7f0900b1; public static final int TextAppearance_AppCompat_Display1 = 0x7f0900b2; public static final int TextAppearance_AppCompat_Display2 = 0x7f0900b3; public static final int TextAppearance_AppCompat_Display3 = 0x7f0900b4; public static final int TextAppearance_AppCompat_Display4 = 0x7f0900b5; public static final int TextAppearance_AppCompat_Headline = 0x7f0900b6; public static final int TextAppearance_AppCompat_Inverse = 0x7f0900b7; public static final int TextAppearance_AppCompat_Large = 0x7f0900b8; public static final int TextAppearance_AppCompat_Large_Inverse = 0x7f0900b9; public static final int TextAppearance_AppCompat_Light_SearchResult_Subtitle = 0x7f0900ba; public static final int TextAppearance_AppCompat_Light_SearchResult_Title = 0x7f0900bb; public static final int TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 0x7f0900bc; public static final int TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 0x7f0900bd; public static final int TextAppearance_AppCompat_Medium = 0x7f0900be; public static final int TextAppearance_AppCompat_Medium_Inverse = 0x7f0900bf; public static final int TextAppearance_AppCompat_Menu = 0x7f0900c0; public static final int TextAppearance_AppCompat_SearchResult_Subtitle = 0x7f0900c1; public static final int TextAppearance_AppCompat_SearchResult_Title = 0x7f0900c2; public static final int TextAppearance_AppCompat_Small = 0x7f0900c3; public static final int TextAppearance_AppCompat_Small_Inverse = 0x7f0900c4; public static final int TextAppearance_AppCompat_Subhead = 0x7f0900c5; public static final int TextAppearance_AppCompat_Subhead_Inverse = 0x7f0900c6; public static final int TextAppearance_AppCompat_Title = 0x7f0900c7; public static final int TextAppearance_AppCompat_Title_Inverse = 0x7f0900c8; public static final int TextAppearance_AppCompat_Widget_ActionBar_Menu = 0x7f0900c9; public static final int TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 0x7f0900ca; public static final int TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 0x7f0900cb; public static final int TextAppearance_AppCompat_Widget_ActionBar_Title = 0x7f0900cc; public static final int TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 0x7f0900cd; public static final int TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 0x7f0900ce; public static final int TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse = 0x7f0900cf; public static final int TextAppearance_AppCompat_Widget_ActionMode_Title = 0x7f0900d0; public static final int TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse = 0x7f0900d1; public static final int TextAppearance_AppCompat_Widget_Button = 0x7f0900d2; public static final int TextAppearance_AppCompat_Widget_Button_Inverse = 0x7f0900d3; public static final int TextAppearance_AppCompat_Widget_DropDownItem = 0x7f0900d4; public static final int TextAppearance_AppCompat_Widget_PopupMenu_Large = 0x7f0900d5; public static final int TextAppearance_AppCompat_Widget_PopupMenu_Small = 0x7f0900d6; public static final int TextAppearance_AppCompat_Widget_Switch = 0x7f0900d7; public static final int TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 0x7f0900d8; public static final int TextAppearance_StatusBar_EventContent = 0x7f09001b; public static final int TextAppearance_StatusBar_EventContent_Info = 0x7f09001c; public static final int TextAppearance_StatusBar_EventContent_Line2 = 0x7f09001d; public static final int TextAppearance_StatusBar_EventContent_Time = 0x7f09001e; public static final int TextAppearance_StatusBar_EventContent_Title = 0x7f09001f; public static final int TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 0x7f0900d9; public static final int TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 0x7f0900da; public static final int TextAppearance_Widget_AppCompat_Toolbar_Title = 0x7f0900db; public static final int ThemeOverlay_AppCompat = 0x7f0900f1; public static final int ThemeOverlay_AppCompat_ActionBar = 0x7f0900f2; public static final int ThemeOverlay_AppCompat_Dark = 0x7f0900f3; public static final int ThemeOverlay_AppCompat_Dark_ActionBar = 0x7f0900f4; public static final int ThemeOverlay_AppCompat_Light = 0x7f0900f5; public static final int Theme_AppCompat = 0x7f0900dd; public static final int Theme_AppCompat_CompactMenu = 0x7f0900de; public static final int Theme_AppCompat_Dialog = 0x7f0900df; public static final int Theme_AppCompat_DialogWhenLarge = 0x7f0900e2; public static final int Theme_AppCompat_Dialog_Alert = 0x7f0900e0; public static final int Theme_AppCompat_Dialog_MinWidth = 0x7f0900e1; public static final int Theme_AppCompat_Light = 0x7f0900e3; public static final int Theme_AppCompat_Light_DarkActionBar = 0x7f0900e4; public static final int Theme_AppCompat_Light_Dialog = 0x7f0900e5; public static final int Theme_AppCompat_Light_DialogWhenLarge = 0x7f0900e8; public static final int Theme_AppCompat_Light_Dialog_Alert = 0x7f0900e6; public static final int Theme_AppCompat_Light_Dialog_MinWidth = 0x7f0900e7; public static final int Theme_AppCompat_Light_NoActionBar = 0x7f0900e9; public static final int Theme_AppCompat_NoActionBar = 0x7f0900ea; public static final int Widget_AppCompat_ActionBar = 0x7f0900f6; public static final int Widget_AppCompat_ActionBar_Solid = 0x7f0900f7; public static final int Widget_AppCompat_ActionBar_TabBar = 0x7f0900f8; public static final int Widget_AppCompat_ActionBar_TabText = 0x7f0900f9; public static final int Widget_AppCompat_ActionBar_TabView = 0x7f0900fa; public static final int Widget_AppCompat_ActionButton = 0x7f0900fb; public static final int Widget_AppCompat_ActionButton_CloseMode = 0x7f0900fc; public static final int Widget_AppCompat_ActionButton_Overflow = 0x7f0900fd; public static final int Widget_AppCompat_ActionMode = 0x7f0900fe; public static final int Widget_AppCompat_ActivityChooserView = 0x7f0900ff; public static final int Widget_AppCompat_AutoCompleteTextView = 0x7f090100; public static final int Widget_AppCompat_Button = 0x7f090101; public static final int Widget_AppCompat_ButtonBar = 0x7f090107; public static final int Widget_AppCompat_ButtonBar_AlertDialog = 0x7f090108; public static final int Widget_AppCompat_Button_Borderless = 0x7f090102; public static final int Widget_AppCompat_Button_Borderless_Colored = 0x7f090103; public static final int Widget_AppCompat_Button_ButtonBar_AlertDialog = 0x7f090104; public static final int Widget_AppCompat_Button_Colored = 0x7f090105; public static final int Widget_AppCompat_Button_Small = 0x7f090106; public static final int Widget_AppCompat_CompoundButton_CheckBox = 0x7f090109; public static final int Widget_AppCompat_CompoundButton_RadioButton = 0x7f09010a; public static final int Widget_AppCompat_CompoundButton_Switch = 0x7f09010b; public static final int Widget_AppCompat_DrawerArrowToggle = 0x7f09010c; public static final int Widget_AppCompat_DropDownItem_Spinner = 0x7f09010d; public static final int Widget_AppCompat_EditText = 0x7f09010e; public static final int Widget_AppCompat_Light_ActionBar = 0x7f09010f; public static final int Widget_AppCompat_Light_ActionBar_Solid = 0x7f090110; public static final int Widget_AppCompat_Light_ActionBar_Solid_Inverse = 0x7f090111; public static final int Widget_AppCompat_Light_ActionBar_TabBar = 0x7f090112; public static final int Widget_AppCompat_Light_ActionBar_TabBar_Inverse = 0x7f090113; public static final int Widget_AppCompat_Light_ActionBar_TabText = 0x7f090114; public static final int Widget_AppCompat_Light_ActionBar_TabText_Inverse = 0x7f090115; public static final int Widget_AppCompat_Light_ActionBar_TabView = 0x7f090116; public static final int Widget_AppCompat_Light_ActionBar_TabView_Inverse = 0x7f090117; public static final int Widget_AppCompat_Light_ActionButton = 0x7f090118; public static final int Widget_AppCompat_Light_ActionButton_CloseMode = 0x7f090119; public static final int Widget_AppCompat_Light_ActionButton_Overflow = 0x7f09011a; public static final int Widget_AppCompat_Light_ActionMode_Inverse = 0x7f09011b; public static final int Widget_AppCompat_Light_ActivityChooserView = 0x7f09011c; public static final int Widget_AppCompat_Light_AutoCompleteTextView = 0x7f09011d; public static final int Widget_AppCompat_Light_DropDownItem_Spinner = 0x7f09011e; public static final int Widget_AppCompat_Light_ListPopupWindow = 0x7f09011f; public static final int Widget_AppCompat_Light_ListView_DropDown = 0x7f090120; public static final int Widget_AppCompat_Light_PopupMenu = 0x7f090121; public static final int Widget_AppCompat_Light_PopupMenu_Overflow = 0x7f090122; public static final int Widget_AppCompat_Light_SearchView = 0x7f090123; public static final int Widget_AppCompat_Light_Spinner_DropDown_ActionBar = 0x7f090124; public static final int Widget_AppCompat_ListPopupWindow = 0x7f090125; public static final int Widget_AppCompat_ListView = 0x7f090126; public static final int Widget_AppCompat_ListView_DropDown = 0x7f090127; public static final int Widget_AppCompat_ListView_Menu = 0x7f090128; public static final int Widget_AppCompat_PopupMenu = 0x7f090129; public static final int Widget_AppCompat_PopupMenu_Overflow = 0x7f09012a; public static final int Widget_AppCompat_PopupWindow = 0x7f09012b; public static final int Widget_AppCompat_ProgressBar = 0x7f09012c; public static final int Widget_AppCompat_ProgressBar_Horizontal = 0x7f09012d; public static final int Widget_AppCompat_RatingBar = 0x7f09012e; public static final int Widget_AppCompat_SearchView = 0x7f09012f; public static final int Widget_AppCompat_SearchView_ActionBar = 0x7f090130; public static final int Widget_AppCompat_Spinner = 0x7f090131; public static final int Widget_AppCompat_Spinner_DropDown = 0x7f090132; public static final int Widget_AppCompat_Spinner_DropDown_ActionBar = 0x7f090133; public static final int Widget_AppCompat_Spinner_Underlined = 0x7f090134; public static final int Widget_AppCompat_TextView_SpinnerItem = 0x7f090135; public static final int Widget_AppCompat_Toolbar = 0x7f090136; public static final int Widget_AppCompat_Toolbar_Button_Navigation = 0x7f090137; } public static final class styleable { public static final int[] ActionBar = { 0x7f010001, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009, 0x7f01000a, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012, 0x7f010013, 0x7f010014, 0x7f010015, 0x7f010016, 0x7f010017, 0x7f010018, 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f010097 }; public static final int[] ActionBarLayout = { 0x010100b3 }; public static final int ActionBarLayout_android_layout_gravity = 0; public static final int ActionBar_background = 10; public static final int ActionBar_backgroundSplit = 12; public static final int ActionBar_backgroundStacked = 11; public static final int ActionBar_contentInsetEnd = 21; public static final int ActionBar_contentInsetLeft = 22; public static final int ActionBar_contentInsetRight = 23; public static final int ActionBar_contentInsetStart = 20; public static final int ActionBar_customNavigationLayout = 13; public static final int ActionBar_displayOptions = 3; public static final int ActionBar_divider = 9; public static final int ActionBar_elevation = 24; public static final int ActionBar_height = 0; public static final int ActionBar_hideOnContentScroll = 19; public static final int ActionBar_homeAsUpIndicator = 26; public static final int ActionBar_homeLayout = 14; public static final int ActionBar_icon = 7; public static final int ActionBar_indeterminateProgressStyle = 16; public static final int ActionBar_itemPadding = 18; public static final int ActionBar_logo = 8; public static final int ActionBar_navigationMode = 2; public static final int ActionBar_popupTheme = 25; public static final int ActionBar_progressBarPadding = 17; public static final int ActionBar_progressBarStyle = 15; public static final int ActionBar_subtitle = 4; public static final int ActionBar_subtitleTextStyle = 6; public static final int ActionBar_title = 1; public static final int ActionBar_titleTextStyle = 5; public static final int[] ActionMenuItemView = { 0x0101013f }; public static final int ActionMenuItemView_android_minWidth = 0; public static final int[] ActionMenuView = { }; public static final int[] ActionMode = { 0x7f010001, 0x7f010007, 0x7f010008, 0x7f01000c, 0x7f01000e, 0x7f01001c }; public static final int ActionMode_background = 3; public static final int ActionMode_backgroundSplit = 4; public static final int ActionMode_closeItemLayout = 5; public static final int ActionMode_height = 0; public static final int ActionMode_subtitleTextStyle = 2; public static final int ActionMode_titleTextStyle = 1; public static final int[] ActivityChooserView = { 0x7f01001d, 0x7f01001e }; public static final int ActivityChooserView_expandActivityOverflowButtonDrawable = 1; public static final int ActivityChooserView_initialActivityCount = 0; public static final int[] AlertDialog = { 0x010100f2, 0x7f01001f, 0x7f010020, 0x7f010021, 0x7f010022, 0x7f010023 }; public static final int AlertDialog_android_layout = 0; public static final int AlertDialog_buttonPanelSideLayout = 1; public static final int AlertDialog_listItemLayout = 5; public static final int AlertDialog_listLayout = 2; public static final int AlertDialog_multiChoiceItemLayout = 3; public static final int AlertDialog_singleChoiceItemLayout = 4; public static final int[] AppCompatTextView = { 0x01010034, 0x7f010024 }; public static final int AppCompatTextView_android_textAppearance = 0; public static final int AppCompatTextView_textAllCaps = 1; public static final int[] CompoundButton = { 0x01010107, 0x7f010025, 0x7f010026 }; public static final int CompoundButton_android_button = 0; public static final int CompoundButton_buttonTint = 1; public static final int CompoundButton_buttonTintMode = 2; public static final int[] DrawerArrowToggle = { 0x7f010027, 0x7f010028, 0x7f010029, 0x7f01002a, 0x7f01002b, 0x7f01002c, 0x7f01002d, 0x7f01002e }; public static final int DrawerArrowToggle_arrowHeadLength = 4; public static final int DrawerArrowToggle_arrowShaftLength = 5; public static final int DrawerArrowToggle_barLength = 6; public static final int DrawerArrowToggle_color = 0; public static final int DrawerArrowToggle_drawableSize = 2; public static final int DrawerArrowToggle_gapBetweenBars = 3; public static final int DrawerArrowToggle_spinBars = 1; public static final int DrawerArrowToggle_thickness = 7; public static final int[] LinearLayoutCompat = { 0x010100af, 0x010100c4, 0x01010126, 0x01010127, 0x01010128, 0x7f01000b, 0x7f010047, 0x7f010048, 0x7f010049 }; public static final int[] LinearLayoutCompat_Layout = { 0x010100b3, 0x010100f4, 0x010100f5, 0x01010181 }; public static final int LinearLayoutCompat_Layout_android_layout_gravity = 0; public static final int LinearLayoutCompat_Layout_android_layout_height = 2; public static final int LinearLayoutCompat_Layout_android_layout_weight = 3; public static final int LinearLayoutCompat_Layout_android_layout_width = 1; public static final int LinearLayoutCompat_android_baselineAligned = 2; public static final int LinearLayoutCompat_android_baselineAlignedChildIndex = 3; public static final int LinearLayoutCompat_android_gravity = 0; public static final int LinearLayoutCompat_android_orientation = 1; public static final int LinearLayoutCompat_android_weightSum = 4; public static final int LinearLayoutCompat_divider = 5; public static final int LinearLayoutCompat_dividerPadding = 8; public static final int LinearLayoutCompat_measureWithLargestChild = 6; public static final int LinearLayoutCompat_showDividers = 7; public static final int[] ListPopupWindow = { 0x010102ac, 0x010102ad }; public static final int ListPopupWindow_android_dropDownHorizontalOffset = 0; public static final int ListPopupWindow_android_dropDownVerticalOffset = 1; public static final int[] MenuGroup = { 0x0101000e, 0x010100d0, 0x01010194, 0x010101de, 0x010101df, 0x010101e0 }; public static final int MenuGroup_android_checkableBehavior = 5; public static final int MenuGroup_android_enabled = 0; public static final int MenuGroup_android_id = 1; public static final int MenuGroup_android_menuCategory = 3; public static final int MenuGroup_android_orderInCategory = 4; public static final int MenuGroup_android_visible = 2; public static final int[] MenuItem = { 0x01010002, 0x0101000e, 0x010100d0, 0x01010106, 0x01010194, 0x010101de, 0x010101df, 0x010101e1, 0x010101e2, 0x010101e3, 0x010101e4, 0x010101e5, 0x0101026f, 0x7f01004a, 0x7f01004b, 0x7f01004c, 0x7f01004d }; public static final int MenuItem_actionLayout = 14; public static final int MenuItem_actionProviderClass = 16; public static final int MenuItem_actionViewClass = 15; public static final int MenuItem_android_alphabeticShortcut = 9; public static final int MenuItem_android_checkable = 11; public static final int MenuItem_android_checked = 3; public static final int MenuItem_android_enabled = 1; public static final int MenuItem_android_icon = 0; public static final int MenuItem_android_id = 2; public static final int MenuItem_android_menuCategory = 5; public static final int MenuItem_android_numericShortcut = 10; public static final int MenuItem_android_onClick = 12; public static final int MenuItem_android_orderInCategory = 6; public static final int MenuItem_android_title = 7; public static final int MenuItem_android_titleCondensed = 8; public static final int MenuItem_android_visible = 4; public static final int MenuItem_showAsAction = 13; public static final int[] MenuView = { 0x010100ae, 0x0101012c, 0x0101012d, 0x0101012e, 0x0101012f, 0x01010130, 0x01010131, 0x7f01004e }; public static final int MenuView_android_headerBackground = 4; public static final int MenuView_android_horizontalDivider = 2; public static final int MenuView_android_itemBackground = 5; public static final int MenuView_android_itemIconDisabledAlpha = 6; public static final int MenuView_android_itemTextAppearance = 1; public static final int MenuView_android_verticalDivider = 3; public static final int MenuView_android_windowAnimationStyle = 0; public static final int MenuView_preserveIconSpacing = 7; public static final int[] PopupWindow = { 0x01010176, 0x7f01004f }; public static final int[] PopupWindowBackgroundState = { 0x7f010050 }; public static final int PopupWindowBackgroundState_state_above_anchor = 0; public static final int PopupWindow_android_popupBackground = 0; public static final int PopupWindow_overlapAnchor = 1; public static final int[] SearchView = { 0x010100da, 0x0101011f, 0x01010220, 0x01010264, 0x7f010055, 0x7f010056, 0x7f010057, 0x7f010058, 0x7f010059, 0x7f01005a, 0x7f01005b, 0x7f01005c, 0x7f01005d, 0x7f01005e, 0x7f01005f, 0x7f010060, 0x7f010061 }; public static final int SearchView_android_focusable = 0; public static final int SearchView_android_imeOptions = 3; public static final int SearchView_android_inputType = 2; public static final int SearchView_android_maxWidth = 1; public static final int SearchView_closeIcon = 8; public static final int SearchView_commitIcon = 13; public static final int SearchView_defaultQueryHint = 7; public static final int SearchView_goIcon = 9; public static final int SearchView_iconifiedByDefault = 5; public static final int SearchView_layout = 4; public static final int SearchView_queryBackground = 15; public static final int SearchView_queryHint = 6; public static final int SearchView_searchHintIcon = 11; public static final int SearchView_searchIcon = 10; public static final int SearchView_submitBackground = 16; public static final int SearchView_suggestionRowLayout = 14; public static final int SearchView_voiceIcon = 12; public static final int[] Spinner = { 0x01010176, 0x0101017b, 0x01010262, 0x7f01001b }; public static final int Spinner_android_dropDownWidth = 2; public static final int Spinner_android_popupBackground = 0; public static final int Spinner_android_prompt = 1; public static final int Spinner_popupTheme = 3; public static final int[] SwitchCompat = { 0x01010124, 0x01010125, 0x01010142, 0x7f010062, 0x7f010063, 0x7f010064, 0x7f010065, 0x7f010066, 0x7f010067, 0x7f010068 }; public static final int SwitchCompat_android_textOff = 1; public static final int SwitchCompat_android_textOn = 0; public static final int SwitchCompat_android_thumb = 2; public static final int SwitchCompat_showText = 9; public static final int SwitchCompat_splitTrack = 8; public static final int SwitchCompat_switchMinWidth = 6; public static final int SwitchCompat_switchPadding = 7; public static final int SwitchCompat_switchTextAppearance = 5; public static final int SwitchCompat_thumbTextPadding = 4; public static final int SwitchCompat_track = 3; public static final int[] TextAppearance = { 0x01010095, 0x01010096, 0x01010097, 0x01010098, 0x7f010024 }; public static final int TextAppearance_android_textColor = 3; public static final int TextAppearance_android_textSize = 0; public static final int TextAppearance_android_textStyle = 2; public static final int TextAppearance_android_typeface = 1; public static final int TextAppearance_textAllCaps = 4; public static final int[] Theme = { 0x01010057, 0x010100ae, 0x7f010069, 0x7f01006a, 0x7f01006b, 0x7f01006c, 0x7f01006d, 0x7f01006e, 0x7f01006f, 0x7f010070, 0x7f010071, 0x7f010072, 0x7f010073, 0x7f010074, 0x7f010075, 0x7f010076, 0x7f010077, 0x7f010078, 0x7f010079, 0x7f01007a, 0x7f01007b, 0x7f01007c, 0x7f01007d, 0x7f01007e, 0x7f01007f, 0x7f010080, 0x7f010081, 0x7f010082, 0x7f010083, 0x7f010084, 0x7f010085, 0x7f010086, 0x7f010087, 0x7f010088, 0x7f010089, 0x7f01008a, 0x7f01008b, 0x7f01008c, 0x7f01008d, 0x7f01008e, 0x7f01008f, 0x7f010090, 0x7f010091, 0x7f010092, 0x7f010093, 0x7f010094, 0x7f010095, 0x7f010096, 0x7f010097, 0x7f010098, 0x7f010099, 0x7f01009a, 0x7f01009b, 0x7f01009c, 0x7f01009d, 0x7f01009e, 0x7f01009f, 0x7f0100a0, 0x7f0100a1, 0x7f0100a2, 0x7f0100a3, 0x7f0100a4, 0x7f0100a5, 0x7f0100a6, 0x7f0100a7, 0x7f0100a8, 0x7f0100a9, 0x7f0100aa, 0x7f0100ab, 0x7f0100ac, 0x7f0100ad, 0x7f0100ae, 0x7f0100af, 0x7f0100b0, 0x7f0100b1, 0x7f0100b2, 0x7f0100b3, 0x7f0100b4, 0x7f0100b5, 0x7f0100b6, 0x7f0100b7, 0x7f0100b8, 0x7f0100b9, 0x7f0100ba, 0x7f0100bb, 0x7f0100bc, 0x7f0100bd, 0x7f0100be, 0x7f0100bf, 0x7f0100c0, 0x7f0100c1, 0x7f0100c2, 0x7f0100c3, 0x7f0100c4, 0x7f0100c5, 0x7f0100c6, 0x7f0100c7, 0x7f0100c8, 0x7f0100c9, 0x7f0100ca, 0x7f0100cb, 0x7f0100cc, 0x7f0100cd, 0x7f0100ce, 0x7f0100cf, 0x7f0100d0, 0x7f0100d1, 0x7f0100d2 }; public static final int Theme_actionBarDivider = 23; public static final int Theme_actionBarItemBackground = 24; public static final int Theme_actionBarPopupTheme = 17; public static final int Theme_actionBarSize = 22; public static final int Theme_actionBarSplitStyle = 19; public static final int Theme_actionBarStyle = 18; public static final int Theme_actionBarTabBarStyle = 13; public static final int Theme_actionBarTabStyle = 12; public static final int Theme_actionBarTabTextStyle = 14; public static final int Theme_actionBarTheme = 20; public static final int Theme_actionBarWidgetTheme = 21; public static final int Theme_actionButtonStyle = 49; public static final int Theme_actionDropDownStyle = 45; public static final int Theme_actionMenuTextAppearance = 25; public static final int Theme_actionMenuTextColor = 26; public static final int Theme_actionModeBackground = 29; public static final int Theme_actionModeCloseButtonStyle = 28; public static final int Theme_actionModeCloseDrawable = 31; public static final int Theme_actionModeCopyDrawable = 33; public static final int Theme_actionModeCutDrawable = 32; public static final int Theme_actionModeFindDrawable = 37; public static final int Theme_actionModePasteDrawable = 34; public static final int Theme_actionModePopupWindowStyle = 39; public static final int Theme_actionModeSelectAllDrawable = 35; public static final int Theme_actionModeShareDrawable = 36; public static final int Theme_actionModeSplitBackground = 30; public static final int Theme_actionModeStyle = 27; public static final int Theme_actionModeWebSearchDrawable = 38; public static final int Theme_actionOverflowButtonStyle = 15; public static final int Theme_actionOverflowMenuStyle = 16; public static final int Theme_activityChooserViewStyle = 57; public static final int Theme_alertDialogButtonGroupStyle = 91; public static final int Theme_alertDialogCenterButtons = 92; public static final int Theme_alertDialogStyle = 90; public static final int Theme_alertDialogTheme = 93; public static final int Theme_android_windowAnimationStyle = 1; public static final int Theme_android_windowIsFloating = 0; public static final int Theme_autoCompleteTextViewStyle = 98; public static final int Theme_borderlessButtonStyle = 54; public static final int Theme_buttonBarButtonStyle = 51; public static final int Theme_buttonBarNegativeButtonStyle = 96; public static final int Theme_buttonBarNeutralButtonStyle = 97; public static final int Theme_buttonBarPositiveButtonStyle = 95; public static final int Theme_buttonBarStyle = 50; public static final int Theme_buttonStyle = 99; public static final int Theme_buttonStyleSmall = 100; public static final int Theme_checkboxStyle = 101; public static final int Theme_checkedTextViewStyle = 102; public static final int Theme_colorAccent = 83; public static final int Theme_colorButtonNormal = 87; public static final int Theme_colorControlActivated = 85; public static final int Theme_colorControlHighlight = 86; public static final int Theme_colorControlNormal = 84; public static final int Theme_colorPrimary = 81; public static final int Theme_colorPrimaryDark = 82; public static final int Theme_colorSwitchThumbNormal = 88; public static final int Theme_controlBackground = 89; public static final int Theme_dialogPreferredPadding = 43; public static final int Theme_dialogTheme = 42; public static final int Theme_dividerHorizontal = 56; public static final int Theme_dividerVertical = 55; public static final int Theme_dropDownListViewStyle = 73; public static final int Theme_dropdownListPreferredItemHeight = 46; public static final int Theme_editTextBackground = 63; public static final int Theme_editTextColor = 62; public static final int Theme_editTextStyle = 103; public static final int Theme_homeAsUpIndicator = 48; public static final int Theme_listChoiceBackgroundIndicator = 80; public static final int Theme_listDividerAlertDialog = 44; public static final int Theme_listPopupWindowStyle = 74; public static final int Theme_listPreferredItemHeight = 68; public static final int Theme_listPreferredItemHeightLarge = 70; public static final int Theme_listPreferredItemHeightSmall = 69; public static final int Theme_listPreferredItemPaddingLeft = 71; public static final int Theme_listPreferredItemPaddingRight = 72; public static final int Theme_panelBackground = 77; public static final int Theme_panelMenuListTheme = 79; public static final int Theme_panelMenuListWidth = 78; public static final int Theme_popupMenuStyle = 60; public static final int Theme_popupWindowStyle = 61; public static final int Theme_radioButtonStyle = 104; public static final int Theme_ratingBarStyle = 105; public static final int Theme_searchViewStyle = 67; public static final int Theme_selectableItemBackground = 52; public static final int Theme_selectableItemBackgroundBorderless = 53; public static final int Theme_spinnerDropDownItemStyle = 47; public static final int Theme_spinnerStyle = 106; public static final int Theme_switchStyle = 107; public static final int Theme_textAppearanceLargePopupMenu = 40; public static final int Theme_textAppearanceListItem = 75; public static final int Theme_textAppearanceListItemSmall = 76; public static final int Theme_textAppearanceSearchResultSubtitle = 65; public static final int Theme_textAppearanceSearchResultTitle = 64; public static final int Theme_textAppearanceSmallPopupMenu = 41; public static final int Theme_textColorAlertDialogListItem = 94; public static final int Theme_textColorSearchUrl = 66; public static final int Theme_toolbarNavigationButtonStyle = 59; public static final int Theme_toolbarStyle = 58; public static final int Theme_windowActionBar = 2; public static final int Theme_windowActionBarOverlay = 4; public static final int Theme_windowActionModeOverlay = 5; public static final int Theme_windowFixedHeightMajor = 9; public static final int Theme_windowFixedHeightMinor = 7; public static final int Theme_windowFixedWidthMajor = 6; public static final int Theme_windowFixedWidthMinor = 8; public static final int Theme_windowMinWidthMajor = 10; public static final int Theme_windowMinWidthMinor = 11; public static final int Theme_windowNoTitle = 3; public static final int[] Toolbar = { 0x010100af, 0x01010140, 0x7f010003, 0x7f010006, 0x7f01000a, 0x7f010016, 0x7f010017, 0x7f010018, 0x7f010019, 0x7f01001b, 0x7f0100d3, 0x7f0100d4, 0x7f0100d5, 0x7f0100d6, 0x7f0100d7, 0x7f0100d8, 0x7f0100d9, 0x7f0100da, 0x7f0100db, 0x7f0100dc, 0x7f0100dd, 0x7f0100de, 0x7f0100df, 0x7f0100e0, 0x7f0100e1 }; public static final int Toolbar_android_gravity = 0; public static final int Toolbar_android_minHeight = 1; public static final int Toolbar_collapseContentDescription = 19; public static final int Toolbar_collapseIcon = 18; public static final int Toolbar_contentInsetEnd = 6; public static final int Toolbar_contentInsetLeft = 7; public static final int Toolbar_contentInsetRight = 8; public static final int Toolbar_contentInsetStart = 5; public static final int Toolbar_logo = 4; public static final int Toolbar_logoDescription = 22; public static final int Toolbar_maxButtonHeight = 17; public static final int Toolbar_navigationContentDescription = 21; public static final int Toolbar_navigationIcon = 20; public static final int Toolbar_popupTheme = 9; public static final int Toolbar_subtitle = 3; public static final int Toolbar_subtitleTextAppearance = 11; public static final int Toolbar_subtitleTextColor = 24; public static final int Toolbar_title = 2; public static final int Toolbar_titleMarginBottom = 16; public static final int Toolbar_titleMarginEnd = 14; public static final int Toolbar_titleMarginStart = 13; public static final int Toolbar_titleMarginTop = 15; public static final int Toolbar_titleMargins = 12; public static final int Toolbar_titleTextAppearance = 10; public static final int Toolbar_titleTextColor = 23; public static final int[] View = { 0x01010000, 0x010100da, 0x7f0100e2, 0x7f0100e3, 0x7f0100e4 }; public static final int[] ViewBackgroundHelper = { 0x010100d4, 0x7f0100e5, 0x7f0100e6 }; public static final int ViewBackgroundHelper_android_background = 0; public static final int ViewBackgroundHelper_backgroundTint = 1; public static final int ViewBackgroundHelper_backgroundTintMode = 2; public static final int[] ViewStubCompat = { 0x010100d0, 0x010100f2, 0x010100f3 }; public static final int ViewStubCompat_android_id = 0; public static final int ViewStubCompat_android_inflatedId = 2; public static final int ViewStubCompat_android_layout = 1; public static final int View_android_focusable = 1; public static final int View_android_theme = 0; public static final int View_paddingEnd = 3; public static final int View_paddingStart = 2; public static final int View_theme = 4; } } ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/generated/source/r/debug/android/support/v7/recyclerview/R.java ================================================ /* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package android.support.v7.recyclerview; public final class R { public static final class attr { public static final int layoutManager = 0x7f010051; public static final int reverseLayout = 0x7f010053; public static final int spanCount = 0x7f010052; public static final int stackFromEnd = 0x7f010054; } public static final class dimen { public static final int item_touch_helper_max_drag_scroll_per_frame = 0x7f080045; } public static final class id { public static final int item_touch_helper_previous_elevation = 0x7f0d0005; } public static final class styleable { public static final int[] RecyclerView = { 0x010100c4, 0x7f010051, 0x7f010052, 0x7f010053, 0x7f010054 }; public static final int RecyclerView_android_orientation = 0; public static final int RecyclerView_layoutManager = 1; public static final int RecyclerView_reverseLayout = 3; public static final int RecyclerView_spanCount = 2; public static final int RecyclerView_stackFromEnd = 4; } } ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/generated/source/r/debug/com/facebook/drawee/R.java ================================================ /* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package com.facebook.drawee; public final class R { public static final class attr { public static final int actualImageScaleType = 0x7f01003a; public static final int backgroundImage = 0x7f01003b; public static final int fadeDuration = 0x7f01002f; public static final int failureImage = 0x7f010035; public static final int failureImageScaleType = 0x7f010036; public static final int overlayImage = 0x7f01003c; public static final int placeholderImage = 0x7f010031; public static final int placeholderImageScaleType = 0x7f010032; public static final int pressedStateOverlayImage = 0x7f01003d; public static final int progressBarAutoRotateInterval = 0x7f010039; public static final int progressBarImage = 0x7f010037; public static final int progressBarImageScaleType = 0x7f010038; public static final int retryImage = 0x7f010033; public static final int retryImageScaleType = 0x7f010034; public static final int roundAsCircle = 0x7f01003e; public static final int roundBottomLeft = 0x7f010043; public static final int roundBottomRight = 0x7f010042; public static final int roundTopLeft = 0x7f010040; public static final int roundTopRight = 0x7f010041; public static final int roundWithOverlayColor = 0x7f010044; public static final int roundedCornerRadius = 0x7f01003f; public static final int roundingBorderColor = 0x7f010046; public static final int roundingBorderWidth = 0x7f010045; public static final int viewAspectRatio = 0x7f010030; } public static final class id { public static final int center = 0x7f0d0019; public static final int centerCrop = 0x7f0d001a; public static final int centerInside = 0x7f0d001b; public static final int fitCenter = 0x7f0d001c; public static final int fitEnd = 0x7f0d001d; public static final int fitStart = 0x7f0d001e; public static final int fitXY = 0x7f0d001f; public static final int focusCrop = 0x7f0d0020; public static final int none = 0x7f0d000f; } public static final class styleable { public static final int[] GenericDraweeView = { 0x7f01002f, 0x7f010030, 0x7f010031, 0x7f010032, 0x7f010033, 0x7f010034, 0x7f010035, 0x7f010036, 0x7f010037, 0x7f010038, 0x7f010039, 0x7f01003a, 0x7f01003b, 0x7f01003c, 0x7f01003d, 0x7f01003e, 0x7f01003f, 0x7f010040, 0x7f010041, 0x7f010042, 0x7f010043, 0x7f010044, 0x7f010045, 0x7f010046 }; public static final int GenericDraweeView_actualImageScaleType = 11; public static final int GenericDraweeView_backgroundImage = 12; public static final int GenericDraweeView_fadeDuration = 0; public static final int GenericDraweeView_failureImage = 6; public static final int GenericDraweeView_failureImageScaleType = 7; public static final int GenericDraweeView_overlayImage = 13; public static final int GenericDraweeView_placeholderImage = 2; public static final int GenericDraweeView_placeholderImageScaleType = 3; public static final int GenericDraweeView_pressedStateOverlayImage = 14; public static final int GenericDraweeView_progressBarAutoRotateInterval = 10; public static final int GenericDraweeView_progressBarImage = 8; public static final int GenericDraweeView_progressBarImageScaleType = 9; public static final int GenericDraweeView_retryImage = 4; public static final int GenericDraweeView_retryImageScaleType = 5; public static final int GenericDraweeView_roundAsCircle = 15; public static final int GenericDraweeView_roundBottomLeft = 20; public static final int GenericDraweeView_roundBottomRight = 19; public static final int GenericDraweeView_roundTopLeft = 17; public static final int GenericDraweeView_roundTopRight = 18; public static final int GenericDraweeView_roundWithOverlayColor = 21; public static final int GenericDraweeView_roundedCornerRadius = 16; public static final int GenericDraweeView_roundingBorderColor = 23; public static final int GenericDraweeView_roundingBorderWidth = 22; public static final int GenericDraweeView_viewAspectRatio = 1; } } ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/generated/source/r/debug/com/facebook/drawee/backends/pipeline/R.java ================================================ /* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package com.facebook.drawee.backends.pipeline; public final class R { public static final class attr { public static final int actualImageScaleType = 0x7f01003a; public static final int backgroundImage = 0x7f01003b; public static final int fadeDuration = 0x7f01002f; public static final int failureImage = 0x7f010035; public static final int failureImageScaleType = 0x7f010036; public static final int overlayImage = 0x7f01003c; public static final int placeholderImage = 0x7f010031; public static final int placeholderImageScaleType = 0x7f010032; public static final int pressedStateOverlayImage = 0x7f01003d; public static final int progressBarAutoRotateInterval = 0x7f010039; public static final int progressBarImage = 0x7f010037; public static final int progressBarImageScaleType = 0x7f010038; public static final int retryImage = 0x7f010033; public static final int retryImageScaleType = 0x7f010034; public static final int roundAsCircle = 0x7f01003e; public static final int roundBottomLeft = 0x7f010043; public static final int roundBottomRight = 0x7f010042; public static final int roundTopLeft = 0x7f010040; public static final int roundTopRight = 0x7f010041; public static final int roundWithOverlayColor = 0x7f010044; public static final int roundedCornerRadius = 0x7f01003f; public static final int roundingBorderColor = 0x7f010046; public static final int roundingBorderWidth = 0x7f010045; public static final int viewAspectRatio = 0x7f010030; } public static final class id { public static final int center = 0x7f0d0019; public static final int centerCrop = 0x7f0d001a; public static final int centerInside = 0x7f0d001b; public static final int fitCenter = 0x7f0d001c; public static final int fitEnd = 0x7f0d001d; public static final int fitStart = 0x7f0d001e; public static final int fitXY = 0x7f0d001f; public static final int focusCrop = 0x7f0d0020; public static final int none = 0x7f0d000f; } public static final class styleable { public static final int[] GenericDraweeView = { 0x7f01002f, 0x7f010030, 0x7f010031, 0x7f010032, 0x7f010033, 0x7f010034, 0x7f010035, 0x7f010036, 0x7f010037, 0x7f010038, 0x7f010039, 0x7f01003a, 0x7f01003b, 0x7f01003c, 0x7f01003d, 0x7f01003e, 0x7f01003f, 0x7f010040, 0x7f010041, 0x7f010042, 0x7f010043, 0x7f010044, 0x7f010045, 0x7f010046 }; public static final int GenericDraweeView_actualImageScaleType = 11; public static final int GenericDraweeView_backgroundImage = 12; public static final int GenericDraweeView_fadeDuration = 0; public static final int GenericDraweeView_failureImage = 6; public static final int GenericDraweeView_failureImageScaleType = 7; public static final int GenericDraweeView_overlayImage = 13; public static final int GenericDraweeView_placeholderImage = 2; public static final int GenericDraweeView_placeholderImageScaleType = 3; public static final int GenericDraweeView_pressedStateOverlayImage = 14; public static final int GenericDraweeView_progressBarAutoRotateInterval = 10; public static final int GenericDraweeView_progressBarImage = 8; public static final int GenericDraweeView_progressBarImageScaleType = 9; public static final int GenericDraweeView_retryImage = 4; public static final int GenericDraweeView_retryImageScaleType = 5; public static final int GenericDraweeView_roundAsCircle = 15; public static final int GenericDraweeView_roundBottomLeft = 20; public static final int GenericDraweeView_roundBottomRight = 19; public static final int GenericDraweeView_roundTopLeft = 17; public static final int GenericDraweeView_roundTopRight = 18; public static final int GenericDraweeView_roundWithOverlayColor = 21; public static final int GenericDraweeView_roundedCornerRadius = 16; public static final int GenericDraweeView_roundingBorderColor = 23; public static final int GenericDraweeView_roundingBorderWidth = 22; public static final int GenericDraweeView_viewAspectRatio = 1; } } ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/generated/source/r/debug/com/facebook/react/R.java ================================================ /* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package com.facebook.react; public final class R { public static final class anim { public static final int abc_fade_in = 0x7f050000; public static final int abc_fade_out = 0x7f050001; public static final int abc_grow_fade_in_from_bottom = 0x7f050002; public static final int abc_popup_enter = 0x7f050003; public static final int abc_popup_exit = 0x7f050004; public static final int abc_shrink_fade_out_from_bottom = 0x7f050005; public static final int abc_slide_in_bottom = 0x7f050006; public static final int abc_slide_in_top = 0x7f050007; public static final int abc_slide_out_bottom = 0x7f050008; public static final int abc_slide_out_top = 0x7f050009; public static final int catalyst_push_up_in = 0x7f05000a; public static final int catalyst_push_up_out = 0x7f05000b; public static final int slide_down = 0x7f05000c; public static final int slide_up = 0x7f05000d; } public static final class attr { public static final int actionBarDivider = 0x7f01007e; public static final int actionBarItemBackground = 0x7f01007f; public static final int actionBarPopupTheme = 0x7f010078; public static final int actionBarSize = 0x7f01007d; public static final int actionBarSplitStyle = 0x7f01007a; public static final int actionBarStyle = 0x7f010079; public static final int actionBarTabBarStyle = 0x7f010074; public static final int actionBarTabStyle = 0x7f010073; public static final int actionBarTabTextStyle = 0x7f010075; public static final int actionBarTheme = 0x7f01007b; public static final int actionBarWidgetTheme = 0x7f01007c; public static final int actionButtonStyle = 0x7f010098; public static final int actionDropDownStyle = 0x7f010094; public static final int actionLayout = 0x7f01004b; public static final int actionMenuTextAppearance = 0x7f010080; public static final int actionMenuTextColor = 0x7f010081; public static final int actionModeBackground = 0x7f010084; public static final int actionModeCloseButtonStyle = 0x7f010083; public static final int actionModeCloseDrawable = 0x7f010086; public static final int actionModeCopyDrawable = 0x7f010088; public static final int actionModeCutDrawable = 0x7f010087; public static final int actionModeFindDrawable = 0x7f01008c; public static final int actionModePasteDrawable = 0x7f010089; public static final int actionModePopupWindowStyle = 0x7f01008e; public static final int actionModeSelectAllDrawable = 0x7f01008a; public static final int actionModeShareDrawable = 0x7f01008b; public static final int actionModeSplitBackground = 0x7f010085; public static final int actionModeStyle = 0x7f010082; public static final int actionModeWebSearchDrawable = 0x7f01008d; public static final int actionOverflowButtonStyle = 0x7f010076; public static final int actionOverflowMenuStyle = 0x7f010077; public static final int actionProviderClass = 0x7f01004d; public static final int actionViewClass = 0x7f01004c; public static final int activityChooserViewStyle = 0x7f0100a0; public static final int actualImageScaleType = 0x7f01003a; public static final int alertDialogButtonGroupStyle = 0x7f0100c2; public static final int alertDialogCenterButtons = 0x7f0100c3; public static final int alertDialogStyle = 0x7f0100c1; public static final int alertDialogTheme = 0x7f0100c4; public static final int arrowHeadLength = 0x7f01002b; public static final int arrowShaftLength = 0x7f01002c; public static final int autoCompleteTextViewStyle = 0x7f0100c9; public static final int background = 0x7f01000c; public static final int backgroundImage = 0x7f01003b; public static final int backgroundSplit = 0x7f01000e; public static final int backgroundStacked = 0x7f01000d; public static final int backgroundTint = 0x7f0100e5; public static final int backgroundTintMode = 0x7f0100e6; public static final int barLength = 0x7f01002d; public static final int borderlessButtonStyle = 0x7f01009d; public static final int buttonBarButtonStyle = 0x7f01009a; public static final int buttonBarNegativeButtonStyle = 0x7f0100c7; public static final int buttonBarNeutralButtonStyle = 0x7f0100c8; public static final int buttonBarPositiveButtonStyle = 0x7f0100c6; public static final int buttonBarStyle = 0x7f010099; public static final int buttonPanelSideLayout = 0x7f01001f; public static final int buttonStyle = 0x7f0100ca; public static final int buttonStyleSmall = 0x7f0100cb; public static final int buttonTint = 0x7f010025; public static final int buttonTintMode = 0x7f010026; public static final int checkboxStyle = 0x7f0100cc; public static final int checkedTextViewStyle = 0x7f0100cd; public static final int closeIcon = 0x7f010059; public static final int closeItemLayout = 0x7f01001c; public static final int collapseContentDescription = 0x7f0100dc; public static final int collapseIcon = 0x7f0100db; public static final int color = 0x7f010027; public static final int colorAccent = 0x7f0100ba; public static final int colorButtonNormal = 0x7f0100be; public static final int colorControlActivated = 0x7f0100bc; public static final int colorControlHighlight = 0x7f0100bd; public static final int colorControlNormal = 0x7f0100bb; public static final int colorPrimary = 0x7f0100b8; public static final int colorPrimaryDark = 0x7f0100b9; public static final int colorSwitchThumbNormal = 0x7f0100bf; public static final int commitIcon = 0x7f01005e; public static final int contentInsetEnd = 0x7f010017; public static final int contentInsetLeft = 0x7f010018; public static final int contentInsetRight = 0x7f010019; public static final int contentInsetStart = 0x7f010016; public static final int controlBackground = 0x7f0100c0; public static final int customNavigationLayout = 0x7f01000f; public static final int defaultQueryHint = 0x7f010058; public static final int dialogPreferredPadding = 0x7f010092; public static final int dialogTheme = 0x7f010091; public static final int displayOptions = 0x7f010005; public static final int divider = 0x7f01000b; public static final int dividerHorizontal = 0x7f01009f; public static final int dividerPadding = 0x7f010049; public static final int dividerVertical = 0x7f01009e; public static final int drawableSize = 0x7f010029; public static final int drawerArrowStyle = 0x7f010000; public static final int dropDownListViewStyle = 0x7f0100b0; public static final int dropdownListPreferredItemHeight = 0x7f010095; public static final int editTextBackground = 0x7f0100a6; public static final int editTextColor = 0x7f0100a5; public static final int editTextStyle = 0x7f0100ce; public static final int elevation = 0x7f01001a; public static final int expandActivityOverflowButtonDrawable = 0x7f01001e; public static final int fadeDuration = 0x7f01002f; public static final int failureImage = 0x7f010035; public static final int failureImageScaleType = 0x7f010036; public static final int gapBetweenBars = 0x7f01002a; public static final int goIcon = 0x7f01005a; public static final int height = 0x7f010001; public static final int hideOnContentScroll = 0x7f010015; public static final int homeAsUpIndicator = 0x7f010097; public static final int homeLayout = 0x7f010010; public static final int icon = 0x7f010009; public static final int iconifiedByDefault = 0x7f010056; public static final int indeterminateProgressStyle = 0x7f010012; public static final int initialActivityCount = 0x7f01001d; public static final int isLightTheme = 0x7f010002; public static final int itemPadding = 0x7f010014; public static final int layout = 0x7f010055; public static final int layoutManager = 0x7f010051; public static final int listChoiceBackgroundIndicator = 0x7f0100b7; public static final int listDividerAlertDialog = 0x7f010093; public static final int listItemLayout = 0x7f010023; public static final int listLayout = 0x7f010020; public static final int listPopupWindowStyle = 0x7f0100b1; public static final int listPreferredItemHeight = 0x7f0100ab; public static final int listPreferredItemHeightLarge = 0x7f0100ad; public static final int listPreferredItemHeightSmall = 0x7f0100ac; public static final int listPreferredItemPaddingLeft = 0x7f0100ae; public static final int listPreferredItemPaddingRight = 0x7f0100af; public static final int logo = 0x7f01000a; public static final int logoDescription = 0x7f0100df; public static final int maxButtonHeight = 0x7f0100da; public static final int measureWithLargestChild = 0x7f010047; public static final int multiChoiceItemLayout = 0x7f010021; public static final int navigationContentDescription = 0x7f0100de; public static final int navigationIcon = 0x7f0100dd; public static final int navigationMode = 0x7f010004; public static final int overlapAnchor = 0x7f01004f; public static final int overlayImage = 0x7f01003c; public static final int paddingEnd = 0x7f0100e3; public static final int paddingStart = 0x7f0100e2; public static final int panelBackground = 0x7f0100b4; public static final int panelMenuListTheme = 0x7f0100b6; public static final int panelMenuListWidth = 0x7f0100b5; public static final int placeholderImage = 0x7f010031; public static final int placeholderImageScaleType = 0x7f010032; public static final int popupMenuStyle = 0x7f0100a3; public static final int popupTheme = 0x7f01001b; public static final int popupWindowStyle = 0x7f0100a4; public static final int preserveIconSpacing = 0x7f01004e; public static final int pressedStateOverlayImage = 0x7f01003d; public static final int progressBarAutoRotateInterval = 0x7f010039; public static final int progressBarImage = 0x7f010037; public static final int progressBarImageScaleType = 0x7f010038; public static final int progressBarPadding = 0x7f010013; public static final int progressBarStyle = 0x7f010011; public static final int queryBackground = 0x7f010060; public static final int queryHint = 0x7f010057; public static final int radioButtonStyle = 0x7f0100cf; public static final int ratingBarStyle = 0x7f0100d0; public static final int retryImage = 0x7f010033; public static final int retryImageScaleType = 0x7f010034; public static final int reverseLayout = 0x7f010053; public static final int roundAsCircle = 0x7f01003e; public static final int roundBottomLeft = 0x7f010043; public static final int roundBottomRight = 0x7f010042; public static final int roundTopLeft = 0x7f010040; public static final int roundTopRight = 0x7f010041; public static final int roundWithOverlayColor = 0x7f010044; public static final int roundedCornerRadius = 0x7f01003f; public static final int roundingBorderColor = 0x7f010046; public static final int roundingBorderWidth = 0x7f010045; public static final int searchHintIcon = 0x7f01005c; public static final int searchIcon = 0x7f01005b; public static final int searchViewStyle = 0x7f0100aa; public static final int selectableItemBackground = 0x7f01009b; public static final int selectableItemBackgroundBorderless = 0x7f01009c; public static final int showAsAction = 0x7f01004a; public static final int showDividers = 0x7f010048; public static final int showText = 0x7f010068; public static final int singleChoiceItemLayout = 0x7f010022; public static final int spanCount = 0x7f010052; public static final int spinBars = 0x7f010028; public static final int spinnerDropDownItemStyle = 0x7f010096; public static final int spinnerStyle = 0x7f0100d1; public static final int splitTrack = 0x7f010067; public static final int stackFromEnd = 0x7f010054; public static final int state_above_anchor = 0x7f010050; public static final int submitBackground = 0x7f010061; public static final int subtitle = 0x7f010006; public static final int subtitleTextAppearance = 0x7f0100d4; public static final int subtitleTextColor = 0x7f0100e1; public static final int subtitleTextStyle = 0x7f010008; public static final int suggestionRowLayout = 0x7f01005f; public static final int switchMinWidth = 0x7f010065; public static final int switchPadding = 0x7f010066; public static final int switchStyle = 0x7f0100d2; public static final int switchTextAppearance = 0x7f010064; public static final int textAllCaps = 0x7f010024; public static final int textAppearanceLargePopupMenu = 0x7f01008f; public static final int textAppearanceListItem = 0x7f0100b2; public static final int textAppearanceListItemSmall = 0x7f0100b3; public static final int textAppearanceSearchResultSubtitle = 0x7f0100a8; public static final int textAppearanceSearchResultTitle = 0x7f0100a7; public static final int textAppearanceSmallPopupMenu = 0x7f010090; public static final int textColorAlertDialogListItem = 0x7f0100c5; public static final int textColorSearchUrl = 0x7f0100a9; public static final int theme = 0x7f0100e4; public static final int thickness = 0x7f01002e; public static final int thumbTextPadding = 0x7f010063; public static final int title = 0x7f010003; public static final int titleMarginBottom = 0x7f0100d9; public static final int titleMarginEnd = 0x7f0100d7; public static final int titleMarginStart = 0x7f0100d6; public static final int titleMarginTop = 0x7f0100d8; public static final int titleMargins = 0x7f0100d5; public static final int titleTextAppearance = 0x7f0100d3; public static final int titleTextColor = 0x7f0100e0; public static final int titleTextStyle = 0x7f010007; public static final int toolbarNavigationButtonStyle = 0x7f0100a2; public static final int toolbarStyle = 0x7f0100a1; public static final int track = 0x7f010062; public static final int viewAspectRatio = 0x7f010030; public static final int voiceIcon = 0x7f01005d; public static final int windowActionBar = 0x7f010069; public static final int windowActionBarOverlay = 0x7f01006b; public static final int windowActionModeOverlay = 0x7f01006c; public static final int windowFixedHeightMajor = 0x7f010070; public static final int windowFixedHeightMinor = 0x7f01006e; public static final int windowFixedWidthMajor = 0x7f01006d; public static final int windowFixedWidthMinor = 0x7f01006f; public static final int windowMinWidthMajor = 0x7f010071; public static final int windowMinWidthMinor = 0x7f010072; public static final int windowNoTitle = 0x7f01006a; } public static final class bool { public static final int abc_action_bar_embed_tabs = 0x7f0a0002; public static final int abc_action_bar_embed_tabs_pre_jb = 0x7f0a0000; public static final int abc_action_bar_expanded_action_views_exclusive = 0x7f0a0003; public static final int abc_config_actionMenuItemAllCaps = 0x7f0a0004; public static final int abc_config_allowActionMenuItemTextWithIcon = 0x7f0a0001; public static final int abc_config_closeDialogWhenTouchOutside = 0x7f0a0005; public static final int abc_config_showMenuShortcutsWhenKeyboardPresent = 0x7f0a0006; } public static final class color { public static final int abc_background_cache_hint_selector_material_dark = 0x7f0c003b; public static final int abc_background_cache_hint_selector_material_light = 0x7f0c003c; public static final int abc_color_highlight_material = 0x7f0c003d; public static final int abc_input_method_navigation_guard = 0x7f0c0000; public static final int abc_primary_text_disable_only_material_dark = 0x7f0c003e; public static final int abc_primary_text_disable_only_material_light = 0x7f0c003f; public static final int abc_primary_text_material_dark = 0x7f0c0040; public static final int abc_primary_text_material_light = 0x7f0c0041; public static final int abc_search_url_text = 0x7f0c0042; public static final int abc_search_url_text_normal = 0x7f0c0001; public static final int abc_search_url_text_pressed = 0x7f0c0002; public static final int abc_search_url_text_selected = 0x7f0c0003; public static final int abc_secondary_text_material_dark = 0x7f0c0043; public static final int abc_secondary_text_material_light = 0x7f0c0044; public static final int accent_material_dark = 0x7f0c0004; public static final int accent_material_light = 0x7f0c0005; public static final int background_floating_material_dark = 0x7f0c0006; public static final int background_floating_material_light = 0x7f0c0007; public static final int background_material_dark = 0x7f0c0008; public static final int background_material_light = 0x7f0c0009; public static final int bright_foreground_disabled_material_dark = 0x7f0c000a; public static final int bright_foreground_disabled_material_light = 0x7f0c000b; public static final int bright_foreground_inverse_material_dark = 0x7f0c000c; public static final int bright_foreground_inverse_material_light = 0x7f0c000d; public static final int bright_foreground_material_dark = 0x7f0c000e; public static final int bright_foreground_material_light = 0x7f0c000f; public static final int button_material_dark = 0x7f0c0010; public static final int button_material_light = 0x7f0c0011; public static final int catalyst_redbox_background = 0x7f0c0012; public static final int dim_foreground_disabled_material_dark = 0x7f0c0013; public static final int dim_foreground_disabled_material_light = 0x7f0c0014; public static final int dim_foreground_material_dark = 0x7f0c0015; public static final int dim_foreground_material_light = 0x7f0c0016; public static final int foreground_material_dark = 0x7f0c0017; public static final int foreground_material_light = 0x7f0c0018; public static final int highlighted_text_material_dark = 0x7f0c0019; public static final int highlighted_text_material_light = 0x7f0c001a; public static final int hint_foreground_material_dark = 0x7f0c001b; public static final int hint_foreground_material_light = 0x7f0c001c; public static final int material_blue_grey_800 = 0x7f0c001d; public static final int material_blue_grey_900 = 0x7f0c001e; public static final int material_blue_grey_950 = 0x7f0c001f; public static final int material_deep_teal_200 = 0x7f0c0020; public static final int material_deep_teal_500 = 0x7f0c0021; public static final int material_grey_100 = 0x7f0c0022; public static final int material_grey_300 = 0x7f0c0023; public static final int material_grey_50 = 0x7f0c0024; public static final int material_grey_600 = 0x7f0c0025; public static final int material_grey_800 = 0x7f0c0026; public static final int material_grey_850 = 0x7f0c0027; public static final int material_grey_900 = 0x7f0c0028; public static final int primary_dark_material_dark = 0x7f0c0029; public static final int primary_dark_material_light = 0x7f0c002a; public static final int primary_material_dark = 0x7f0c002b; public static final int primary_material_light = 0x7f0c002c; public static final int primary_text_default_material_dark = 0x7f0c002d; public static final int primary_text_default_material_light = 0x7f0c002e; public static final int primary_text_disabled_material_dark = 0x7f0c002f; public static final int primary_text_disabled_material_light = 0x7f0c0030; public static final int ripple_material_dark = 0x7f0c0031; public static final int ripple_material_light = 0x7f0c0032; public static final int secondary_text_default_material_dark = 0x7f0c0033; public static final int secondary_text_default_material_light = 0x7f0c0034; public static final int secondary_text_disabled_material_dark = 0x7f0c0035; public static final int secondary_text_disabled_material_light = 0x7f0c0036; public static final int switch_thumb_disabled_material_dark = 0x7f0c0037; public static final int switch_thumb_disabled_material_light = 0x7f0c0038; public static final int switch_thumb_material_dark = 0x7f0c0045; public static final int switch_thumb_material_light = 0x7f0c0046; public static final int switch_thumb_normal_material_dark = 0x7f0c0039; public static final int switch_thumb_normal_material_light = 0x7f0c003a; } public static final class dimen { public static final int abc_action_bar_content_inset_material = 0x7f08000b; public static final int abc_action_bar_default_height_material = 0x7f080001; public static final int abc_action_bar_default_padding_end_material = 0x7f08000c; public static final int abc_action_bar_default_padding_start_material = 0x7f08000d; public static final int abc_action_bar_icon_vertical_padding_material = 0x7f08000f; public static final int abc_action_bar_overflow_padding_end_material = 0x7f080010; public static final int abc_action_bar_overflow_padding_start_material = 0x7f080011; public static final int abc_action_bar_progress_bar_size = 0x7f080002; public static final int abc_action_bar_stacked_max_height = 0x7f080012; public static final int abc_action_bar_stacked_tab_max_width = 0x7f080013; public static final int abc_action_bar_subtitle_bottom_margin_material = 0x7f080014; public static final int abc_action_bar_subtitle_top_margin_material = 0x7f080015; public static final int abc_action_button_min_height_material = 0x7f080016; public static final int abc_action_button_min_width_material = 0x7f080017; public static final int abc_action_button_min_width_overflow_material = 0x7f080018; public static final int abc_alert_dialog_button_bar_height = 0x7f080000; public static final int abc_button_inset_horizontal_material = 0x7f080019; public static final int abc_button_inset_vertical_material = 0x7f08001a; public static final int abc_button_padding_horizontal_material = 0x7f08001b; public static final int abc_button_padding_vertical_material = 0x7f08001c; public static final int abc_config_prefDialogWidth = 0x7f080005; public static final int abc_control_corner_material = 0x7f08001d; public static final int abc_control_inset_material = 0x7f08001e; public static final int abc_control_padding_material = 0x7f08001f; public static final int abc_dialog_list_padding_vertical_material = 0x7f080020; public static final int abc_dialog_min_width_major = 0x7f080021; public static final int abc_dialog_min_width_minor = 0x7f080022; public static final int abc_dialog_padding_material = 0x7f080023; public static final int abc_dialog_padding_top_material = 0x7f080024; public static final int abc_disabled_alpha_material_dark = 0x7f080025; public static final int abc_disabled_alpha_material_light = 0x7f080026; public static final int abc_dropdownitem_icon_width = 0x7f080027; public static final int abc_dropdownitem_text_padding_left = 0x7f080028; public static final int abc_dropdownitem_text_padding_right = 0x7f080029; public static final int abc_edit_text_inset_bottom_material = 0x7f08002a; public static final int abc_edit_text_inset_horizontal_material = 0x7f08002b; public static final int abc_edit_text_inset_top_material = 0x7f08002c; public static final int abc_floating_window_z = 0x7f08002d; public static final int abc_list_item_padding_horizontal_material = 0x7f08002e; public static final int abc_panel_menu_list_width = 0x7f08002f; public static final int abc_search_view_preferred_width = 0x7f080030; public static final int abc_search_view_text_min_width = 0x7f080006; public static final int abc_switch_padding = 0x7f08000e; public static final int abc_text_size_body_1_material = 0x7f080031; public static final int abc_text_size_body_2_material = 0x7f080032; public static final int abc_text_size_button_material = 0x7f080033; public static final int abc_text_size_caption_material = 0x7f080034; public static final int abc_text_size_display_1_material = 0x7f080035; public static final int abc_text_size_display_2_material = 0x7f080036; public static final int abc_text_size_display_3_material = 0x7f080037; public static final int abc_text_size_display_4_material = 0x7f080038; public static final int abc_text_size_headline_material = 0x7f080039; public static final int abc_text_size_large_material = 0x7f08003a; public static final int abc_text_size_medium_material = 0x7f08003b; public static final int abc_text_size_menu_material = 0x7f08003c; public static final int abc_text_size_small_material = 0x7f08003d; public static final int abc_text_size_subhead_material = 0x7f08003e; public static final int abc_text_size_subtitle_material_toolbar = 0x7f080003; public static final int abc_text_size_title_material = 0x7f08003f; public static final int abc_text_size_title_material_toolbar = 0x7f080004; public static final int dialog_fixed_height_major = 0x7f080007; public static final int dialog_fixed_height_minor = 0x7f080008; public static final int dialog_fixed_width_major = 0x7f080009; public static final int dialog_fixed_width_minor = 0x7f08000a; public static final int disabled_alpha_material_dark = 0x7f080040; public static final int disabled_alpha_material_light = 0x7f080041; public static final int highlight_alpha_material_colored = 0x7f080042; public static final int highlight_alpha_material_dark = 0x7f080043; public static final int highlight_alpha_material_light = 0x7f080044; public static final int item_touch_helper_max_drag_scroll_per_frame = 0x7f080045; public static final int notification_large_icon_height = 0x7f080046; public static final int notification_large_icon_width = 0x7f080047; public static final int notification_subtext_size = 0x7f080048; } public static final class drawable { public static final int abc_ab_share_pack_mtrl_alpha = 0x7f020000; public static final int abc_action_bar_item_background_material = 0x7f020001; public static final int abc_btn_borderless_material = 0x7f020002; public static final int abc_btn_check_material = 0x7f020003; public static final int abc_btn_check_to_on_mtrl_000 = 0x7f020004; public static final int abc_btn_check_to_on_mtrl_015 = 0x7f020005; public static final int abc_btn_colored_material = 0x7f020006; public static final int abc_btn_default_mtrl_shape = 0x7f020007; public static final int abc_btn_radio_material = 0x7f020008; public static final int abc_btn_radio_to_on_mtrl_000 = 0x7f020009; public static final int abc_btn_radio_to_on_mtrl_015 = 0x7f02000a; public static final int abc_btn_rating_star_off_mtrl_alpha = 0x7f02000b; public static final int abc_btn_rating_star_on_mtrl_alpha = 0x7f02000c; public static final int abc_btn_switch_to_on_mtrl_00001 = 0x7f02000d; public static final int abc_btn_switch_to_on_mtrl_00012 = 0x7f02000e; public static final int abc_cab_background_internal_bg = 0x7f02000f; public static final int abc_cab_background_top_material = 0x7f020010; public static final int abc_cab_background_top_mtrl_alpha = 0x7f020011; public static final int abc_control_background_material = 0x7f020012; public static final int abc_dialog_material_background_dark = 0x7f020013; public static final int abc_dialog_material_background_light = 0x7f020014; public static final int abc_edit_text_material = 0x7f020015; public static final int abc_ic_ab_back_mtrl_am_alpha = 0x7f020016; public static final int abc_ic_clear_mtrl_alpha = 0x7f020017; public static final int abc_ic_commit_search_api_mtrl_alpha = 0x7f020018; public static final int abc_ic_go_search_api_mtrl_alpha = 0x7f020019; public static final int abc_ic_menu_copy_mtrl_am_alpha = 0x7f02001a; public static final int abc_ic_menu_cut_mtrl_alpha = 0x7f02001b; public static final int abc_ic_menu_moreoverflow_mtrl_alpha = 0x7f02001c; public static final int abc_ic_menu_paste_mtrl_am_alpha = 0x7f02001d; public static final int abc_ic_menu_selectall_mtrl_alpha = 0x7f02001e; public static final int abc_ic_menu_share_mtrl_alpha = 0x7f02001f; public static final int abc_ic_search_api_mtrl_alpha = 0x7f020020; public static final int abc_ic_voice_search_api_mtrl_alpha = 0x7f020021; public static final int abc_item_background_holo_dark = 0x7f020022; public static final int abc_item_background_holo_light = 0x7f020023; public static final int abc_list_divider_mtrl_alpha = 0x7f020024; public static final int abc_list_focused_holo = 0x7f020025; public static final int abc_list_longpressed_holo = 0x7f020026; public static final int abc_list_pressed_holo_dark = 0x7f020027; public static final int abc_list_pressed_holo_light = 0x7f020028; public static final int abc_list_selector_background_transition_holo_dark = 0x7f020029; public static final int abc_list_selector_background_transition_holo_light = 0x7f02002a; public static final int abc_list_selector_disabled_holo_dark = 0x7f02002b; public static final int abc_list_selector_disabled_holo_light = 0x7f02002c; public static final int abc_list_selector_holo_dark = 0x7f02002d; public static final int abc_list_selector_holo_light = 0x7f02002e; public static final int abc_menu_hardkey_panel_mtrl_mult = 0x7f02002f; public static final int abc_popup_background_mtrl_mult = 0x7f020030; public static final int abc_ratingbar_full_material = 0x7f020031; public static final int abc_spinner_mtrl_am_alpha = 0x7f020032; public static final int abc_spinner_textfield_background_material = 0x7f020033; public static final int abc_switch_thumb_material = 0x7f020034; public static final int abc_switch_track_mtrl_alpha = 0x7f020035; public static final int abc_tab_indicator_material = 0x7f020036; public static final int abc_tab_indicator_mtrl_alpha = 0x7f020037; public static final int abc_text_cursor_material = 0x7f020038; public static final int abc_textfield_activated_mtrl_alpha = 0x7f020039; public static final int abc_textfield_default_mtrl_alpha = 0x7f02003a; public static final int abc_textfield_search_activated_mtrl_alpha = 0x7f02003b; public static final int abc_textfield_search_default_mtrl_alpha = 0x7f02003c; public static final int abc_textfield_search_material = 0x7f02003d; public static final int notification_template_icon_bg = 0x7f02003e; } public static final class id { public static final int action0 = 0x7f0d0057; public static final int action_bar = 0x7f0d0047; public static final int action_bar_activity_content = 0x7f0d0000; public static final int action_bar_container = 0x7f0d0046; public static final int action_bar_root = 0x7f0d0042; public static final int action_bar_spinner = 0x7f0d0001; public static final int action_bar_subtitle = 0x7f0d002b; public static final int action_bar_title = 0x7f0d002a; public static final int action_context_bar = 0x7f0d0048; public static final int action_divider = 0x7f0d005b; public static final int action_menu_divider = 0x7f0d0002; public static final int action_menu_presenter = 0x7f0d0003; public static final int action_mode_bar = 0x7f0d0044; public static final int action_mode_bar_stub = 0x7f0d0043; public static final int action_mode_close_button = 0x7f0d002c; public static final int activity_chooser_view_content = 0x7f0d002d; public static final int alertTitle = 0x7f0d0037; public static final int always = 0x7f0d0024; public static final int beginning = 0x7f0d0021; public static final int buttonPanel = 0x7f0d003d; public static final int cancel_action = 0x7f0d0058; public static final int catalyst_redbox_title = 0x7f0d0066; public static final int center = 0x7f0d0019; public static final int centerCrop = 0x7f0d001a; public static final int centerInside = 0x7f0d001b; public static final int checkbox = 0x7f0d003f; public static final int chronometer = 0x7f0d005e; public static final int collapseActionView = 0x7f0d0025; public static final int contentPanel = 0x7f0d0038; public static final int custom = 0x7f0d003c; public static final int customPanel = 0x7f0d003b; public static final int decor_content_parent = 0x7f0d0045; public static final int default_activity_button = 0x7f0d0030; public static final int disableHome = 0x7f0d000d; public static final int edit_query = 0x7f0d0049; public static final int end = 0x7f0d0022; public static final int end_padder = 0x7f0d0063; public static final int expand_activities_button = 0x7f0d002e; public static final int expanded_menu = 0x7f0d003e; public static final int fitCenter = 0x7f0d001c; public static final int fitEnd = 0x7f0d001d; public static final int fitStart = 0x7f0d001e; public static final int fitXY = 0x7f0d001f; public static final int focusCrop = 0x7f0d0020; public static final int fps_text = 0x7f0d0056; public static final int home = 0x7f0d0004; public static final int homeAsUp = 0x7f0d000e; public static final int icon = 0x7f0d0032; public static final int ifRoom = 0x7f0d0026; public static final int image = 0x7f0d002f; public static final int info = 0x7f0d0062; public static final int item_touch_helper_previous_elevation = 0x7f0d0005; public static final int line1 = 0x7f0d005c; public static final int line3 = 0x7f0d0060; public static final int listMode = 0x7f0d000a; public static final int list_item = 0x7f0d0031; public static final int media_actions = 0x7f0d005a; public static final int middle = 0x7f0d0023; public static final int multiply = 0x7f0d0014; public static final int never = 0x7f0d0027; public static final int none = 0x7f0d000f; public static final int normal = 0x7f0d000b; public static final int parentPanel = 0x7f0d0034; public static final int progress_circular = 0x7f0d0006; public static final int progress_horizontal = 0x7f0d0007; public static final int radio = 0x7f0d0041; public static final int rn_frame_file = 0x7f0d0065; public static final int rn_frame_method = 0x7f0d0064; public static final int rn_redbox_reloadjs = 0x7f0d0068; public static final int rn_redbox_stack = 0x7f0d0067; public static final int screen = 0x7f0d0015; public static final int scrollView = 0x7f0d0039; public static final int search_badge = 0x7f0d004b; public static final int search_bar = 0x7f0d004a; public static final int search_button = 0x7f0d004c; public static final int search_close_btn = 0x7f0d0051; public static final int search_edit_frame = 0x7f0d004d; public static final int search_go_btn = 0x7f0d0053; public static final int search_mag_icon = 0x7f0d004e; public static final int search_plate = 0x7f0d004f; public static final int search_src_text = 0x7f0d0050; public static final int search_voice_btn = 0x7f0d0054; public static final int select_dialog_listview = 0x7f0d0055; public static final int shortcut = 0x7f0d0040; public static final int showCustom = 0x7f0d0010; public static final int showHome = 0x7f0d0011; public static final int showTitle = 0x7f0d0012; public static final int split_action_bar = 0x7f0d0008; public static final int src_atop = 0x7f0d0016; public static final int src_in = 0x7f0d0017; public static final int src_over = 0x7f0d0018; public static final int status_bar_latest_event_content = 0x7f0d0059; public static final int submit_area = 0x7f0d0052; public static final int tabMode = 0x7f0d000c; public static final int text = 0x7f0d0061; public static final int text2 = 0x7f0d005f; public static final int textSpacerNoButtons = 0x7f0d003a; public static final int time = 0x7f0d005d; public static final int title = 0x7f0d0033; public static final int title_template = 0x7f0d0036; public static final int topPanel = 0x7f0d0035; public static final int up = 0x7f0d0009; public static final int useLogo = 0x7f0d0013; public static final int withText = 0x7f0d0028; public static final int wrap_content = 0x7f0d0029; } public static final class integer { public static final int abc_config_activityDefaultDur = 0x7f0b0001; public static final int abc_config_activityShortDur = 0x7f0b0002; public static final int abc_max_action_buttons = 0x7f0b0000; public static final int cancel_button_image_alpha = 0x7f0b0003; public static final int status_bar_notification_info_maxnum = 0x7f0b0004; } public static final class layout { public static final int abc_action_bar_title_item = 0x7f040000; public static final int abc_action_bar_up_container = 0x7f040001; public static final int abc_action_bar_view_list_nav_layout = 0x7f040002; public static final int abc_action_menu_item_layout = 0x7f040003; public static final int abc_action_menu_layout = 0x7f040004; public static final int abc_action_mode_bar = 0x7f040005; public static final int abc_action_mode_close_item_material = 0x7f040006; public static final int abc_activity_chooser_view = 0x7f040007; public static final int abc_activity_chooser_view_list_item = 0x7f040008; public static final int abc_alert_dialog_material = 0x7f040009; public static final int abc_dialog_title_material = 0x7f04000a; public static final int abc_expanded_menu_layout = 0x7f04000b; public static final int abc_list_menu_item_checkbox = 0x7f04000c; public static final int abc_list_menu_item_icon = 0x7f04000d; public static final int abc_list_menu_item_layout = 0x7f04000e; public static final int abc_list_menu_item_radio = 0x7f04000f; public static final int abc_popup_menu_item_layout = 0x7f040010; public static final int abc_screen_content_include = 0x7f040011; public static final int abc_screen_simple = 0x7f040012; public static final int abc_screen_simple_overlay_action_mode = 0x7f040013; public static final int abc_screen_toolbar = 0x7f040014; public static final int abc_search_dropdown_item_icons_2line = 0x7f040015; public static final int abc_search_view = 0x7f040016; public static final int abc_select_dialog_material = 0x7f040017; public static final int fps_view = 0x7f040018; public static final int notification_media_action = 0x7f040019; public static final int notification_media_cancel_action = 0x7f04001a; public static final int notification_template_big_media = 0x7f04001b; public static final int notification_template_big_media_narrow = 0x7f04001c; public static final int notification_template_lines = 0x7f04001d; public static final int notification_template_media = 0x7f04001e; public static final int notification_template_part_chronometer = 0x7f04001f; public static final int notification_template_part_time = 0x7f040020; public static final int redbox_item_frame = 0x7f040021; public static final int redbox_item_title = 0x7f040022; public static final int redbox_view = 0x7f040023; public static final int select_dialog_item_material = 0x7f040024; public static final int select_dialog_multichoice_material = 0x7f040025; public static final int select_dialog_singlechoice_material = 0x7f040026; public static final int support_simple_spinner_dropdown_item = 0x7f040027; } public static final class string { public static final int abc_action_bar_home_description = 0x7f070000; public static final int abc_action_bar_home_description_format = 0x7f070001; public static final int abc_action_bar_home_subtitle_description_format = 0x7f070002; public static final int abc_action_bar_up_description = 0x7f070003; public static final int abc_action_menu_overflow_description = 0x7f070004; public static final int abc_action_mode_done = 0x7f070005; public static final int abc_activity_chooser_view_see_all = 0x7f070006; public static final int abc_activitychooserview_choose_application = 0x7f070007; public static final int abc_search_hint = 0x7f070008; public static final int abc_searchview_description_clear = 0x7f070009; public static final int abc_searchview_description_query = 0x7f07000a; public static final int abc_searchview_description_search = 0x7f07000b; public static final int abc_searchview_description_submit = 0x7f07000c; public static final int abc_searchview_description_voice = 0x7f07000d; public static final int abc_shareactionprovider_share_with = 0x7f07000e; public static final int abc_shareactionprovider_share_with_application = 0x7f07000f; public static final int abc_toolbar_collapse_description = 0x7f070010; public static final int catalyst_debugjs = 0x7f070012; public static final int catalyst_debugjs_off = 0x7f07001b; public static final int catalyst_element_inspector = 0x7f070013; public static final int catalyst_element_inspector_off = 0x7f07001c; public static final int catalyst_hot_module_replacement = 0x7f07001d; public static final int catalyst_hot_module_replacement_off = 0x7f07001e; public static final int catalyst_jsload_error = 0x7f070014; public static final int catalyst_jsload_message = 0x7f070015; public static final int catalyst_jsload_title = 0x7f070016; public static final int catalyst_live_reload = 0x7f07001f; public static final int catalyst_live_reload_off = 0x7f070020; public static final int catalyst_perf_monitor = 0x7f070021; public static final int catalyst_perf_monitor_off = 0x7f070022; public static final int catalyst_reloadjs = 0x7f070017; public static final int catalyst_remotedbg_error = 0x7f070023; public static final int catalyst_remotedbg_message = 0x7f070024; public static final int catalyst_settings = 0x7f070018; public static final int catalyst_settings_title = 0x7f070019; public static final int catalyst_start_profile = 0x7f070025; public static final int catalyst_stop_profile = 0x7f070026; public static final int status_bar_notification_info_overflow = 0x7f070011; } public static final class style { public static final int AlertDialog_AppCompat = 0x7f09007a; public static final int AlertDialog_AppCompat_Light = 0x7f09007b; public static final int Animation_AppCompat_Dialog = 0x7f09007c; public static final int Animation_AppCompat_DropDownUp = 0x7f09007d; public static final int Animation_Catalyst_RedBox = 0x7f09007e; public static final int Base_AlertDialog_AppCompat = 0x7f090080; public static final int Base_AlertDialog_AppCompat_Light = 0x7f090081; public static final int Base_Animation_AppCompat_Dialog = 0x7f090082; public static final int Base_Animation_AppCompat_DropDownUp = 0x7f090083; public static final int Base_DialogWindowTitleBackground_AppCompat = 0x7f090085; public static final int Base_DialogWindowTitle_AppCompat = 0x7f090084; public static final int Base_TextAppearance_AppCompat = 0x7f09002d; public static final int Base_TextAppearance_AppCompat_Body1 = 0x7f09002e; public static final int Base_TextAppearance_AppCompat_Body2 = 0x7f09002f; public static final int Base_TextAppearance_AppCompat_Button = 0x7f090018; public static final int Base_TextAppearance_AppCompat_Caption = 0x7f090030; public static final int Base_TextAppearance_AppCompat_Display1 = 0x7f090031; public static final int Base_TextAppearance_AppCompat_Display2 = 0x7f090032; public static final int Base_TextAppearance_AppCompat_Display3 = 0x7f090033; public static final int Base_TextAppearance_AppCompat_Display4 = 0x7f090034; public static final int Base_TextAppearance_AppCompat_Headline = 0x7f090035; public static final int Base_TextAppearance_AppCompat_Inverse = 0x7f090003; public static final int Base_TextAppearance_AppCompat_Large = 0x7f090036; public static final int Base_TextAppearance_AppCompat_Large_Inverse = 0x7f090004; public static final int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 0x7f090037; public static final int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 0x7f090038; public static final int Base_TextAppearance_AppCompat_Medium = 0x7f090039; public static final int Base_TextAppearance_AppCompat_Medium_Inverse = 0x7f090005; public static final int Base_TextAppearance_AppCompat_Menu = 0x7f09003a; public static final int Base_TextAppearance_AppCompat_SearchResult = 0x7f090086; public static final int Base_TextAppearance_AppCompat_SearchResult_Subtitle = 0x7f09003b; public static final int Base_TextAppearance_AppCompat_SearchResult_Title = 0x7f09003c; public static final int Base_TextAppearance_AppCompat_Small = 0x7f09003d; public static final int Base_TextAppearance_AppCompat_Small_Inverse = 0x7f090006; public static final int Base_TextAppearance_AppCompat_Subhead = 0x7f09003e; public static final int Base_TextAppearance_AppCompat_Subhead_Inverse = 0x7f090007; public static final int Base_TextAppearance_AppCompat_Title = 0x7f09003f; public static final int Base_TextAppearance_AppCompat_Title_Inverse = 0x7f090008; public static final int Base_TextAppearance_AppCompat_Widget_ActionBar_Menu = 0x7f090040; public static final int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 0x7f090041; public static final int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 0x7f090042; public static final int Base_TextAppearance_AppCompat_Widget_ActionBar_Title = 0x7f090043; public static final int Base_TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 0x7f090044; public static final int Base_TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 0x7f090045; public static final int Base_TextAppearance_AppCompat_Widget_ActionMode_Title = 0x7f090046; public static final int Base_TextAppearance_AppCompat_Widget_Button = 0x7f090047; public static final int Base_TextAppearance_AppCompat_Widget_Button_Inverse = 0x7f090076; public static final int Base_TextAppearance_AppCompat_Widget_DropDownItem = 0x7f090087; public static final int Base_TextAppearance_AppCompat_Widget_PopupMenu_Large = 0x7f090048; public static final int Base_TextAppearance_AppCompat_Widget_PopupMenu_Small = 0x7f090049; public static final int Base_TextAppearance_AppCompat_Widget_Switch = 0x7f09004a; public static final int Base_TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 0x7f09004b; public static final int Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 0x7f090088; public static final int Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 0x7f09004c; public static final int Base_TextAppearance_Widget_AppCompat_Toolbar_Title = 0x7f09004d; public static final int Base_ThemeOverlay_AppCompat = 0x7f090091; public static final int Base_ThemeOverlay_AppCompat_ActionBar = 0x7f090092; public static final int Base_ThemeOverlay_AppCompat_Dark = 0x7f090093; public static final int Base_ThemeOverlay_AppCompat_Dark_ActionBar = 0x7f090094; public static final int Base_ThemeOverlay_AppCompat_Light = 0x7f090095; public static final int Base_Theme_AppCompat = 0x7f09004e; public static final int Base_Theme_AppCompat_CompactMenu = 0x7f090089; public static final int Base_Theme_AppCompat_Dialog = 0x7f090009; public static final int Base_Theme_AppCompat_DialogWhenLarge = 0x7f090001; public static final int Base_Theme_AppCompat_Dialog_Alert = 0x7f09008a; public static final int Base_Theme_AppCompat_Dialog_FixedSize = 0x7f09008b; public static final int Base_Theme_AppCompat_Dialog_MinWidth = 0x7f09008c; public static final int Base_Theme_AppCompat_Light = 0x7f09004f; public static final int Base_Theme_AppCompat_Light_DarkActionBar = 0x7f09008d; public static final int Base_Theme_AppCompat_Light_Dialog = 0x7f09000a; public static final int Base_Theme_AppCompat_Light_DialogWhenLarge = 0x7f090002; public static final int Base_Theme_AppCompat_Light_Dialog_Alert = 0x7f09008e; public static final int Base_Theme_AppCompat_Light_Dialog_FixedSize = 0x7f09008f; public static final int Base_Theme_AppCompat_Light_Dialog_MinWidth = 0x7f090090; public static final int Base_V11_Theme_AppCompat_Dialog = 0x7f09000b; public static final int Base_V11_Theme_AppCompat_Light_Dialog = 0x7f09000c; public static final int Base_V12_Widget_AppCompat_AutoCompleteTextView = 0x7f090014; public static final int Base_V12_Widget_AppCompat_EditText = 0x7f090015; public static final int Base_V21_Theme_AppCompat = 0x7f090050; public static final int Base_V21_Theme_AppCompat_Dialog = 0x7f090051; public static final int Base_V21_Theme_AppCompat_Light = 0x7f090052; public static final int Base_V21_Theme_AppCompat_Light_Dialog = 0x7f090053; public static final int Base_V22_Theme_AppCompat = 0x7f090074; public static final int Base_V22_Theme_AppCompat_Light = 0x7f090075; public static final int Base_V23_Theme_AppCompat = 0x7f090077; public static final int Base_V23_Theme_AppCompat_Light = 0x7f090078; public static final int Base_V7_Theme_AppCompat = 0x7f090096; public static final int Base_V7_Theme_AppCompat_Dialog = 0x7f090097; public static final int Base_V7_Theme_AppCompat_Light = 0x7f090098; public static final int Base_V7_Theme_AppCompat_Light_Dialog = 0x7f090099; public static final int Base_V7_Widget_AppCompat_AutoCompleteTextView = 0x7f09009a; public static final int Base_V7_Widget_AppCompat_EditText = 0x7f09009b; public static final int Base_Widget_AppCompat_ActionBar = 0x7f09009c; public static final int Base_Widget_AppCompat_ActionBar_Solid = 0x7f09009d; public static final int Base_Widget_AppCompat_ActionBar_TabBar = 0x7f09009e; public static final int Base_Widget_AppCompat_ActionBar_TabText = 0x7f090054; public static final int Base_Widget_AppCompat_ActionBar_TabView = 0x7f090055; public static final int Base_Widget_AppCompat_ActionButton = 0x7f090056; public static final int Base_Widget_AppCompat_ActionButton_CloseMode = 0x7f090057; public static final int Base_Widget_AppCompat_ActionButton_Overflow = 0x7f090058; public static final int Base_Widget_AppCompat_ActionMode = 0x7f09009f; public static final int Base_Widget_AppCompat_ActivityChooserView = 0x7f0900a0; public static final int Base_Widget_AppCompat_AutoCompleteTextView = 0x7f090016; public static final int Base_Widget_AppCompat_Button = 0x7f090059; public static final int Base_Widget_AppCompat_ButtonBar = 0x7f09005d; public static final int Base_Widget_AppCompat_ButtonBar_AlertDialog = 0x7f0900a2; public static final int Base_Widget_AppCompat_Button_Borderless = 0x7f09005a; public static final int Base_Widget_AppCompat_Button_Borderless_Colored = 0x7f09005b; public static final int Base_Widget_AppCompat_Button_ButtonBar_AlertDialog = 0x7f0900a1; public static final int Base_Widget_AppCompat_Button_Colored = 0x7f090079; public static final int Base_Widget_AppCompat_Button_Small = 0x7f09005c; public static final int Base_Widget_AppCompat_CompoundButton_CheckBox = 0x7f09005e; public static final int Base_Widget_AppCompat_CompoundButton_RadioButton = 0x7f09005f; public static final int Base_Widget_AppCompat_CompoundButton_Switch = 0x7f0900a3; public static final int Base_Widget_AppCompat_DrawerArrowToggle = 0x7f090000; public static final int Base_Widget_AppCompat_DrawerArrowToggle_Common = 0x7f0900a4; public static final int Base_Widget_AppCompat_DropDownItem_Spinner = 0x7f090060; public static final int Base_Widget_AppCompat_EditText = 0x7f090017; public static final int Base_Widget_AppCompat_Light_ActionBar = 0x7f0900a5; public static final int Base_Widget_AppCompat_Light_ActionBar_Solid = 0x7f0900a6; public static final int Base_Widget_AppCompat_Light_ActionBar_TabBar = 0x7f0900a7; public static final int Base_Widget_AppCompat_Light_ActionBar_TabText = 0x7f090061; public static final int Base_Widget_AppCompat_Light_ActionBar_TabText_Inverse = 0x7f090062; public static final int Base_Widget_AppCompat_Light_ActionBar_TabView = 0x7f090063; public static final int Base_Widget_AppCompat_Light_PopupMenu = 0x7f090064; public static final int Base_Widget_AppCompat_Light_PopupMenu_Overflow = 0x7f090065; public static final int Base_Widget_AppCompat_ListPopupWindow = 0x7f090066; public static final int Base_Widget_AppCompat_ListView = 0x7f090067; public static final int Base_Widget_AppCompat_ListView_DropDown = 0x7f090068; public static final int Base_Widget_AppCompat_ListView_Menu = 0x7f090069; public static final int Base_Widget_AppCompat_PopupMenu = 0x7f09006a; public static final int Base_Widget_AppCompat_PopupMenu_Overflow = 0x7f09006b; public static final int Base_Widget_AppCompat_PopupWindow = 0x7f0900a8; public static final int Base_Widget_AppCompat_ProgressBar = 0x7f09000d; public static final int Base_Widget_AppCompat_ProgressBar_Horizontal = 0x7f09000e; public static final int Base_Widget_AppCompat_RatingBar = 0x7f09006c; public static final int Base_Widget_AppCompat_SearchView = 0x7f0900a9; public static final int Base_Widget_AppCompat_SearchView_ActionBar = 0x7f0900aa; public static final int Base_Widget_AppCompat_Spinner = 0x7f09006d; public static final int Base_Widget_AppCompat_Spinner_Underlined = 0x7f09006e; public static final int Base_Widget_AppCompat_TextView_SpinnerItem = 0x7f09006f; public static final int Base_Widget_AppCompat_Toolbar = 0x7f0900ab; public static final int Base_Widget_AppCompat_Toolbar_Button_Navigation = 0x7f090070; public static final int DialogAnimation = 0x7f0900ac; public static final int Platform_AppCompat = 0x7f09000f; public static final int Platform_AppCompat_Light = 0x7f090010; public static final int Platform_ThemeOverlay_AppCompat = 0x7f090071; public static final int Platform_ThemeOverlay_AppCompat_Dark = 0x7f090072; public static final int Platform_ThemeOverlay_AppCompat_Light = 0x7f090073; public static final int Platform_V11_AppCompat = 0x7f090011; public static final int Platform_V11_AppCompat_Light = 0x7f090012; public static final int Platform_V14_AppCompat = 0x7f090019; public static final int Platform_V14_AppCompat_Light = 0x7f09001a; public static final int Platform_Widget_AppCompat_Spinner = 0x7f090013; public static final int RtlOverlay_DialogWindowTitle_AppCompat = 0x7f090020; public static final int RtlOverlay_Widget_AppCompat_ActionBar_TitleItem = 0x7f090021; public static final int RtlOverlay_Widget_AppCompat_ActionButton_Overflow = 0x7f090022; public static final int RtlOverlay_Widget_AppCompat_DialogTitle_Icon = 0x7f090023; public static final int RtlOverlay_Widget_AppCompat_PopupMenuItem = 0x7f090024; public static final int RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup = 0x7f090025; public static final int RtlOverlay_Widget_AppCompat_PopupMenuItem_Text = 0x7f090026; public static final int RtlOverlay_Widget_AppCompat_SearchView_MagIcon = 0x7f09002c; public static final int RtlOverlay_Widget_AppCompat_Search_DropDown = 0x7f090027; public static final int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1 = 0x7f090028; public static final int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2 = 0x7f090029; public static final int RtlOverlay_Widget_AppCompat_Search_DropDown_Query = 0x7f09002a; public static final int RtlOverlay_Widget_AppCompat_Search_DropDown_Text = 0x7f09002b; public static final int TextAppearance_AppCompat = 0x7f0900ad; public static final int TextAppearance_AppCompat_Body1 = 0x7f0900ae; public static final int TextAppearance_AppCompat_Body2 = 0x7f0900af; public static final int TextAppearance_AppCompat_Button = 0x7f0900b0; public static final int TextAppearance_AppCompat_Caption = 0x7f0900b1; public static final int TextAppearance_AppCompat_Display1 = 0x7f0900b2; public static final int TextAppearance_AppCompat_Display2 = 0x7f0900b3; public static final int TextAppearance_AppCompat_Display3 = 0x7f0900b4; public static final int TextAppearance_AppCompat_Display4 = 0x7f0900b5; public static final int TextAppearance_AppCompat_Headline = 0x7f0900b6; public static final int TextAppearance_AppCompat_Inverse = 0x7f0900b7; public static final int TextAppearance_AppCompat_Large = 0x7f0900b8; public static final int TextAppearance_AppCompat_Large_Inverse = 0x7f0900b9; public static final int TextAppearance_AppCompat_Light_SearchResult_Subtitle = 0x7f0900ba; public static final int TextAppearance_AppCompat_Light_SearchResult_Title = 0x7f0900bb; public static final int TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 0x7f0900bc; public static final int TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 0x7f0900bd; public static final int TextAppearance_AppCompat_Medium = 0x7f0900be; public static final int TextAppearance_AppCompat_Medium_Inverse = 0x7f0900bf; public static final int TextAppearance_AppCompat_Menu = 0x7f0900c0; public static final int TextAppearance_AppCompat_SearchResult_Subtitle = 0x7f0900c1; public static final int TextAppearance_AppCompat_SearchResult_Title = 0x7f0900c2; public static final int TextAppearance_AppCompat_Small = 0x7f0900c3; public static final int TextAppearance_AppCompat_Small_Inverse = 0x7f0900c4; public static final int TextAppearance_AppCompat_Subhead = 0x7f0900c5; public static final int TextAppearance_AppCompat_Subhead_Inverse = 0x7f0900c6; public static final int TextAppearance_AppCompat_Title = 0x7f0900c7; public static final int TextAppearance_AppCompat_Title_Inverse = 0x7f0900c8; public static final int TextAppearance_AppCompat_Widget_ActionBar_Menu = 0x7f0900c9; public static final int TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 0x7f0900ca; public static final int TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 0x7f0900cb; public static final int TextAppearance_AppCompat_Widget_ActionBar_Title = 0x7f0900cc; public static final int TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 0x7f0900cd; public static final int TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 0x7f0900ce; public static final int TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse = 0x7f0900cf; public static final int TextAppearance_AppCompat_Widget_ActionMode_Title = 0x7f0900d0; public static final int TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse = 0x7f0900d1; public static final int TextAppearance_AppCompat_Widget_Button = 0x7f0900d2; public static final int TextAppearance_AppCompat_Widget_Button_Inverse = 0x7f0900d3; public static final int TextAppearance_AppCompat_Widget_DropDownItem = 0x7f0900d4; public static final int TextAppearance_AppCompat_Widget_PopupMenu_Large = 0x7f0900d5; public static final int TextAppearance_AppCompat_Widget_PopupMenu_Small = 0x7f0900d6; public static final int TextAppearance_AppCompat_Widget_Switch = 0x7f0900d7; public static final int TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 0x7f0900d8; public static final int TextAppearance_StatusBar_EventContent = 0x7f09001b; public static final int TextAppearance_StatusBar_EventContent_Info = 0x7f09001c; public static final int TextAppearance_StatusBar_EventContent_Line2 = 0x7f09001d; public static final int TextAppearance_StatusBar_EventContent_Time = 0x7f09001e; public static final int TextAppearance_StatusBar_EventContent_Title = 0x7f09001f; public static final int TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 0x7f0900d9; public static final int TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 0x7f0900da; public static final int TextAppearance_Widget_AppCompat_Toolbar_Title = 0x7f0900db; public static final int Theme = 0x7f0900dc; public static final int ThemeOverlay_AppCompat = 0x7f0900f1; public static final int ThemeOverlay_AppCompat_ActionBar = 0x7f0900f2; public static final int ThemeOverlay_AppCompat_Dark = 0x7f0900f3; public static final int ThemeOverlay_AppCompat_Dark_ActionBar = 0x7f0900f4; public static final int ThemeOverlay_AppCompat_Light = 0x7f0900f5; public static final int Theme_AppCompat = 0x7f0900dd; public static final int Theme_AppCompat_CompactMenu = 0x7f0900de; public static final int Theme_AppCompat_Dialog = 0x7f0900df; public static final int Theme_AppCompat_DialogWhenLarge = 0x7f0900e2; public static final int Theme_AppCompat_Dialog_Alert = 0x7f0900e0; public static final int Theme_AppCompat_Dialog_MinWidth = 0x7f0900e1; public static final int Theme_AppCompat_Light = 0x7f0900e3; public static final int Theme_AppCompat_Light_DarkActionBar = 0x7f0900e4; public static final int Theme_AppCompat_Light_Dialog = 0x7f0900e5; public static final int Theme_AppCompat_Light_DialogWhenLarge = 0x7f0900e8; public static final int Theme_AppCompat_Light_Dialog_Alert = 0x7f0900e6; public static final int Theme_AppCompat_Light_Dialog_MinWidth = 0x7f0900e7; public static final int Theme_AppCompat_Light_NoActionBar = 0x7f0900e9; public static final int Theme_AppCompat_NoActionBar = 0x7f0900ea; public static final int Theme_Catalyst = 0x7f0900eb; public static final int Theme_Catalyst_RedBox = 0x7f0900ec; public static final int Theme_FullScreenDialog = 0x7f0900ed; public static final int Theme_FullScreenDialogAnimated = 0x7f0900ee; public static final int Theme_ReactNative_AppCompat_Light = 0x7f0900ef; public static final int Theme_ReactNative_AppCompat_Light_NoActionBar_FullScreen = 0x7f0900f0; public static final int Widget_AppCompat_ActionBar = 0x7f0900f6; public static final int Widget_AppCompat_ActionBar_Solid = 0x7f0900f7; public static final int Widget_AppCompat_ActionBar_TabBar = 0x7f0900f8; public static final int Widget_AppCompat_ActionBar_TabText = 0x7f0900f9; public static final int Widget_AppCompat_ActionBar_TabView = 0x7f0900fa; public static final int Widget_AppCompat_ActionButton = 0x7f0900fb; public static final int Widget_AppCompat_ActionButton_CloseMode = 0x7f0900fc; public static final int Widget_AppCompat_ActionButton_Overflow = 0x7f0900fd; public static final int Widget_AppCompat_ActionMode = 0x7f0900fe; public static final int Widget_AppCompat_ActivityChooserView = 0x7f0900ff; public static final int Widget_AppCompat_AutoCompleteTextView = 0x7f090100; public static final int Widget_AppCompat_Button = 0x7f090101; public static final int Widget_AppCompat_ButtonBar = 0x7f090107; public static final int Widget_AppCompat_ButtonBar_AlertDialog = 0x7f090108; public static final int Widget_AppCompat_Button_Borderless = 0x7f090102; public static final int Widget_AppCompat_Button_Borderless_Colored = 0x7f090103; public static final int Widget_AppCompat_Button_ButtonBar_AlertDialog = 0x7f090104; public static final int Widget_AppCompat_Button_Colored = 0x7f090105; public static final int Widget_AppCompat_Button_Small = 0x7f090106; public static final int Widget_AppCompat_CompoundButton_CheckBox = 0x7f090109; public static final int Widget_AppCompat_CompoundButton_RadioButton = 0x7f09010a; public static final int Widget_AppCompat_CompoundButton_Switch = 0x7f09010b; public static final int Widget_AppCompat_DrawerArrowToggle = 0x7f09010c; public static final int Widget_AppCompat_DropDownItem_Spinner = 0x7f09010d; public static final int Widget_AppCompat_EditText = 0x7f09010e; public static final int Widget_AppCompat_Light_ActionBar = 0x7f09010f; public static final int Widget_AppCompat_Light_ActionBar_Solid = 0x7f090110; public static final int Widget_AppCompat_Light_ActionBar_Solid_Inverse = 0x7f090111; public static final int Widget_AppCompat_Light_ActionBar_TabBar = 0x7f090112; public static final int Widget_AppCompat_Light_ActionBar_TabBar_Inverse = 0x7f090113; public static final int Widget_AppCompat_Light_ActionBar_TabText = 0x7f090114; public static final int Widget_AppCompat_Light_ActionBar_TabText_Inverse = 0x7f090115; public static final int Widget_AppCompat_Light_ActionBar_TabView = 0x7f090116; public static final int Widget_AppCompat_Light_ActionBar_TabView_Inverse = 0x7f090117; public static final int Widget_AppCompat_Light_ActionButton = 0x7f090118; public static final int Widget_AppCompat_Light_ActionButton_CloseMode = 0x7f090119; public static final int Widget_AppCompat_Light_ActionButton_Overflow = 0x7f09011a; public static final int Widget_AppCompat_Light_ActionMode_Inverse = 0x7f09011b; public static final int Widget_AppCompat_Light_ActivityChooserView = 0x7f09011c; public static final int Widget_AppCompat_Light_AutoCompleteTextView = 0x7f09011d; public static final int Widget_AppCompat_Light_DropDownItem_Spinner = 0x7f09011e; public static final int Widget_AppCompat_Light_ListPopupWindow = 0x7f09011f; public static final int Widget_AppCompat_Light_ListView_DropDown = 0x7f090120; public static final int Widget_AppCompat_Light_PopupMenu = 0x7f090121; public static final int Widget_AppCompat_Light_PopupMenu_Overflow = 0x7f090122; public static final int Widget_AppCompat_Light_SearchView = 0x7f090123; public static final int Widget_AppCompat_Light_Spinner_DropDown_ActionBar = 0x7f090124; public static final int Widget_AppCompat_ListPopupWindow = 0x7f090125; public static final int Widget_AppCompat_ListView = 0x7f090126; public static final int Widget_AppCompat_ListView_DropDown = 0x7f090127; public static final int Widget_AppCompat_ListView_Menu = 0x7f090128; public static final int Widget_AppCompat_PopupMenu = 0x7f090129; public static final int Widget_AppCompat_PopupMenu_Overflow = 0x7f09012a; public static final int Widget_AppCompat_PopupWindow = 0x7f09012b; public static final int Widget_AppCompat_ProgressBar = 0x7f09012c; public static final int Widget_AppCompat_ProgressBar_Horizontal = 0x7f09012d; public static final int Widget_AppCompat_RatingBar = 0x7f09012e; public static final int Widget_AppCompat_SearchView = 0x7f09012f; public static final int Widget_AppCompat_SearchView_ActionBar = 0x7f090130; public static final int Widget_AppCompat_Spinner = 0x7f090131; public static final int Widget_AppCompat_Spinner_DropDown = 0x7f090132; public static final int Widget_AppCompat_Spinner_DropDown_ActionBar = 0x7f090133; public static final int Widget_AppCompat_Spinner_Underlined = 0x7f090134; public static final int Widget_AppCompat_TextView_SpinnerItem = 0x7f090135; public static final int Widget_AppCompat_Toolbar = 0x7f090136; public static final int Widget_AppCompat_Toolbar_Button_Navigation = 0x7f090137; } public static final class styleable { public static final int[] ActionBar = { 0x7f010001, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009, 0x7f01000a, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012, 0x7f010013, 0x7f010014, 0x7f010015, 0x7f010016, 0x7f010017, 0x7f010018, 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f010097 }; public static final int[] ActionBarLayout = { 0x010100b3 }; public static final int ActionBarLayout_android_layout_gravity = 0; public static final int ActionBar_background = 10; public static final int ActionBar_backgroundSplit = 12; public static final int ActionBar_backgroundStacked = 11; public static final int ActionBar_contentInsetEnd = 21; public static final int ActionBar_contentInsetLeft = 22; public static final int ActionBar_contentInsetRight = 23; public static final int ActionBar_contentInsetStart = 20; public static final int ActionBar_customNavigationLayout = 13; public static final int ActionBar_displayOptions = 3; public static final int ActionBar_divider = 9; public static final int ActionBar_elevation = 24; public static final int ActionBar_height = 0; public static final int ActionBar_hideOnContentScroll = 19; public static final int ActionBar_homeAsUpIndicator = 26; public static final int ActionBar_homeLayout = 14; public static final int ActionBar_icon = 7; public static final int ActionBar_indeterminateProgressStyle = 16; public static final int ActionBar_itemPadding = 18; public static final int ActionBar_logo = 8; public static final int ActionBar_navigationMode = 2; public static final int ActionBar_popupTheme = 25; public static final int ActionBar_progressBarPadding = 17; public static final int ActionBar_progressBarStyle = 15; public static final int ActionBar_subtitle = 4; public static final int ActionBar_subtitleTextStyle = 6; public static final int ActionBar_title = 1; public static final int ActionBar_titleTextStyle = 5; public static final int[] ActionMenuItemView = { 0x0101013f }; public static final int ActionMenuItemView_android_minWidth = 0; public static final int[] ActionMenuView = { }; public static final int[] ActionMode = { 0x7f010001, 0x7f010007, 0x7f010008, 0x7f01000c, 0x7f01000e, 0x7f01001c }; public static final int ActionMode_background = 3; public static final int ActionMode_backgroundSplit = 4; public static final int ActionMode_closeItemLayout = 5; public static final int ActionMode_height = 0; public static final int ActionMode_subtitleTextStyle = 2; public static final int ActionMode_titleTextStyle = 1; public static final int[] ActivityChooserView = { 0x7f01001d, 0x7f01001e }; public static final int ActivityChooserView_expandActivityOverflowButtonDrawable = 1; public static final int ActivityChooserView_initialActivityCount = 0; public static final int[] AlertDialog = { 0x010100f2, 0x7f01001f, 0x7f010020, 0x7f010021, 0x7f010022, 0x7f010023 }; public static final int AlertDialog_android_layout = 0; public static final int AlertDialog_buttonPanelSideLayout = 1; public static final int AlertDialog_listItemLayout = 5; public static final int AlertDialog_listLayout = 2; public static final int AlertDialog_multiChoiceItemLayout = 3; public static final int AlertDialog_singleChoiceItemLayout = 4; public static final int[] AppCompatTextView = { 0x01010034, 0x7f010024 }; public static final int AppCompatTextView_android_textAppearance = 0; public static final int AppCompatTextView_textAllCaps = 1; public static final int[] CompoundButton = { 0x01010107, 0x7f010025, 0x7f010026 }; public static final int CompoundButton_android_button = 0; public static final int CompoundButton_buttonTint = 1; public static final int CompoundButton_buttonTintMode = 2; public static final int[] DrawerArrowToggle = { 0x7f010027, 0x7f010028, 0x7f010029, 0x7f01002a, 0x7f01002b, 0x7f01002c, 0x7f01002d, 0x7f01002e }; public static final int DrawerArrowToggle_arrowHeadLength = 4; public static final int DrawerArrowToggle_arrowShaftLength = 5; public static final int DrawerArrowToggle_barLength = 6; public static final int DrawerArrowToggle_color = 0; public static final int DrawerArrowToggle_drawableSize = 2; public static final int DrawerArrowToggle_gapBetweenBars = 3; public static final int DrawerArrowToggle_spinBars = 1; public static final int DrawerArrowToggle_thickness = 7; public static final int[] GenericDraweeView = { 0x7f01002f, 0x7f010030, 0x7f010031, 0x7f010032, 0x7f010033, 0x7f010034, 0x7f010035, 0x7f010036, 0x7f010037, 0x7f010038, 0x7f010039, 0x7f01003a, 0x7f01003b, 0x7f01003c, 0x7f01003d, 0x7f01003e, 0x7f01003f, 0x7f010040, 0x7f010041, 0x7f010042, 0x7f010043, 0x7f010044, 0x7f010045, 0x7f010046 }; public static final int GenericDraweeView_actualImageScaleType = 11; public static final int GenericDraweeView_backgroundImage = 12; public static final int GenericDraweeView_fadeDuration = 0; public static final int GenericDraweeView_failureImage = 6; public static final int GenericDraweeView_failureImageScaleType = 7; public static final int GenericDraweeView_overlayImage = 13; public static final int GenericDraweeView_placeholderImage = 2; public static final int GenericDraweeView_placeholderImageScaleType = 3; public static final int GenericDraweeView_pressedStateOverlayImage = 14; public static final int GenericDraweeView_progressBarAutoRotateInterval = 10; public static final int GenericDraweeView_progressBarImage = 8; public static final int GenericDraweeView_progressBarImageScaleType = 9; public static final int GenericDraweeView_retryImage = 4; public static final int GenericDraweeView_retryImageScaleType = 5; public static final int GenericDraweeView_roundAsCircle = 15; public static final int GenericDraweeView_roundBottomLeft = 20; public static final int GenericDraweeView_roundBottomRight = 19; public static final int GenericDraweeView_roundTopLeft = 17; public static final int GenericDraweeView_roundTopRight = 18; public static final int GenericDraweeView_roundWithOverlayColor = 21; public static final int GenericDraweeView_roundedCornerRadius = 16; public static final int GenericDraweeView_roundingBorderColor = 23; public static final int GenericDraweeView_roundingBorderWidth = 22; public static final int GenericDraweeView_viewAspectRatio = 1; public static final int[] LinearLayoutCompat = { 0x010100af, 0x010100c4, 0x01010126, 0x01010127, 0x01010128, 0x7f01000b, 0x7f010047, 0x7f010048, 0x7f010049 }; public static final int[] LinearLayoutCompat_Layout = { 0x010100b3, 0x010100f4, 0x010100f5, 0x01010181 }; public static final int LinearLayoutCompat_Layout_android_layout_gravity = 0; public static final int LinearLayoutCompat_Layout_android_layout_height = 2; public static final int LinearLayoutCompat_Layout_android_layout_weight = 3; public static final int LinearLayoutCompat_Layout_android_layout_width = 1; public static final int LinearLayoutCompat_android_baselineAligned = 2; public static final int LinearLayoutCompat_android_baselineAlignedChildIndex = 3; public static final int LinearLayoutCompat_android_gravity = 0; public static final int LinearLayoutCompat_android_orientation = 1; public static final int LinearLayoutCompat_android_weightSum = 4; public static final int LinearLayoutCompat_divider = 5; public static final int LinearLayoutCompat_dividerPadding = 8; public static final int LinearLayoutCompat_measureWithLargestChild = 6; public static final int LinearLayoutCompat_showDividers = 7; public static final int[] ListPopupWindow = { 0x010102ac, 0x010102ad }; public static final int ListPopupWindow_android_dropDownHorizontalOffset = 0; public static final int ListPopupWindow_android_dropDownVerticalOffset = 1; public static final int[] MenuGroup = { 0x0101000e, 0x010100d0, 0x01010194, 0x010101de, 0x010101df, 0x010101e0 }; public static final int MenuGroup_android_checkableBehavior = 5; public static final int MenuGroup_android_enabled = 0; public static final int MenuGroup_android_id = 1; public static final int MenuGroup_android_menuCategory = 3; public static final int MenuGroup_android_orderInCategory = 4; public static final int MenuGroup_android_visible = 2; public static final int[] MenuItem = { 0x01010002, 0x0101000e, 0x010100d0, 0x01010106, 0x01010194, 0x010101de, 0x010101df, 0x010101e1, 0x010101e2, 0x010101e3, 0x010101e4, 0x010101e5, 0x0101026f, 0x7f01004a, 0x7f01004b, 0x7f01004c, 0x7f01004d }; public static final int MenuItem_actionLayout = 14; public static final int MenuItem_actionProviderClass = 16; public static final int MenuItem_actionViewClass = 15; public static final int MenuItem_android_alphabeticShortcut = 9; public static final int MenuItem_android_checkable = 11; public static final int MenuItem_android_checked = 3; public static final int MenuItem_android_enabled = 1; public static final int MenuItem_android_icon = 0; public static final int MenuItem_android_id = 2; public static final int MenuItem_android_menuCategory = 5; public static final int MenuItem_android_numericShortcut = 10; public static final int MenuItem_android_onClick = 12; public static final int MenuItem_android_orderInCategory = 6; public static final int MenuItem_android_title = 7; public static final int MenuItem_android_titleCondensed = 8; public static final int MenuItem_android_visible = 4; public static final int MenuItem_showAsAction = 13; public static final int[] MenuView = { 0x010100ae, 0x0101012c, 0x0101012d, 0x0101012e, 0x0101012f, 0x01010130, 0x01010131, 0x7f01004e }; public static final int MenuView_android_headerBackground = 4; public static final int MenuView_android_horizontalDivider = 2; public static final int MenuView_android_itemBackground = 5; public static final int MenuView_android_itemIconDisabledAlpha = 6; public static final int MenuView_android_itemTextAppearance = 1; public static final int MenuView_android_verticalDivider = 3; public static final int MenuView_android_windowAnimationStyle = 0; public static final int MenuView_preserveIconSpacing = 7; public static final int[] PopupWindow = { 0x01010176, 0x7f01004f }; public static final int[] PopupWindowBackgroundState = { 0x7f010050 }; public static final int PopupWindowBackgroundState_state_above_anchor = 0; public static final int PopupWindow_android_popupBackground = 0; public static final int PopupWindow_overlapAnchor = 1; public static final int[] RecyclerView = { 0x010100c4, 0x7f010051, 0x7f010052, 0x7f010053, 0x7f010054 }; public static final int RecyclerView_android_orientation = 0; public static final int RecyclerView_layoutManager = 1; public static final int RecyclerView_reverseLayout = 3; public static final int RecyclerView_spanCount = 2; public static final int RecyclerView_stackFromEnd = 4; public static final int[] SearchView = { 0x010100da, 0x0101011f, 0x01010220, 0x01010264, 0x7f010055, 0x7f010056, 0x7f010057, 0x7f010058, 0x7f010059, 0x7f01005a, 0x7f01005b, 0x7f01005c, 0x7f01005d, 0x7f01005e, 0x7f01005f, 0x7f010060, 0x7f010061 }; public static final int SearchView_android_focusable = 0; public static final int SearchView_android_imeOptions = 3; public static final int SearchView_android_inputType = 2; public static final int SearchView_android_maxWidth = 1; public static final int SearchView_closeIcon = 8; public static final int SearchView_commitIcon = 13; public static final int SearchView_defaultQueryHint = 7; public static final int SearchView_goIcon = 9; public static final int SearchView_iconifiedByDefault = 5; public static final int SearchView_layout = 4; public static final int SearchView_queryBackground = 15; public static final int SearchView_queryHint = 6; public static final int SearchView_searchHintIcon = 11; public static final int SearchView_searchIcon = 10; public static final int SearchView_submitBackground = 16; public static final int SearchView_suggestionRowLayout = 14; public static final int SearchView_voiceIcon = 12; public static final int[] Spinner = { 0x01010176, 0x0101017b, 0x01010262, 0x7f01001b }; public static final int Spinner_android_dropDownWidth = 2; public static final int Spinner_android_popupBackground = 0; public static final int Spinner_android_prompt = 1; public static final int Spinner_popupTheme = 3; public static final int[] SwitchCompat = { 0x01010124, 0x01010125, 0x01010142, 0x7f010062, 0x7f010063, 0x7f010064, 0x7f010065, 0x7f010066, 0x7f010067, 0x7f010068 }; public static final int SwitchCompat_android_textOff = 1; public static final int SwitchCompat_android_textOn = 0; public static final int SwitchCompat_android_thumb = 2; public static final int SwitchCompat_showText = 9; public static final int SwitchCompat_splitTrack = 8; public static final int SwitchCompat_switchMinWidth = 6; public static final int SwitchCompat_switchPadding = 7; public static final int SwitchCompat_switchTextAppearance = 5; public static final int SwitchCompat_thumbTextPadding = 4; public static final int SwitchCompat_track = 3; public static final int[] TextAppearance = { 0x01010095, 0x01010096, 0x01010097, 0x01010098, 0x7f010024 }; public static final int TextAppearance_android_textColor = 3; public static final int TextAppearance_android_textSize = 0; public static final int TextAppearance_android_textStyle = 2; public static final int TextAppearance_android_typeface = 1; public static final int TextAppearance_textAllCaps = 4; public static final int[] Theme = { 0x01010057, 0x010100ae, 0x7f010069, 0x7f01006a, 0x7f01006b, 0x7f01006c, 0x7f01006d, 0x7f01006e, 0x7f01006f, 0x7f010070, 0x7f010071, 0x7f010072, 0x7f010073, 0x7f010074, 0x7f010075, 0x7f010076, 0x7f010077, 0x7f010078, 0x7f010079, 0x7f01007a, 0x7f01007b, 0x7f01007c, 0x7f01007d, 0x7f01007e, 0x7f01007f, 0x7f010080, 0x7f010081, 0x7f010082, 0x7f010083, 0x7f010084, 0x7f010085, 0x7f010086, 0x7f010087, 0x7f010088, 0x7f010089, 0x7f01008a, 0x7f01008b, 0x7f01008c, 0x7f01008d, 0x7f01008e, 0x7f01008f, 0x7f010090, 0x7f010091, 0x7f010092, 0x7f010093, 0x7f010094, 0x7f010095, 0x7f010096, 0x7f010097, 0x7f010098, 0x7f010099, 0x7f01009a, 0x7f01009b, 0x7f01009c, 0x7f01009d, 0x7f01009e, 0x7f01009f, 0x7f0100a0, 0x7f0100a1, 0x7f0100a2, 0x7f0100a3, 0x7f0100a4, 0x7f0100a5, 0x7f0100a6, 0x7f0100a7, 0x7f0100a8, 0x7f0100a9, 0x7f0100aa, 0x7f0100ab, 0x7f0100ac, 0x7f0100ad, 0x7f0100ae, 0x7f0100af, 0x7f0100b0, 0x7f0100b1, 0x7f0100b2, 0x7f0100b3, 0x7f0100b4, 0x7f0100b5, 0x7f0100b6, 0x7f0100b7, 0x7f0100b8, 0x7f0100b9, 0x7f0100ba, 0x7f0100bb, 0x7f0100bc, 0x7f0100bd, 0x7f0100be, 0x7f0100bf, 0x7f0100c0, 0x7f0100c1, 0x7f0100c2, 0x7f0100c3, 0x7f0100c4, 0x7f0100c5, 0x7f0100c6, 0x7f0100c7, 0x7f0100c8, 0x7f0100c9, 0x7f0100ca, 0x7f0100cb, 0x7f0100cc, 0x7f0100cd, 0x7f0100ce, 0x7f0100cf, 0x7f0100d0, 0x7f0100d1, 0x7f0100d2 }; public static final int Theme_actionBarDivider = 23; public static final int Theme_actionBarItemBackground = 24; public static final int Theme_actionBarPopupTheme = 17; public static final int Theme_actionBarSize = 22; public static final int Theme_actionBarSplitStyle = 19; public static final int Theme_actionBarStyle = 18; public static final int Theme_actionBarTabBarStyle = 13; public static final int Theme_actionBarTabStyle = 12; public static final int Theme_actionBarTabTextStyle = 14; public static final int Theme_actionBarTheme = 20; public static final int Theme_actionBarWidgetTheme = 21; public static final int Theme_actionButtonStyle = 49; public static final int Theme_actionDropDownStyle = 45; public static final int Theme_actionMenuTextAppearance = 25; public static final int Theme_actionMenuTextColor = 26; public static final int Theme_actionModeBackground = 29; public static final int Theme_actionModeCloseButtonStyle = 28; public static final int Theme_actionModeCloseDrawable = 31; public static final int Theme_actionModeCopyDrawable = 33; public static final int Theme_actionModeCutDrawable = 32; public static final int Theme_actionModeFindDrawable = 37; public static final int Theme_actionModePasteDrawable = 34; public static final int Theme_actionModePopupWindowStyle = 39; public static final int Theme_actionModeSelectAllDrawable = 35; public static final int Theme_actionModeShareDrawable = 36; public static final int Theme_actionModeSplitBackground = 30; public static final int Theme_actionModeStyle = 27; public static final int Theme_actionModeWebSearchDrawable = 38; public static final int Theme_actionOverflowButtonStyle = 15; public static final int Theme_actionOverflowMenuStyle = 16; public static final int Theme_activityChooserViewStyle = 57; public static final int Theme_alertDialogButtonGroupStyle = 91; public static final int Theme_alertDialogCenterButtons = 92; public static final int Theme_alertDialogStyle = 90; public static final int Theme_alertDialogTheme = 93; public static final int Theme_android_windowAnimationStyle = 1; public static final int Theme_android_windowIsFloating = 0; public static final int Theme_autoCompleteTextViewStyle = 98; public static final int Theme_borderlessButtonStyle = 54; public static final int Theme_buttonBarButtonStyle = 51; public static final int Theme_buttonBarNegativeButtonStyle = 96; public static final int Theme_buttonBarNeutralButtonStyle = 97; public static final int Theme_buttonBarPositiveButtonStyle = 95; public static final int Theme_buttonBarStyle = 50; public static final int Theme_buttonStyle = 99; public static final int Theme_buttonStyleSmall = 100; public static final int Theme_checkboxStyle = 101; public static final int Theme_checkedTextViewStyle = 102; public static final int Theme_colorAccent = 83; public static final int Theme_colorButtonNormal = 87; public static final int Theme_colorControlActivated = 85; public static final int Theme_colorControlHighlight = 86; public static final int Theme_colorControlNormal = 84; public static final int Theme_colorPrimary = 81; public static final int Theme_colorPrimaryDark = 82; public static final int Theme_colorSwitchThumbNormal = 88; public static final int Theme_controlBackground = 89; public static final int Theme_dialogPreferredPadding = 43; public static final int Theme_dialogTheme = 42; public static final int Theme_dividerHorizontal = 56; public static final int Theme_dividerVertical = 55; public static final int Theme_dropDownListViewStyle = 73; public static final int Theme_dropdownListPreferredItemHeight = 46; public static final int Theme_editTextBackground = 63; public static final int Theme_editTextColor = 62; public static final int Theme_editTextStyle = 103; public static final int Theme_homeAsUpIndicator = 48; public static final int Theme_listChoiceBackgroundIndicator = 80; public static final int Theme_listDividerAlertDialog = 44; public static final int Theme_listPopupWindowStyle = 74; public static final int Theme_listPreferredItemHeight = 68; public static final int Theme_listPreferredItemHeightLarge = 70; public static final int Theme_listPreferredItemHeightSmall = 69; public static final int Theme_listPreferredItemPaddingLeft = 71; public static final int Theme_listPreferredItemPaddingRight = 72; public static final int Theme_panelBackground = 77; public static final int Theme_panelMenuListTheme = 79; public static final int Theme_panelMenuListWidth = 78; public static final int Theme_popupMenuStyle = 60; public static final int Theme_popupWindowStyle = 61; public static final int Theme_radioButtonStyle = 104; public static final int Theme_ratingBarStyle = 105; public static final int Theme_searchViewStyle = 67; public static final int Theme_selectableItemBackground = 52; public static final int Theme_selectableItemBackgroundBorderless = 53; public static final int Theme_spinnerDropDownItemStyle = 47; public static final int Theme_spinnerStyle = 106; public static final int Theme_switchStyle = 107; public static final int Theme_textAppearanceLargePopupMenu = 40; public static final int Theme_textAppearanceListItem = 75; public static final int Theme_textAppearanceListItemSmall = 76; public static final int Theme_textAppearanceSearchResultSubtitle = 65; public static final int Theme_textAppearanceSearchResultTitle = 64; public static final int Theme_textAppearanceSmallPopupMenu = 41; public static final int Theme_textColorAlertDialogListItem = 94; public static final int Theme_textColorSearchUrl = 66; public static final int Theme_toolbarNavigationButtonStyle = 59; public static final int Theme_toolbarStyle = 58; public static final int Theme_windowActionBar = 2; public static final int Theme_windowActionBarOverlay = 4; public static final int Theme_windowActionModeOverlay = 5; public static final int Theme_windowFixedHeightMajor = 9; public static final int Theme_windowFixedHeightMinor = 7; public static final int Theme_windowFixedWidthMajor = 6; public static final int Theme_windowFixedWidthMinor = 8; public static final int Theme_windowMinWidthMajor = 10; public static final int Theme_windowMinWidthMinor = 11; public static final int Theme_windowNoTitle = 3; public static final int[] Toolbar = { 0x010100af, 0x01010140, 0x7f010003, 0x7f010006, 0x7f01000a, 0x7f010016, 0x7f010017, 0x7f010018, 0x7f010019, 0x7f01001b, 0x7f0100d3, 0x7f0100d4, 0x7f0100d5, 0x7f0100d6, 0x7f0100d7, 0x7f0100d8, 0x7f0100d9, 0x7f0100da, 0x7f0100db, 0x7f0100dc, 0x7f0100dd, 0x7f0100de, 0x7f0100df, 0x7f0100e0, 0x7f0100e1 }; public static final int Toolbar_android_gravity = 0; public static final int Toolbar_android_minHeight = 1; public static final int Toolbar_collapseContentDescription = 19; public static final int Toolbar_collapseIcon = 18; public static final int Toolbar_contentInsetEnd = 6; public static final int Toolbar_contentInsetLeft = 7; public static final int Toolbar_contentInsetRight = 8; public static final int Toolbar_contentInsetStart = 5; public static final int Toolbar_logo = 4; public static final int Toolbar_logoDescription = 22; public static final int Toolbar_maxButtonHeight = 17; public static final int Toolbar_navigationContentDescription = 21; public static final int Toolbar_navigationIcon = 20; public static final int Toolbar_popupTheme = 9; public static final int Toolbar_subtitle = 3; public static final int Toolbar_subtitleTextAppearance = 11; public static final int Toolbar_subtitleTextColor = 24; public static final int Toolbar_title = 2; public static final int Toolbar_titleMarginBottom = 16; public static final int Toolbar_titleMarginEnd = 14; public static final int Toolbar_titleMarginStart = 13; public static final int Toolbar_titleMarginTop = 15; public static final int Toolbar_titleMargins = 12; public static final int Toolbar_titleTextAppearance = 10; public static final int Toolbar_titleTextColor = 23; public static final int[] View = { 0x01010000, 0x010100da, 0x7f0100e2, 0x7f0100e3, 0x7f0100e4 }; public static final int[] ViewBackgroundHelper = { 0x010100d4, 0x7f0100e5, 0x7f0100e6 }; public static final int ViewBackgroundHelper_android_background = 0; public static final int ViewBackgroundHelper_backgroundTint = 1; public static final int ViewBackgroundHelper_backgroundTintMode = 2; public static final int[] ViewStubCompat = { 0x010100d0, 0x010100f2, 0x010100f3 }; public static final int ViewStubCompat_android_id = 0; public static final int ViewStubCompat_android_inflatedId = 2; public static final int ViewStubCompat_android_layout = 1; public static final int View_android_focusable = 1; public static final int View_android_theme = 0; public static final int View_paddingEnd = 3; public static final int View_paddingStart = 2; public static final int View_theme = 4; } public static final class xml { public static final int preferences = 0x7f060000; } } ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/generated/source/r/debug/com/thegaze/R.java ================================================ /* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package com.thegaze; public final class R { public static final class anim { public static final int abc_fade_in=0x7f050000; public static final int abc_fade_out=0x7f050001; public static final int abc_grow_fade_in_from_bottom=0x7f050002; public static final int abc_popup_enter=0x7f050003; public static final int abc_popup_exit=0x7f050004; public static final int abc_shrink_fade_out_from_bottom=0x7f050005; public static final int abc_slide_in_bottom=0x7f050006; public static final int abc_slide_in_top=0x7f050007; public static final int abc_slide_out_bottom=0x7f050008; public static final int abc_slide_out_top=0x7f050009; public static final int catalyst_push_up_in=0x7f05000a; public static final int catalyst_push_up_out=0x7f05000b; public static final int slide_down=0x7f05000c; public static final int slide_up=0x7f05000d; } public static final class attr { /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarDivider=0x7f01007e; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarItemBackground=0x7f01007f; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarPopupTheme=0x7f010078; /**

    May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

    May be one of the following constant values.

    ConstantValueDescription
    wrap_content0
    */ public static final int actionBarSize=0x7f01007d; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarSplitStyle=0x7f01007a; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarStyle=0x7f010079; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarTabBarStyle=0x7f010074; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarTabStyle=0x7f010073; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarTabTextStyle=0x7f010075; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarTheme=0x7f01007b; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarWidgetTheme=0x7f01007c; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionButtonStyle=0x7f010098; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionDropDownStyle=0x7f010094; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionLayout=0x7f01004b; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionMenuTextAppearance=0x7f010080; /**

    May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

    May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb". */ public static final int actionMenuTextColor=0x7f010081; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeBackground=0x7f010084; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeCloseButtonStyle=0x7f010083; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeCloseDrawable=0x7f010086; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeCopyDrawable=0x7f010088; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeCutDrawable=0x7f010087; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeFindDrawable=0x7f01008c; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModePasteDrawable=0x7f010089; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModePopupWindowStyle=0x7f01008e; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeSelectAllDrawable=0x7f01008a; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeShareDrawable=0x7f01008b; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeSplitBackground=0x7f010085; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeStyle=0x7f010082; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeWebSearchDrawable=0x7f01008d; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionOverflowButtonStyle=0x7f010076; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionOverflowMenuStyle=0x7f010077; /**

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int actionProviderClass=0x7f01004d; /**

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int actionViewClass=0x7f01004c; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int activityChooserViewStyle=0x7f0100a0; /**

    Must be one of the following constant values.

    ConstantValueDescription
    none-1
    fitXY0
    fitStart1
    fitCenter2
    fitEnd3
    center4
    centerInside5
    centerCrop6
    focusCrop7
    */ public static final int actualImageScaleType=0x7f01003a; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int alertDialogButtonGroupStyle=0x7f0100c2; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int alertDialogCenterButtons=0x7f0100c3; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int alertDialogStyle=0x7f0100c1; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int alertDialogTheme=0x7f0100c4; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int arrowHeadLength=0x7f01002b; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int arrowShaftLength=0x7f01002c; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int autoCompleteTextViewStyle=0x7f0100c9; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int background=0x7f01000c; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int backgroundImage=0x7f01003b; /**

    May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

    May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb". */ public static final int backgroundSplit=0x7f01000e; /**

    May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

    May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb". */ public static final int backgroundStacked=0x7f01000d; /**

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int backgroundTint=0x7f0100e5; /**

    Must be one of the following constant values.

    ConstantValueDescription
    src_over3
    src_in5
    src_atop9
    multiply14
    screen15
    */ public static final int backgroundTintMode=0x7f0100e6; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int barLength=0x7f01002d; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int borderlessButtonStyle=0x7f01009d; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int buttonBarButtonStyle=0x7f01009a; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int buttonBarNegativeButtonStyle=0x7f0100c7; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int buttonBarNeutralButtonStyle=0x7f0100c8; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int buttonBarPositiveButtonStyle=0x7f0100c6; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int buttonBarStyle=0x7f010099; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int buttonPanelSideLayout=0x7f01001f; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int buttonStyle=0x7f0100ca; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int buttonStyleSmall=0x7f0100cb; /**

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int buttonTint=0x7f010025; /**

    Must be one of the following constant values.

    ConstantValueDescription
    src_over3
    src_in5
    src_atop9
    multiply14
    screen15
    */ public static final int buttonTintMode=0x7f010026; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int checkboxStyle=0x7f0100cc; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int checkedTextViewStyle=0x7f0100cd; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int closeIcon=0x7f010059; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int closeItemLayout=0x7f01001c; /**

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int collapseContentDescription=0x7f0100dc; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int collapseIcon=0x7f0100db; /**

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int color=0x7f010027; /**

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int colorAccent=0x7f0100ba; /**

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int colorButtonNormal=0x7f0100be; /**

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int colorControlActivated=0x7f0100bc; /**

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int colorControlHighlight=0x7f0100bd; /**

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int colorControlNormal=0x7f0100bb; /**

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int colorPrimary=0x7f0100b8; /**

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int colorPrimaryDark=0x7f0100b9; /**

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int colorSwitchThumbNormal=0x7f0100bf; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int commitIcon=0x7f01005e; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int contentInsetEnd=0x7f010017; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int contentInsetLeft=0x7f010018; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int contentInsetRight=0x7f010019; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int contentInsetStart=0x7f010016; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int controlBackground=0x7f0100c0; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int customNavigationLayout=0x7f01000f; /**

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int defaultQueryHint=0x7f010058; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int dialogPreferredPadding=0x7f010092; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int dialogTheme=0x7f010091; /**

    Must be one or more (separated by '|') of the following constant values.

    ConstantValueDescription
    none0
    useLogo0x1
    showHome0x2
    homeAsUp0x4
    showTitle0x8
    showCustom0x10
    disableHome0x20
    */ public static final int displayOptions=0x7f010005; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int divider=0x7f01000b; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int dividerHorizontal=0x7f01009f; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int dividerPadding=0x7f010049; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int dividerVertical=0x7f01009e; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int drawableSize=0x7f010029; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int drawerArrowStyle=0x7f010000; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int dropDownListViewStyle=0x7f0100b0; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int dropdownListPreferredItemHeight=0x7f010095; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int editTextBackground=0x7f0100a6; /**

    May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

    May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb". */ public static final int editTextColor=0x7f0100a5; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int editTextStyle=0x7f0100ce; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int elevation=0x7f01001a; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int expandActivityOverflowButtonDrawable=0x7f01001e; /**

    Must be an integer value, such as "100".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int fadeDuration=0x7f01002f; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int failureImage=0x7f010035; /**

    Must be one of the following constant values.

    ConstantValueDescription
    none-1
    fitXY0
    fitStart1
    fitCenter2
    fitEnd3
    center4
    centerInside5
    centerCrop6
    focusCrop7
    */ public static final int failureImageScaleType=0x7f010036; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int gapBetweenBars=0x7f01002a; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int goIcon=0x7f01005a; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int height=0x7f010001; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int hideOnContentScroll=0x7f010015; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int homeAsUpIndicator=0x7f010097; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int homeLayout=0x7f010010; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int icon=0x7f010009; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int iconifiedByDefault=0x7f010056; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int indeterminateProgressStyle=0x7f010012; /**

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int initialActivityCount=0x7f01001d; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int isLightTheme=0x7f010002; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int itemPadding=0x7f010014; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int layout=0x7f010055; /**

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int layoutManager=0x7f010051; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int listChoiceBackgroundIndicator=0x7f0100b7; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int listDividerAlertDialog=0x7f010093; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int listItemLayout=0x7f010023; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int listLayout=0x7f010020; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int listPopupWindowStyle=0x7f0100b1; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int listPreferredItemHeight=0x7f0100ab; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int listPreferredItemHeightLarge=0x7f0100ad; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int listPreferredItemHeightSmall=0x7f0100ac; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int listPreferredItemPaddingLeft=0x7f0100ae; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int listPreferredItemPaddingRight=0x7f0100af; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int logo=0x7f01000a; /**

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int logoDescription=0x7f0100df; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int maxButtonHeight=0x7f0100da; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int measureWithLargestChild=0x7f010047; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int multiChoiceItemLayout=0x7f010021; /**

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int navigationContentDescription=0x7f0100de; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int navigationIcon=0x7f0100dd; /**

    Must be one of the following constant values.

    ConstantValueDescription
    normal0
    listMode1
    tabMode2
    */ public static final int navigationMode=0x7f010004; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int overlapAnchor=0x7f01004f; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int overlayImage=0x7f01003c; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int paddingEnd=0x7f0100e3; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int paddingStart=0x7f0100e2; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int panelBackground=0x7f0100b4; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int panelMenuListTheme=0x7f0100b6; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int panelMenuListWidth=0x7f0100b5; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int placeholderImage=0x7f010031; /**

    Must be one of the following constant values.

    ConstantValueDescription
    none-1
    fitXY0
    fitStart1
    fitCenter2
    fitEnd3
    center4
    centerInside5
    centerCrop6
    focusCrop7
    */ public static final int placeholderImageScaleType=0x7f010032; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int popupMenuStyle=0x7f0100a3; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int popupTheme=0x7f01001b; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int popupWindowStyle=0x7f0100a4; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int preserveIconSpacing=0x7f01004e; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int pressedStateOverlayImage=0x7f01003d; /**

    Must be an integer value, such as "100".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int progressBarAutoRotateInterval=0x7f010039; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int progressBarImage=0x7f010037; /**

    Must be one of the following constant values.

    ConstantValueDescription
    none-1
    fitXY0
    fitStart1
    fitCenter2
    fitEnd3
    center4
    centerInside5
    centerCrop6
    focusCrop7
    */ public static final int progressBarImageScaleType=0x7f010038; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int progressBarPadding=0x7f010013; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int progressBarStyle=0x7f010011; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int queryBackground=0x7f010060; /**

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int queryHint=0x7f010057; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int radioButtonStyle=0x7f0100cf; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int ratingBarStyle=0x7f0100d0; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int retryImage=0x7f010033; /**

    Must be one of the following constant values.

    ConstantValueDescription
    none-1
    fitXY0
    fitStart1
    fitCenter2
    fitEnd3
    center4
    centerInside5
    centerCrop6
    focusCrop7
    */ public static final int retryImageScaleType=0x7f010034; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int reverseLayout=0x7f010053; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int roundAsCircle=0x7f01003e; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int roundBottomLeft=0x7f010043; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int roundBottomRight=0x7f010042; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int roundTopLeft=0x7f010040; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int roundTopRight=0x7f010041; /**

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int roundWithOverlayColor=0x7f010044; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int roundedCornerRadius=0x7f01003f; /**

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int roundingBorderColor=0x7f010046; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int roundingBorderWidth=0x7f010045; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int searchHintIcon=0x7f01005c; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int searchIcon=0x7f01005b; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int searchViewStyle=0x7f0100aa; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int selectableItemBackground=0x7f01009b; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int selectableItemBackgroundBorderless=0x7f01009c; /**

    Must be one or more (separated by '|') of the following constant values.

    ConstantValueDescription
    never0
    ifRoom1
    always2
    withText4
    collapseActionView8
    */ public static final int showAsAction=0x7f01004a; /**

    Must be one or more (separated by '|') of the following constant values.

    ConstantValueDescription
    none0
    beginning1
    middle2
    end4
    */ public static final int showDividers=0x7f010048; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int showText=0x7f010068; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int singleChoiceItemLayout=0x7f010022; /**

    Must be an integer value, such as "100".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int spanCount=0x7f010052; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int spinBars=0x7f010028; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int spinnerDropDownItemStyle=0x7f010096; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int spinnerStyle=0x7f0100d1; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int splitTrack=0x7f010067; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int stackFromEnd=0x7f010054; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int state_above_anchor=0x7f010050; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int submitBackground=0x7f010061; /**

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int subtitle=0x7f010006; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int subtitleTextAppearance=0x7f0100d4; /**

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int subtitleTextColor=0x7f0100e1; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int subtitleTextStyle=0x7f010008; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int suggestionRowLayout=0x7f01005f; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int switchMinWidth=0x7f010065; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int switchPadding=0x7f010066; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int switchStyle=0x7f0100d2; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int switchTextAppearance=0x7f010064; /**

    May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

    May be a boolean value, either "true" or "false". */ public static final int textAllCaps=0x7f010024; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int textAppearanceLargePopupMenu=0x7f01008f; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int textAppearanceListItem=0x7f0100b2; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int textAppearanceListItemSmall=0x7f0100b3; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int textAppearanceSearchResultSubtitle=0x7f0100a8; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int textAppearanceSearchResultTitle=0x7f0100a7; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int textAppearanceSmallPopupMenu=0x7f010090; /**

    May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

    May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb". */ public static final int textColorAlertDialogListItem=0x7f0100c5; /**

    May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

    May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb". */ public static final int textColorSearchUrl=0x7f0100a9; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int theme=0x7f0100e4; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int thickness=0x7f01002e; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int thumbTextPadding=0x7f010063; /**

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int title=0x7f010003; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int titleMarginBottom=0x7f0100d9; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int titleMarginEnd=0x7f0100d7; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int titleMarginStart=0x7f0100d6; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int titleMarginTop=0x7f0100d8; /**

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int titleMargins=0x7f0100d5; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int titleTextAppearance=0x7f0100d3; /**

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int titleTextColor=0x7f0100e0; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int titleTextStyle=0x7f010007; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int toolbarNavigationButtonStyle=0x7f0100a2; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int toolbarStyle=0x7f0100a1; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int track=0x7f010062; /**

    Must be a floating point value, such as "1.2".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int viewAspectRatio=0x7f010030; /**

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int voiceIcon=0x7f01005d; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int windowActionBar=0x7f010069; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int windowActionBarOverlay=0x7f01006b; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int windowActionModeOverlay=0x7f01006c; /**

    May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int windowFixedHeightMajor=0x7f010070; /**

    May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int windowFixedHeightMinor=0x7f01006e; /**

    May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int windowFixedWidthMajor=0x7f01006d; /**

    May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int windowFixedWidthMinor=0x7f01006f; /**

    May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int windowMinWidthMajor=0x7f010071; /**

    May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int windowMinWidthMinor=0x7f010072; /**

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int windowNoTitle=0x7f01006a; } public static final class bool { public static final int abc_action_bar_embed_tabs=0x7f0a0002; public static final int abc_action_bar_embed_tabs_pre_jb=0x7f0a0000; public static final int abc_action_bar_expanded_action_views_exclusive=0x7f0a0003; public static final int abc_config_actionMenuItemAllCaps=0x7f0a0004; public static final int abc_config_allowActionMenuItemTextWithIcon=0x7f0a0001; public static final int abc_config_closeDialogWhenTouchOutside=0x7f0a0005; public static final int abc_config_showMenuShortcutsWhenKeyboardPresent=0x7f0a0006; } public static final class color { public static final int abc_background_cache_hint_selector_material_dark=0x7f0c003b; public static final int abc_background_cache_hint_selector_material_light=0x7f0c003c; public static final int abc_color_highlight_material=0x7f0c003d; public static final int abc_input_method_navigation_guard=0x7f0c0000; public static final int abc_primary_text_disable_only_material_dark=0x7f0c003e; public static final int abc_primary_text_disable_only_material_light=0x7f0c003f; public static final int abc_primary_text_material_dark=0x7f0c0040; public static final int abc_primary_text_material_light=0x7f0c0041; public static final int abc_search_url_text=0x7f0c0042; public static final int abc_search_url_text_normal=0x7f0c0001; public static final int abc_search_url_text_pressed=0x7f0c0002; public static final int abc_search_url_text_selected=0x7f0c0003; public static final int abc_secondary_text_material_dark=0x7f0c0043; public static final int abc_secondary_text_material_light=0x7f0c0044; public static final int accent_material_dark=0x7f0c0004; public static final int accent_material_light=0x7f0c0005; public static final int background_floating_material_dark=0x7f0c0006; public static final int background_floating_material_light=0x7f0c0007; public static final int background_material_dark=0x7f0c0008; public static final int background_material_light=0x7f0c0009; public static final int bright_foreground_disabled_material_dark=0x7f0c000a; public static final int bright_foreground_disabled_material_light=0x7f0c000b; public static final int bright_foreground_inverse_material_dark=0x7f0c000c; public static final int bright_foreground_inverse_material_light=0x7f0c000d; public static final int bright_foreground_material_dark=0x7f0c000e; public static final int bright_foreground_material_light=0x7f0c000f; public static final int button_material_dark=0x7f0c0010; public static final int button_material_light=0x7f0c0011; public static final int catalyst_redbox_background=0x7f0c0012; public static final int dim_foreground_disabled_material_dark=0x7f0c0013; public static final int dim_foreground_disabled_material_light=0x7f0c0014; public static final int dim_foreground_material_dark=0x7f0c0015; public static final int dim_foreground_material_light=0x7f0c0016; public static final int foreground_material_dark=0x7f0c0017; public static final int foreground_material_light=0x7f0c0018; public static final int highlighted_text_material_dark=0x7f0c0019; public static final int highlighted_text_material_light=0x7f0c001a; public static final int hint_foreground_material_dark=0x7f0c001b; public static final int hint_foreground_material_light=0x7f0c001c; public static final int material_blue_grey_800=0x7f0c001d; public static final int material_blue_grey_900=0x7f0c001e; public static final int material_blue_grey_950=0x7f0c001f; public static final int material_deep_teal_200=0x7f0c0020; public static final int material_deep_teal_500=0x7f0c0021; public static final int material_grey_100=0x7f0c0022; public static final int material_grey_300=0x7f0c0023; public static final int material_grey_50=0x7f0c0024; public static final int material_grey_600=0x7f0c0025; public static final int material_grey_800=0x7f0c0026; public static final int material_grey_850=0x7f0c0027; public static final int material_grey_900=0x7f0c0028; public static final int primary_dark_material_dark=0x7f0c0029; public static final int primary_dark_material_light=0x7f0c002a; public static final int primary_material_dark=0x7f0c002b; public static final int primary_material_light=0x7f0c002c; public static final int primary_text_default_material_dark=0x7f0c002d; public static final int primary_text_default_material_light=0x7f0c002e; public static final int primary_text_disabled_material_dark=0x7f0c002f; public static final int primary_text_disabled_material_light=0x7f0c0030; public static final int ripple_material_dark=0x7f0c0031; public static final int ripple_material_light=0x7f0c0032; public static final int secondary_text_default_material_dark=0x7f0c0033; public static final int secondary_text_default_material_light=0x7f0c0034; public static final int secondary_text_disabled_material_dark=0x7f0c0035; public static final int secondary_text_disabled_material_light=0x7f0c0036; public static final int switch_thumb_disabled_material_dark=0x7f0c0037; public static final int switch_thumb_disabled_material_light=0x7f0c0038; public static final int switch_thumb_material_dark=0x7f0c0045; public static final int switch_thumb_material_light=0x7f0c0046; public static final int switch_thumb_normal_material_dark=0x7f0c0039; public static final int switch_thumb_normal_material_light=0x7f0c003a; } public static final class dimen { public static final int abc_action_bar_content_inset_material=0x7f08000b; public static final int abc_action_bar_default_height_material=0x7f080001; public static final int abc_action_bar_default_padding_end_material=0x7f08000c; public static final int abc_action_bar_default_padding_start_material=0x7f08000d; public static final int abc_action_bar_icon_vertical_padding_material=0x7f08000f; public static final int abc_action_bar_overflow_padding_end_material=0x7f080010; public static final int abc_action_bar_overflow_padding_start_material=0x7f080011; public static final int abc_action_bar_progress_bar_size=0x7f080002; public static final int abc_action_bar_stacked_max_height=0x7f080012; public static final int abc_action_bar_stacked_tab_max_width=0x7f080013; public static final int abc_action_bar_subtitle_bottom_margin_material=0x7f080014; public static final int abc_action_bar_subtitle_top_margin_material=0x7f080015; public static final int abc_action_button_min_height_material=0x7f080016; public static final int abc_action_button_min_width_material=0x7f080017; public static final int abc_action_button_min_width_overflow_material=0x7f080018; public static final int abc_alert_dialog_button_bar_height=0x7f080000; public static final int abc_button_inset_horizontal_material=0x7f080019; public static final int abc_button_inset_vertical_material=0x7f08001a; public static final int abc_button_padding_horizontal_material=0x7f08001b; public static final int abc_button_padding_vertical_material=0x7f08001c; public static final int abc_config_prefDialogWidth=0x7f080005; public static final int abc_control_corner_material=0x7f08001d; public static final int abc_control_inset_material=0x7f08001e; public static final int abc_control_padding_material=0x7f08001f; public static final int abc_dialog_list_padding_vertical_material=0x7f080020; public static final int abc_dialog_min_width_major=0x7f080021; public static final int abc_dialog_min_width_minor=0x7f080022; public static final int abc_dialog_padding_material=0x7f080023; public static final int abc_dialog_padding_top_material=0x7f080024; public static final int abc_disabled_alpha_material_dark=0x7f080025; public static final int abc_disabled_alpha_material_light=0x7f080026; public static final int abc_dropdownitem_icon_width=0x7f080027; public static final int abc_dropdownitem_text_padding_left=0x7f080028; public static final int abc_dropdownitem_text_padding_right=0x7f080029; public static final int abc_edit_text_inset_bottom_material=0x7f08002a; public static final int abc_edit_text_inset_horizontal_material=0x7f08002b; public static final int abc_edit_text_inset_top_material=0x7f08002c; public static final int abc_floating_window_z=0x7f08002d; public static final int abc_list_item_padding_horizontal_material=0x7f08002e; public static final int abc_panel_menu_list_width=0x7f08002f; public static final int abc_search_view_preferred_width=0x7f080030; public static final int abc_search_view_text_min_width=0x7f080006; public static final int abc_switch_padding=0x7f08000e; public static final int abc_text_size_body_1_material=0x7f080031; public static final int abc_text_size_body_2_material=0x7f080032; public static final int abc_text_size_button_material=0x7f080033; public static final int abc_text_size_caption_material=0x7f080034; public static final int abc_text_size_display_1_material=0x7f080035; public static final int abc_text_size_display_2_material=0x7f080036; public static final int abc_text_size_display_3_material=0x7f080037; public static final int abc_text_size_display_4_material=0x7f080038; public static final int abc_text_size_headline_material=0x7f080039; public static final int abc_text_size_large_material=0x7f08003a; public static final int abc_text_size_medium_material=0x7f08003b; public static final int abc_text_size_menu_material=0x7f08003c; public static final int abc_text_size_small_material=0x7f08003d; public static final int abc_text_size_subhead_material=0x7f08003e; public static final int abc_text_size_subtitle_material_toolbar=0x7f080003; public static final int abc_text_size_title_material=0x7f08003f; public static final int abc_text_size_title_material_toolbar=0x7f080004; public static final int dialog_fixed_height_major=0x7f080007; public static final int dialog_fixed_height_minor=0x7f080008; public static final int dialog_fixed_width_major=0x7f080009; public static final int dialog_fixed_width_minor=0x7f08000a; public static final int disabled_alpha_material_dark=0x7f080040; public static final int disabled_alpha_material_light=0x7f080041; public static final int highlight_alpha_material_colored=0x7f080042; public static final int highlight_alpha_material_dark=0x7f080043; public static final int highlight_alpha_material_light=0x7f080044; public static final int item_touch_helper_max_drag_scroll_per_frame=0x7f080045; public static final int notification_large_icon_height=0x7f080046; public static final int notification_large_icon_width=0x7f080047; public static final int notification_subtext_size=0x7f080048; } public static final class drawable { public static final int abc_ab_share_pack_mtrl_alpha=0x7f020000; public static final int abc_action_bar_item_background_material=0x7f020001; public static final int abc_btn_borderless_material=0x7f020002; public static final int abc_btn_check_material=0x7f020003; public static final int abc_btn_check_to_on_mtrl_000=0x7f020004; public static final int abc_btn_check_to_on_mtrl_015=0x7f020005; public static final int abc_btn_colored_material=0x7f020006; public static final int abc_btn_default_mtrl_shape=0x7f020007; public static final int abc_btn_radio_material=0x7f020008; public static final int abc_btn_radio_to_on_mtrl_000=0x7f020009; public static final int abc_btn_radio_to_on_mtrl_015=0x7f02000a; public static final int abc_btn_rating_star_off_mtrl_alpha=0x7f02000b; public static final int abc_btn_rating_star_on_mtrl_alpha=0x7f02000c; public static final int abc_btn_switch_to_on_mtrl_00001=0x7f02000d; public static final int abc_btn_switch_to_on_mtrl_00012=0x7f02000e; public static final int abc_cab_background_internal_bg=0x7f02000f; public static final int abc_cab_background_top_material=0x7f020010; public static final int abc_cab_background_top_mtrl_alpha=0x7f020011; public static final int abc_control_background_material=0x7f020012; public static final int abc_dialog_material_background_dark=0x7f020013; public static final int abc_dialog_material_background_light=0x7f020014; public static final int abc_edit_text_material=0x7f020015; public static final int abc_ic_ab_back_mtrl_am_alpha=0x7f020016; public static final int abc_ic_clear_mtrl_alpha=0x7f020017; public static final int abc_ic_commit_search_api_mtrl_alpha=0x7f020018; public static final int abc_ic_go_search_api_mtrl_alpha=0x7f020019; public static final int abc_ic_menu_copy_mtrl_am_alpha=0x7f02001a; public static final int abc_ic_menu_cut_mtrl_alpha=0x7f02001b; public static final int abc_ic_menu_moreoverflow_mtrl_alpha=0x7f02001c; public static final int abc_ic_menu_paste_mtrl_am_alpha=0x7f02001d; public static final int abc_ic_menu_selectall_mtrl_alpha=0x7f02001e; public static final int abc_ic_menu_share_mtrl_alpha=0x7f02001f; public static final int abc_ic_search_api_mtrl_alpha=0x7f020020; public static final int abc_ic_voice_search_api_mtrl_alpha=0x7f020021; public static final int abc_item_background_holo_dark=0x7f020022; public static final int abc_item_background_holo_light=0x7f020023; public static final int abc_list_divider_mtrl_alpha=0x7f020024; public static final int abc_list_focused_holo=0x7f020025; public static final int abc_list_longpressed_holo=0x7f020026; public static final int abc_list_pressed_holo_dark=0x7f020027; public static final int abc_list_pressed_holo_light=0x7f020028; public static final int abc_list_selector_background_transition_holo_dark=0x7f020029; public static final int abc_list_selector_background_transition_holo_light=0x7f02002a; public static final int abc_list_selector_disabled_holo_dark=0x7f02002b; public static final int abc_list_selector_disabled_holo_light=0x7f02002c; public static final int abc_list_selector_holo_dark=0x7f02002d; public static final int abc_list_selector_holo_light=0x7f02002e; public static final int abc_menu_hardkey_panel_mtrl_mult=0x7f02002f; public static final int abc_popup_background_mtrl_mult=0x7f020030; public static final int abc_ratingbar_full_material=0x7f020031; public static final int abc_spinner_mtrl_am_alpha=0x7f020032; public static final int abc_spinner_textfield_background_material=0x7f020033; public static final int abc_switch_thumb_material=0x7f020034; public static final int abc_switch_track_mtrl_alpha=0x7f020035; public static final int abc_tab_indicator_material=0x7f020036; public static final int abc_tab_indicator_mtrl_alpha=0x7f020037; public static final int abc_text_cursor_material=0x7f020038; public static final int abc_textfield_activated_mtrl_alpha=0x7f020039; public static final int abc_textfield_default_mtrl_alpha=0x7f02003a; public static final int abc_textfield_search_activated_mtrl_alpha=0x7f02003b; public static final int abc_textfield_search_default_mtrl_alpha=0x7f02003c; public static final int abc_textfield_search_material=0x7f02003d; public static final int notification_template_icon_bg=0x7f02003e; } public static final class id { public static final int action0=0x7f0d0057; public static final int action_bar=0x7f0d0047; public static final int action_bar_activity_content=0x7f0d0000; public static final int action_bar_container=0x7f0d0046; public static final int action_bar_root=0x7f0d0042; public static final int action_bar_spinner=0x7f0d0001; public static final int action_bar_subtitle=0x7f0d002b; public static final int action_bar_title=0x7f0d002a; public static final int action_context_bar=0x7f0d0048; public static final int action_divider=0x7f0d005b; public static final int action_menu_divider=0x7f0d0002; public static final int action_menu_presenter=0x7f0d0003; public static final int action_mode_bar=0x7f0d0044; public static final int action_mode_bar_stub=0x7f0d0043; public static final int action_mode_close_button=0x7f0d002c; public static final int activity_chooser_view_content=0x7f0d002d; public static final int alertTitle=0x7f0d0037; public static final int always=0x7f0d0024; public static final int beginning=0x7f0d0021; public static final int buttonPanel=0x7f0d003d; public static final int cancel_action=0x7f0d0058; public static final int catalyst_redbox_title=0x7f0d0066; public static final int center=0x7f0d0019; public static final int centerCrop=0x7f0d001a; public static final int centerInside=0x7f0d001b; public static final int checkbox=0x7f0d003f; public static final int chronometer=0x7f0d005e; public static final int collapseActionView=0x7f0d0025; public static final int contentPanel=0x7f0d0038; public static final int custom=0x7f0d003c; public static final int customPanel=0x7f0d003b; public static final int decor_content_parent=0x7f0d0045; public static final int default_activity_button=0x7f0d0030; public static final int disableHome=0x7f0d000d; public static final int edit_query=0x7f0d0049; public static final int end=0x7f0d0022; public static final int end_padder=0x7f0d0063; public static final int expand_activities_button=0x7f0d002e; public static final int expanded_menu=0x7f0d003e; public static final int fitCenter=0x7f0d001c; public static final int fitEnd=0x7f0d001d; public static final int fitStart=0x7f0d001e; public static final int fitXY=0x7f0d001f; public static final int focusCrop=0x7f0d0020; public static final int fps_text=0x7f0d0056; public static final int home=0x7f0d0004; public static final int homeAsUp=0x7f0d000e; public static final int icon=0x7f0d0032; public static final int ifRoom=0x7f0d0026; public static final int image=0x7f0d002f; public static final int info=0x7f0d0062; public static final int item_touch_helper_previous_elevation=0x7f0d0005; public static final int line1=0x7f0d005c; public static final int line3=0x7f0d0060; public static final int listMode=0x7f0d000a; public static final int list_item=0x7f0d0031; public static final int media_actions=0x7f0d005a; public static final int middle=0x7f0d0023; public static final int multiply=0x7f0d0014; public static final int never=0x7f0d0027; public static final int none=0x7f0d000f; public static final int normal=0x7f0d000b; public static final int parentPanel=0x7f0d0034; public static final int progress_circular=0x7f0d0006; public static final int progress_horizontal=0x7f0d0007; public static final int radio=0x7f0d0041; public static final int rn_frame_file=0x7f0d0065; public static final int rn_frame_method=0x7f0d0064; public static final int rn_redbox_reloadjs=0x7f0d0068; public static final int rn_redbox_stack=0x7f0d0067; public static final int screen=0x7f0d0015; public static final int scrollView=0x7f0d0039; public static final int search_badge=0x7f0d004b; public static final int search_bar=0x7f0d004a; public static final int search_button=0x7f0d004c; public static final int search_close_btn=0x7f0d0051; public static final int search_edit_frame=0x7f0d004d; public static final int search_go_btn=0x7f0d0053; public static final int search_mag_icon=0x7f0d004e; public static final int search_plate=0x7f0d004f; public static final int search_src_text=0x7f0d0050; public static final int search_voice_btn=0x7f0d0054; public static final int select_dialog_listview=0x7f0d0055; public static final int shortcut=0x7f0d0040; public static final int showCustom=0x7f0d0010; public static final int showHome=0x7f0d0011; public static final int showTitle=0x7f0d0012; public static final int split_action_bar=0x7f0d0008; public static final int src_atop=0x7f0d0016; public static final int src_in=0x7f0d0017; public static final int src_over=0x7f0d0018; public static final int status_bar_latest_event_content=0x7f0d0059; public static final int submit_area=0x7f0d0052; public static final int tabMode=0x7f0d000c; public static final int text=0x7f0d0061; public static final int text2=0x7f0d005f; public static final int textSpacerNoButtons=0x7f0d003a; public static final int time=0x7f0d005d; public static final int title=0x7f0d0033; public static final int title_template=0x7f0d0036; public static final int topPanel=0x7f0d0035; public static final int up=0x7f0d0009; public static final int useLogo=0x7f0d0013; public static final int withText=0x7f0d0028; public static final int wrap_content=0x7f0d0029; } public static final class integer { public static final int abc_config_activityDefaultDur=0x7f0b0001; public static final int abc_config_activityShortDur=0x7f0b0002; public static final int abc_max_action_buttons=0x7f0b0000; public static final int cancel_button_image_alpha=0x7f0b0003; public static final int status_bar_notification_info_maxnum=0x7f0b0004; } public static final class layout { public static final int abc_action_bar_title_item=0x7f040000; public static final int abc_action_bar_up_container=0x7f040001; public static final int abc_action_bar_view_list_nav_layout=0x7f040002; public static final int abc_action_menu_item_layout=0x7f040003; public static final int abc_action_menu_layout=0x7f040004; public static final int abc_action_mode_bar=0x7f040005; public static final int abc_action_mode_close_item_material=0x7f040006; public static final int abc_activity_chooser_view=0x7f040007; public static final int abc_activity_chooser_view_list_item=0x7f040008; public static final int abc_alert_dialog_material=0x7f040009; public static final int abc_dialog_title_material=0x7f04000a; public static final int abc_expanded_menu_layout=0x7f04000b; public static final int abc_list_menu_item_checkbox=0x7f04000c; public static final int abc_list_menu_item_icon=0x7f04000d; public static final int abc_list_menu_item_layout=0x7f04000e; public static final int abc_list_menu_item_radio=0x7f04000f; public static final int abc_popup_menu_item_layout=0x7f040010; public static final int abc_screen_content_include=0x7f040011; public static final int abc_screen_simple=0x7f040012; public static final int abc_screen_simple_overlay_action_mode=0x7f040013; public static final int abc_screen_toolbar=0x7f040014; public static final int abc_search_dropdown_item_icons_2line=0x7f040015; public static final int abc_search_view=0x7f040016; public static final int abc_select_dialog_material=0x7f040017; public static final int fps_view=0x7f040018; public static final int notification_media_action=0x7f040019; public static final int notification_media_cancel_action=0x7f04001a; public static final int notification_template_big_media=0x7f04001b; public static final int notification_template_big_media_narrow=0x7f04001c; public static final int notification_template_lines=0x7f04001d; public static final int notification_template_media=0x7f04001e; public static final int notification_template_part_chronometer=0x7f04001f; public static final int notification_template_part_time=0x7f040020; public static final int redbox_item_frame=0x7f040021; public static final int redbox_item_title=0x7f040022; public static final int redbox_view=0x7f040023; public static final int select_dialog_item_material=0x7f040024; public static final int select_dialog_multichoice_material=0x7f040025; public static final int select_dialog_singlechoice_material=0x7f040026; public static final int support_simple_spinner_dropdown_item=0x7f040027; } public static final class mipmap { public static final int ic_launcher=0x7f030000; } public static final class string { public static final int abc_action_bar_home_description=0x7f070000; public static final int abc_action_bar_home_description_format=0x7f070001; public static final int abc_action_bar_home_subtitle_description_format=0x7f070002; public static final int abc_action_bar_up_description=0x7f070003; public static final int abc_action_menu_overflow_description=0x7f070004; public static final int abc_action_mode_done=0x7f070005; public static final int abc_activity_chooser_view_see_all=0x7f070006; public static final int abc_activitychooserview_choose_application=0x7f070007; public static final int abc_search_hint=0x7f070008; public static final int abc_searchview_description_clear=0x7f070009; public static final int abc_searchview_description_query=0x7f07000a; public static final int abc_searchview_description_search=0x7f07000b; public static final int abc_searchview_description_submit=0x7f07000c; public static final int abc_searchview_description_voice=0x7f07000d; public static final int abc_shareactionprovider_share_with=0x7f07000e; public static final int abc_shareactionprovider_share_with_application=0x7f07000f; public static final int abc_toolbar_collapse_description=0x7f070010; public static final int app_name=0x7f07001a; public static final int catalyst_debugjs=0x7f070012; public static final int catalyst_debugjs_off=0x7f07001b; public static final int catalyst_element_inspector=0x7f070013; public static final int catalyst_element_inspector_off=0x7f07001c; public static final int catalyst_hot_module_replacement=0x7f07001d; public static final int catalyst_hot_module_replacement_off=0x7f07001e; public static final int catalyst_jsload_error=0x7f070014; public static final int catalyst_jsload_message=0x7f070015; public static final int catalyst_jsload_title=0x7f070016; public static final int catalyst_live_reload=0x7f07001f; public static final int catalyst_live_reload_off=0x7f070020; public static final int catalyst_perf_monitor=0x7f070021; public static final int catalyst_perf_monitor_off=0x7f070022; public static final int catalyst_reloadjs=0x7f070017; public static final int catalyst_remotedbg_error=0x7f070023; public static final int catalyst_remotedbg_message=0x7f070024; public static final int catalyst_settings=0x7f070018; public static final int catalyst_settings_title=0x7f070019; public static final int catalyst_start_profile=0x7f070025; public static final int catalyst_stop_profile=0x7f070026; public static final int status_bar_notification_info_overflow=0x7f070011; } public static final class style { public static final int AlertDialog_AppCompat=0x7f09007a; public static final int AlertDialog_AppCompat_Light=0x7f09007b; public static final int Animation_AppCompat_Dialog=0x7f09007c; public static final int Animation_AppCompat_DropDownUp=0x7f09007d; public static final int Animation_Catalyst_RedBox=0x7f09007e; /** Customize your theme here. */ public static final int AppTheme=0x7f09007f; public static final int Base_AlertDialog_AppCompat=0x7f090080; public static final int Base_AlertDialog_AppCompat_Light=0x7f090081; public static final int Base_Animation_AppCompat_Dialog=0x7f090082; public static final int Base_Animation_AppCompat_DropDownUp=0x7f090083; public static final int Base_DialogWindowTitle_AppCompat=0x7f090084; public static final int Base_DialogWindowTitleBackground_AppCompat=0x7f090085; public static final int Base_TextAppearance_AppCompat=0x7f09002d; public static final int Base_TextAppearance_AppCompat_Body1=0x7f09002e; public static final int Base_TextAppearance_AppCompat_Body2=0x7f09002f; public static final int Base_TextAppearance_AppCompat_Button=0x7f090018; public static final int Base_TextAppearance_AppCompat_Caption=0x7f090030; public static final int Base_TextAppearance_AppCompat_Display1=0x7f090031; public static final int Base_TextAppearance_AppCompat_Display2=0x7f090032; public static final int Base_TextAppearance_AppCompat_Display3=0x7f090033; public static final int Base_TextAppearance_AppCompat_Display4=0x7f090034; public static final int Base_TextAppearance_AppCompat_Headline=0x7f090035; public static final int Base_TextAppearance_AppCompat_Inverse=0x7f090003; public static final int Base_TextAppearance_AppCompat_Large=0x7f090036; public static final int Base_TextAppearance_AppCompat_Large_Inverse=0x7f090004; public static final int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Large=0x7f090037; public static final int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Small=0x7f090038; public static final int Base_TextAppearance_AppCompat_Medium=0x7f090039; public static final int Base_TextAppearance_AppCompat_Medium_Inverse=0x7f090005; public static final int Base_TextAppearance_AppCompat_Menu=0x7f09003a; public static final int Base_TextAppearance_AppCompat_SearchResult=0x7f090086; public static final int Base_TextAppearance_AppCompat_SearchResult_Subtitle=0x7f09003b; public static final int Base_TextAppearance_AppCompat_SearchResult_Title=0x7f09003c; public static final int Base_TextAppearance_AppCompat_Small=0x7f09003d; public static final int Base_TextAppearance_AppCompat_Small_Inverse=0x7f090006; public static final int Base_TextAppearance_AppCompat_Subhead=0x7f09003e; public static final int Base_TextAppearance_AppCompat_Subhead_Inverse=0x7f090007; public static final int Base_TextAppearance_AppCompat_Title=0x7f09003f; public static final int Base_TextAppearance_AppCompat_Title_Inverse=0x7f090008; public static final int Base_TextAppearance_AppCompat_Widget_ActionBar_Menu=0x7f090040; public static final int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle=0x7f090041; public static final int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse=0x7f090042; public static final int Base_TextAppearance_AppCompat_Widget_ActionBar_Title=0x7f090043; public static final int Base_TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse=0x7f090044; public static final int Base_TextAppearance_AppCompat_Widget_ActionMode_Subtitle=0x7f090045; public static final int Base_TextAppearance_AppCompat_Widget_ActionMode_Title=0x7f090046; public static final int Base_TextAppearance_AppCompat_Widget_Button=0x7f090047; public static final int Base_TextAppearance_AppCompat_Widget_Button_Inverse=0x7f090076; public static final int Base_TextAppearance_AppCompat_Widget_DropDownItem=0x7f090087; public static final int Base_TextAppearance_AppCompat_Widget_PopupMenu_Large=0x7f090048; public static final int Base_TextAppearance_AppCompat_Widget_PopupMenu_Small=0x7f090049; public static final int Base_TextAppearance_AppCompat_Widget_Switch=0x7f09004a; public static final int Base_TextAppearance_AppCompat_Widget_TextView_SpinnerItem=0x7f09004b; public static final int Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item=0x7f090088; public static final int Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle=0x7f09004c; public static final int Base_TextAppearance_Widget_AppCompat_Toolbar_Title=0x7f09004d; public static final int Base_Theme_AppCompat=0x7f09004e; public static final int Base_Theme_AppCompat_CompactMenu=0x7f090089; public static final int Base_Theme_AppCompat_Dialog=0x7f090009; public static final int Base_Theme_AppCompat_Dialog_Alert=0x7f09008a; public static final int Base_Theme_AppCompat_Dialog_FixedSize=0x7f09008b; public static final int Base_Theme_AppCompat_Dialog_MinWidth=0x7f09008c; public static final int Base_Theme_AppCompat_DialogWhenLarge=0x7f090001; public static final int Base_Theme_AppCompat_Light=0x7f09004f; public static final int Base_Theme_AppCompat_Light_DarkActionBar=0x7f09008d; public static final int Base_Theme_AppCompat_Light_Dialog=0x7f09000a; public static final int Base_Theme_AppCompat_Light_Dialog_Alert=0x7f09008e; public static final int Base_Theme_AppCompat_Light_Dialog_FixedSize=0x7f09008f; public static final int Base_Theme_AppCompat_Light_Dialog_MinWidth=0x7f090090; public static final int Base_Theme_AppCompat_Light_DialogWhenLarge=0x7f090002; public static final int Base_ThemeOverlay_AppCompat=0x7f090091; public static final int Base_ThemeOverlay_AppCompat_ActionBar=0x7f090092; public static final int Base_ThemeOverlay_AppCompat_Dark=0x7f090093; public static final int Base_ThemeOverlay_AppCompat_Dark_ActionBar=0x7f090094; public static final int Base_ThemeOverlay_AppCompat_Light=0x7f090095; public static final int Base_V11_Theme_AppCompat_Dialog=0x7f09000b; public static final int Base_V11_Theme_AppCompat_Light_Dialog=0x7f09000c; public static final int Base_V12_Widget_AppCompat_AutoCompleteTextView=0x7f090014; public static final int Base_V12_Widget_AppCompat_EditText=0x7f090015; public static final int Base_V21_Theme_AppCompat=0x7f090050; public static final int Base_V21_Theme_AppCompat_Dialog=0x7f090051; public static final int Base_V21_Theme_AppCompat_Light=0x7f090052; public static final int Base_V21_Theme_AppCompat_Light_Dialog=0x7f090053; public static final int Base_V22_Theme_AppCompat=0x7f090074; public static final int Base_V22_Theme_AppCompat_Light=0x7f090075; public static final int Base_V23_Theme_AppCompat=0x7f090077; public static final int Base_V23_Theme_AppCompat_Light=0x7f090078; public static final int Base_V7_Theme_AppCompat=0x7f090096; public static final int Base_V7_Theme_AppCompat_Dialog=0x7f090097; public static final int Base_V7_Theme_AppCompat_Light=0x7f090098; public static final int Base_V7_Theme_AppCompat_Light_Dialog=0x7f090099; public static final int Base_V7_Widget_AppCompat_AutoCompleteTextView=0x7f09009a; public static final int Base_V7_Widget_AppCompat_EditText=0x7f09009b; public static final int Base_Widget_AppCompat_ActionBar=0x7f09009c; public static final int Base_Widget_AppCompat_ActionBar_Solid=0x7f09009d; public static final int Base_Widget_AppCompat_ActionBar_TabBar=0x7f09009e; public static final int Base_Widget_AppCompat_ActionBar_TabText=0x7f090054; public static final int Base_Widget_AppCompat_ActionBar_TabView=0x7f090055; public static final int Base_Widget_AppCompat_ActionButton=0x7f090056; public static final int Base_Widget_AppCompat_ActionButton_CloseMode=0x7f090057; public static final int Base_Widget_AppCompat_ActionButton_Overflow=0x7f090058; public static final int Base_Widget_AppCompat_ActionMode=0x7f09009f; public static final int Base_Widget_AppCompat_ActivityChooserView=0x7f0900a0; public static final int Base_Widget_AppCompat_AutoCompleteTextView=0x7f090016; public static final int Base_Widget_AppCompat_Button=0x7f090059; public static final int Base_Widget_AppCompat_Button_Borderless=0x7f09005a; public static final int Base_Widget_AppCompat_Button_Borderless_Colored=0x7f09005b; public static final int Base_Widget_AppCompat_Button_ButtonBar_AlertDialog=0x7f0900a1; public static final int Base_Widget_AppCompat_Button_Colored=0x7f090079; public static final int Base_Widget_AppCompat_Button_Small=0x7f09005c; public static final int Base_Widget_AppCompat_ButtonBar=0x7f09005d; public static final int Base_Widget_AppCompat_ButtonBar_AlertDialog=0x7f0900a2; public static final int Base_Widget_AppCompat_CompoundButton_CheckBox=0x7f09005e; public static final int Base_Widget_AppCompat_CompoundButton_RadioButton=0x7f09005f; public static final int Base_Widget_AppCompat_CompoundButton_Switch=0x7f0900a3; public static final int Base_Widget_AppCompat_DrawerArrowToggle=0x7f090000; public static final int Base_Widget_AppCompat_DrawerArrowToggle_Common=0x7f0900a4; public static final int Base_Widget_AppCompat_DropDownItem_Spinner=0x7f090060; public static final int Base_Widget_AppCompat_EditText=0x7f090017; public static final int Base_Widget_AppCompat_Light_ActionBar=0x7f0900a5; public static final int Base_Widget_AppCompat_Light_ActionBar_Solid=0x7f0900a6; public static final int Base_Widget_AppCompat_Light_ActionBar_TabBar=0x7f0900a7; public static final int Base_Widget_AppCompat_Light_ActionBar_TabText=0x7f090061; public static final int Base_Widget_AppCompat_Light_ActionBar_TabText_Inverse=0x7f090062; public static final int Base_Widget_AppCompat_Light_ActionBar_TabView=0x7f090063; public static final int Base_Widget_AppCompat_Light_PopupMenu=0x7f090064; public static final int Base_Widget_AppCompat_Light_PopupMenu_Overflow=0x7f090065; public static final int Base_Widget_AppCompat_ListPopupWindow=0x7f090066; public static final int Base_Widget_AppCompat_ListView=0x7f090067; public static final int Base_Widget_AppCompat_ListView_DropDown=0x7f090068; public static final int Base_Widget_AppCompat_ListView_Menu=0x7f090069; public static final int Base_Widget_AppCompat_PopupMenu=0x7f09006a; public static final int Base_Widget_AppCompat_PopupMenu_Overflow=0x7f09006b; public static final int Base_Widget_AppCompat_PopupWindow=0x7f0900a8; public static final int Base_Widget_AppCompat_ProgressBar=0x7f09000d; public static final int Base_Widget_AppCompat_ProgressBar_Horizontal=0x7f09000e; public static final int Base_Widget_AppCompat_RatingBar=0x7f09006c; public static final int Base_Widget_AppCompat_SearchView=0x7f0900a9; public static final int Base_Widget_AppCompat_SearchView_ActionBar=0x7f0900aa; public static final int Base_Widget_AppCompat_Spinner=0x7f09006d; public static final int Base_Widget_AppCompat_Spinner_Underlined=0x7f09006e; public static final int Base_Widget_AppCompat_TextView_SpinnerItem=0x7f09006f; public static final int Base_Widget_AppCompat_Toolbar=0x7f0900ab; public static final int Base_Widget_AppCompat_Toolbar_Button_Navigation=0x7f090070; public static final int DialogAnimation=0x7f0900ac; public static final int Platform_AppCompat=0x7f09000f; public static final int Platform_AppCompat_Light=0x7f090010; public static final int Platform_ThemeOverlay_AppCompat=0x7f090071; public static final int Platform_ThemeOverlay_AppCompat_Dark=0x7f090072; public static final int Platform_ThemeOverlay_AppCompat_Light=0x7f090073; public static final int Platform_V11_AppCompat=0x7f090011; public static final int Platform_V11_AppCompat_Light=0x7f090012; public static final int Platform_V14_AppCompat=0x7f090019; public static final int Platform_V14_AppCompat_Light=0x7f09001a; public static final int Platform_Widget_AppCompat_Spinner=0x7f090013; public static final int RtlOverlay_DialogWindowTitle_AppCompat=0x7f090020; public static final int RtlOverlay_Widget_AppCompat_ActionBar_TitleItem=0x7f090021; public static final int RtlOverlay_Widget_AppCompat_ActionButton_Overflow=0x7f090022; public static final int RtlOverlay_Widget_AppCompat_DialogTitle_Icon=0x7f090023; public static final int RtlOverlay_Widget_AppCompat_PopupMenuItem=0x7f090024; public static final int RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup=0x7f090025; public static final int RtlOverlay_Widget_AppCompat_PopupMenuItem_Text=0x7f090026; public static final int RtlOverlay_Widget_AppCompat_Search_DropDown=0x7f090027; public static final int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1=0x7f090028; public static final int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2=0x7f090029; public static final int RtlOverlay_Widget_AppCompat_Search_DropDown_Query=0x7f09002a; public static final int RtlOverlay_Widget_AppCompat_Search_DropDown_Text=0x7f09002b; public static final int RtlOverlay_Widget_AppCompat_SearchView_MagIcon=0x7f09002c; public static final int TextAppearance_AppCompat=0x7f0900ad; public static final int TextAppearance_AppCompat_Body1=0x7f0900ae; public static final int TextAppearance_AppCompat_Body2=0x7f0900af; public static final int TextAppearance_AppCompat_Button=0x7f0900b0; public static final int TextAppearance_AppCompat_Caption=0x7f0900b1; public static final int TextAppearance_AppCompat_Display1=0x7f0900b2; public static final int TextAppearance_AppCompat_Display2=0x7f0900b3; public static final int TextAppearance_AppCompat_Display3=0x7f0900b4; public static final int TextAppearance_AppCompat_Display4=0x7f0900b5; public static final int TextAppearance_AppCompat_Headline=0x7f0900b6; public static final int TextAppearance_AppCompat_Inverse=0x7f0900b7; public static final int TextAppearance_AppCompat_Large=0x7f0900b8; public static final int TextAppearance_AppCompat_Large_Inverse=0x7f0900b9; public static final int TextAppearance_AppCompat_Light_SearchResult_Subtitle=0x7f0900ba; public static final int TextAppearance_AppCompat_Light_SearchResult_Title=0x7f0900bb; public static final int TextAppearance_AppCompat_Light_Widget_PopupMenu_Large=0x7f0900bc; public static final int TextAppearance_AppCompat_Light_Widget_PopupMenu_Small=0x7f0900bd; public static final int TextAppearance_AppCompat_Medium=0x7f0900be; public static final int TextAppearance_AppCompat_Medium_Inverse=0x7f0900bf; public static final int TextAppearance_AppCompat_Menu=0x7f0900c0; public static final int TextAppearance_AppCompat_SearchResult_Subtitle=0x7f0900c1; public static final int TextAppearance_AppCompat_SearchResult_Title=0x7f0900c2; public static final int TextAppearance_AppCompat_Small=0x7f0900c3; public static final int TextAppearance_AppCompat_Small_Inverse=0x7f0900c4; public static final int TextAppearance_AppCompat_Subhead=0x7f0900c5; public static final int TextAppearance_AppCompat_Subhead_Inverse=0x7f0900c6; public static final int TextAppearance_AppCompat_Title=0x7f0900c7; public static final int TextAppearance_AppCompat_Title_Inverse=0x7f0900c8; public static final int TextAppearance_AppCompat_Widget_ActionBar_Menu=0x7f0900c9; public static final int TextAppearance_AppCompat_Widget_ActionBar_Subtitle=0x7f0900ca; public static final int TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse=0x7f0900cb; public static final int TextAppearance_AppCompat_Widget_ActionBar_Title=0x7f0900cc; public static final int TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse=0x7f0900cd; public static final int TextAppearance_AppCompat_Widget_ActionMode_Subtitle=0x7f0900ce; public static final int TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse=0x7f0900cf; public static final int TextAppearance_AppCompat_Widget_ActionMode_Title=0x7f0900d0; public static final int TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse=0x7f0900d1; public static final int TextAppearance_AppCompat_Widget_Button=0x7f0900d2; public static final int TextAppearance_AppCompat_Widget_Button_Inverse=0x7f0900d3; public static final int TextAppearance_AppCompat_Widget_DropDownItem=0x7f0900d4; public static final int TextAppearance_AppCompat_Widget_PopupMenu_Large=0x7f0900d5; public static final int TextAppearance_AppCompat_Widget_PopupMenu_Small=0x7f0900d6; public static final int TextAppearance_AppCompat_Widget_Switch=0x7f0900d7; public static final int TextAppearance_AppCompat_Widget_TextView_SpinnerItem=0x7f0900d8; public static final int TextAppearance_StatusBar_EventContent=0x7f09001b; public static final int TextAppearance_StatusBar_EventContent_Info=0x7f09001c; public static final int TextAppearance_StatusBar_EventContent_Line2=0x7f09001d; public static final int TextAppearance_StatusBar_EventContent_Time=0x7f09001e; public static final int TextAppearance_StatusBar_EventContent_Title=0x7f09001f; public static final int TextAppearance_Widget_AppCompat_ExpandedMenu_Item=0x7f0900d9; public static final int TextAppearance_Widget_AppCompat_Toolbar_Subtitle=0x7f0900da; public static final int TextAppearance_Widget_AppCompat_Toolbar_Title=0x7f0900db; public static final int Theme=0x7f0900dc; public static final int Theme_AppCompat=0x7f0900dd; public static final int Theme_AppCompat_CompactMenu=0x7f0900de; public static final int Theme_AppCompat_Dialog=0x7f0900df; public static final int Theme_AppCompat_Dialog_Alert=0x7f0900e0; public static final int Theme_AppCompat_Dialog_MinWidth=0x7f0900e1; public static final int Theme_AppCompat_DialogWhenLarge=0x7f0900e2; public static final int Theme_AppCompat_Light=0x7f0900e3; public static final int Theme_AppCompat_Light_DarkActionBar=0x7f0900e4; public static final int Theme_AppCompat_Light_Dialog=0x7f0900e5; public static final int Theme_AppCompat_Light_Dialog_Alert=0x7f0900e6; public static final int Theme_AppCompat_Light_Dialog_MinWidth=0x7f0900e7; public static final int Theme_AppCompat_Light_DialogWhenLarge=0x7f0900e8; public static final int Theme_AppCompat_Light_NoActionBar=0x7f0900e9; public static final int Theme_AppCompat_NoActionBar=0x7f0900ea; public static final int Theme_Catalyst=0x7f0900eb; public static final int Theme_Catalyst_RedBox=0x7f0900ec; public static final int Theme_FullScreenDialog=0x7f0900ed; public static final int Theme_FullScreenDialogAnimated=0x7f0900ee; public static final int Theme_ReactNative_AppCompat_Light=0x7f0900ef; public static final int Theme_ReactNative_AppCompat_Light_NoActionBar_FullScreen=0x7f0900f0; public static final int ThemeOverlay_AppCompat=0x7f0900f1; public static final int ThemeOverlay_AppCompat_ActionBar=0x7f0900f2; public static final int ThemeOverlay_AppCompat_Dark=0x7f0900f3; public static final int ThemeOverlay_AppCompat_Dark_ActionBar=0x7f0900f4; public static final int ThemeOverlay_AppCompat_Light=0x7f0900f5; public static final int Widget_AppCompat_ActionBar=0x7f0900f6; public static final int Widget_AppCompat_ActionBar_Solid=0x7f0900f7; public static final int Widget_AppCompat_ActionBar_TabBar=0x7f0900f8; public static final int Widget_AppCompat_ActionBar_TabText=0x7f0900f9; public static final int Widget_AppCompat_ActionBar_TabView=0x7f0900fa; public static final int Widget_AppCompat_ActionButton=0x7f0900fb; public static final int Widget_AppCompat_ActionButton_CloseMode=0x7f0900fc; public static final int Widget_AppCompat_ActionButton_Overflow=0x7f0900fd; public static final int Widget_AppCompat_ActionMode=0x7f0900fe; public static final int Widget_AppCompat_ActivityChooserView=0x7f0900ff; public static final int Widget_AppCompat_AutoCompleteTextView=0x7f090100; public static final int Widget_AppCompat_Button=0x7f090101; public static final int Widget_AppCompat_Button_Borderless=0x7f090102; public static final int Widget_AppCompat_Button_Borderless_Colored=0x7f090103; public static final int Widget_AppCompat_Button_ButtonBar_AlertDialog=0x7f090104; public static final int Widget_AppCompat_Button_Colored=0x7f090105; public static final int Widget_AppCompat_Button_Small=0x7f090106; public static final int Widget_AppCompat_ButtonBar=0x7f090107; public static final int Widget_AppCompat_ButtonBar_AlertDialog=0x7f090108; public static final int Widget_AppCompat_CompoundButton_CheckBox=0x7f090109; public static final int Widget_AppCompat_CompoundButton_RadioButton=0x7f09010a; public static final int Widget_AppCompat_CompoundButton_Switch=0x7f09010b; public static final int Widget_AppCompat_DrawerArrowToggle=0x7f09010c; public static final int Widget_AppCompat_DropDownItem_Spinner=0x7f09010d; public static final int Widget_AppCompat_EditText=0x7f09010e; public static final int Widget_AppCompat_Light_ActionBar=0x7f09010f; public static final int Widget_AppCompat_Light_ActionBar_Solid=0x7f090110; public static final int Widget_AppCompat_Light_ActionBar_Solid_Inverse=0x7f090111; public static final int Widget_AppCompat_Light_ActionBar_TabBar=0x7f090112; public static final int Widget_AppCompat_Light_ActionBar_TabBar_Inverse=0x7f090113; public static final int Widget_AppCompat_Light_ActionBar_TabText=0x7f090114; public static final int Widget_AppCompat_Light_ActionBar_TabText_Inverse=0x7f090115; public static final int Widget_AppCompat_Light_ActionBar_TabView=0x7f090116; public static final int Widget_AppCompat_Light_ActionBar_TabView_Inverse=0x7f090117; public static final int Widget_AppCompat_Light_ActionButton=0x7f090118; public static final int Widget_AppCompat_Light_ActionButton_CloseMode=0x7f090119; public static final int Widget_AppCompat_Light_ActionButton_Overflow=0x7f09011a; public static final int Widget_AppCompat_Light_ActionMode_Inverse=0x7f09011b; public static final int Widget_AppCompat_Light_ActivityChooserView=0x7f09011c; public static final int Widget_AppCompat_Light_AutoCompleteTextView=0x7f09011d; public static final int Widget_AppCompat_Light_DropDownItem_Spinner=0x7f09011e; public static final int Widget_AppCompat_Light_ListPopupWindow=0x7f09011f; public static final int Widget_AppCompat_Light_ListView_DropDown=0x7f090120; public static final int Widget_AppCompat_Light_PopupMenu=0x7f090121; public static final int Widget_AppCompat_Light_PopupMenu_Overflow=0x7f090122; public static final int Widget_AppCompat_Light_SearchView=0x7f090123; public static final int Widget_AppCompat_Light_Spinner_DropDown_ActionBar=0x7f090124; public static final int Widget_AppCompat_ListPopupWindow=0x7f090125; public static final int Widget_AppCompat_ListView=0x7f090126; public static final int Widget_AppCompat_ListView_DropDown=0x7f090127; public static final int Widget_AppCompat_ListView_Menu=0x7f090128; public static final int Widget_AppCompat_PopupMenu=0x7f090129; public static final int Widget_AppCompat_PopupMenu_Overflow=0x7f09012a; public static final int Widget_AppCompat_PopupWindow=0x7f09012b; public static final int Widget_AppCompat_ProgressBar=0x7f09012c; public static final int Widget_AppCompat_ProgressBar_Horizontal=0x7f09012d; public static final int Widget_AppCompat_RatingBar=0x7f09012e; public static final int Widget_AppCompat_SearchView=0x7f09012f; public static final int Widget_AppCompat_SearchView_ActionBar=0x7f090130; public static final int Widget_AppCompat_Spinner=0x7f090131; public static final int Widget_AppCompat_Spinner_DropDown=0x7f090132; public static final int Widget_AppCompat_Spinner_DropDown_ActionBar=0x7f090133; public static final int Widget_AppCompat_Spinner_Underlined=0x7f090134; public static final int Widget_AppCompat_TextView_SpinnerItem=0x7f090135; public static final int Widget_AppCompat_Toolbar=0x7f090136; public static final int Widget_AppCompat_Toolbar_Button_Navigation=0x7f090137; } public static final class xml { public static final int preferences=0x7f060000; } public static final class styleable { /** Attributes that can be used with a ActionBar.

    Includes the following attributes:

    AttributeDescription
    {@link #ActionBar_background com.thegaze:background}
    {@link #ActionBar_backgroundSplit com.thegaze:backgroundSplit}
    {@link #ActionBar_backgroundStacked com.thegaze:backgroundStacked}
    {@link #ActionBar_contentInsetEnd com.thegaze:contentInsetEnd}
    {@link #ActionBar_contentInsetLeft com.thegaze:contentInsetLeft}
    {@link #ActionBar_contentInsetRight com.thegaze:contentInsetRight}
    {@link #ActionBar_contentInsetStart com.thegaze:contentInsetStart}
    {@link #ActionBar_customNavigationLayout com.thegaze:customNavigationLayout}
    {@link #ActionBar_displayOptions com.thegaze:displayOptions}
    {@link #ActionBar_divider com.thegaze:divider}
    {@link #ActionBar_elevation com.thegaze:elevation}
    {@link #ActionBar_height com.thegaze:height}
    {@link #ActionBar_hideOnContentScroll com.thegaze:hideOnContentScroll}
    {@link #ActionBar_homeAsUpIndicator com.thegaze:homeAsUpIndicator}
    {@link #ActionBar_homeLayout com.thegaze:homeLayout}
    {@link #ActionBar_icon com.thegaze:icon}
    {@link #ActionBar_indeterminateProgressStyle com.thegaze:indeterminateProgressStyle}
    {@link #ActionBar_itemPadding com.thegaze:itemPadding}
    {@link #ActionBar_logo com.thegaze:logo}
    {@link #ActionBar_navigationMode com.thegaze:navigationMode}
    {@link #ActionBar_popupTheme com.thegaze:popupTheme}
    {@link #ActionBar_progressBarPadding com.thegaze:progressBarPadding}
    {@link #ActionBar_progressBarStyle com.thegaze:progressBarStyle}
    {@link #ActionBar_subtitle com.thegaze:subtitle}
    {@link #ActionBar_subtitleTextStyle com.thegaze:subtitleTextStyle}
    {@link #ActionBar_title com.thegaze:title}
    {@link #ActionBar_titleTextStyle com.thegaze:titleTextStyle}
    @see #ActionBar_background @see #ActionBar_backgroundSplit @see #ActionBar_backgroundStacked @see #ActionBar_contentInsetEnd @see #ActionBar_contentInsetLeft @see #ActionBar_contentInsetRight @see #ActionBar_contentInsetStart @see #ActionBar_customNavigationLayout @see #ActionBar_displayOptions @see #ActionBar_divider @see #ActionBar_elevation @see #ActionBar_height @see #ActionBar_hideOnContentScroll @see #ActionBar_homeAsUpIndicator @see #ActionBar_homeLayout @see #ActionBar_icon @see #ActionBar_indeterminateProgressStyle @see #ActionBar_itemPadding @see #ActionBar_logo @see #ActionBar_navigationMode @see #ActionBar_popupTheme @see #ActionBar_progressBarPadding @see #ActionBar_progressBarStyle @see #ActionBar_subtitle @see #ActionBar_subtitleTextStyle @see #ActionBar_title @see #ActionBar_titleTextStyle */ public static final int[] ActionBar = { 0x7f010001, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009, 0x7f01000a, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012, 0x7f010013, 0x7f010014, 0x7f010015, 0x7f010016, 0x7f010017, 0x7f010018, 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f010097 }; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#background} attribute's value can be found in the {@link #ActionBar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:background */ public static final int ActionBar_background = 10; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#backgroundSplit} attribute's value can be found in the {@link #ActionBar} array.

    May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

    May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb". @attr name com.thegaze:backgroundSplit */ public static final int ActionBar_backgroundSplit = 12; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#backgroundStacked} attribute's value can be found in the {@link #ActionBar} array.

    May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

    May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb". @attr name com.thegaze:backgroundStacked */ public static final int ActionBar_backgroundStacked = 11; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#contentInsetEnd} attribute's value can be found in the {@link #ActionBar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:contentInsetEnd */ public static final int ActionBar_contentInsetEnd = 21; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#contentInsetLeft} attribute's value can be found in the {@link #ActionBar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:contentInsetLeft */ public static final int ActionBar_contentInsetLeft = 22; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#contentInsetRight} attribute's value can be found in the {@link #ActionBar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:contentInsetRight */ public static final int ActionBar_contentInsetRight = 23; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#contentInsetStart} attribute's value can be found in the {@link #ActionBar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:contentInsetStart */ public static final int ActionBar_contentInsetStart = 20; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#customNavigationLayout} attribute's value can be found in the {@link #ActionBar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:customNavigationLayout */ public static final int ActionBar_customNavigationLayout = 13; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#displayOptions} attribute's value can be found in the {@link #ActionBar} array.

    Must be one or more (separated by '|') of the following constant values.

    ConstantValueDescription
    none0
    useLogo0x1
    showHome0x2
    homeAsUp0x4
    showTitle0x8
    showCustom0x10
    disableHome0x20
    @attr name com.thegaze:displayOptions */ public static final int ActionBar_displayOptions = 3; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#divider} attribute's value can be found in the {@link #ActionBar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:divider */ public static final int ActionBar_divider = 9; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#elevation} attribute's value can be found in the {@link #ActionBar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:elevation */ public static final int ActionBar_elevation = 24; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#height} attribute's value can be found in the {@link #ActionBar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:height */ public static final int ActionBar_height = 0; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#hideOnContentScroll} attribute's value can be found in the {@link #ActionBar} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:hideOnContentScroll */ public static final int ActionBar_hideOnContentScroll = 19; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#homeAsUpIndicator} attribute's value can be found in the {@link #ActionBar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:homeAsUpIndicator */ public static final int ActionBar_homeAsUpIndicator = 26; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#homeLayout} attribute's value can be found in the {@link #ActionBar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:homeLayout */ public static final int ActionBar_homeLayout = 14; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#icon} attribute's value can be found in the {@link #ActionBar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:icon */ public static final int ActionBar_icon = 7; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#indeterminateProgressStyle} attribute's value can be found in the {@link #ActionBar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:indeterminateProgressStyle */ public static final int ActionBar_indeterminateProgressStyle = 16; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#itemPadding} attribute's value can be found in the {@link #ActionBar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:itemPadding */ public static final int ActionBar_itemPadding = 18; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#logo} attribute's value can be found in the {@link #ActionBar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:logo */ public static final int ActionBar_logo = 8; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#navigationMode} attribute's value can be found in the {@link #ActionBar} array.

    Must be one of the following constant values.

    ConstantValueDescription
    normal0
    listMode1
    tabMode2
    @attr name com.thegaze:navigationMode */ public static final int ActionBar_navigationMode = 2; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#popupTheme} attribute's value can be found in the {@link #ActionBar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:popupTheme */ public static final int ActionBar_popupTheme = 25; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#progressBarPadding} attribute's value can be found in the {@link #ActionBar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:progressBarPadding */ public static final int ActionBar_progressBarPadding = 17; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#progressBarStyle} attribute's value can be found in the {@link #ActionBar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:progressBarStyle */ public static final int ActionBar_progressBarStyle = 15; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#subtitle} attribute's value can be found in the {@link #ActionBar} array.

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:subtitle */ public static final int ActionBar_subtitle = 4; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#subtitleTextStyle} attribute's value can be found in the {@link #ActionBar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:subtitleTextStyle */ public static final int ActionBar_subtitleTextStyle = 6; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#title} attribute's value can be found in the {@link #ActionBar} array.

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:title */ public static final int ActionBar_title = 1; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#titleTextStyle} attribute's value can be found in the {@link #ActionBar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:titleTextStyle */ public static final int ActionBar_titleTextStyle = 5; /** Attributes that can be used with a ActionBarLayout.

    Includes the following attributes:

    AttributeDescription
    {@link #ActionBarLayout_android_layout_gravity android:layout_gravity}
    @see #ActionBarLayout_android_layout_gravity */ public static final int[] ActionBarLayout = { 0x010100b3 }; /**

    This symbol is the offset where the {@link android.R.attr#layout_gravity} attribute's value can be found in the {@link #ActionBarLayout} array. @attr name android:layout_gravity */ public static final int ActionBarLayout_android_layout_gravity = 0; /** Attributes that can be used with a ActionMenuItemView.

    Includes the following attributes:

    AttributeDescription
    {@link #ActionMenuItemView_android_minWidth android:minWidth}
    @see #ActionMenuItemView_android_minWidth */ public static final int[] ActionMenuItemView = { 0x0101013f }; /**

    This symbol is the offset where the {@link android.R.attr#minWidth} attribute's value can be found in the {@link #ActionMenuItemView} array. @attr name android:minWidth */ public static final int ActionMenuItemView_android_minWidth = 0; /** Attributes that can be used with a ActionMenuView. */ public static final int[] ActionMenuView = { }; /** Attributes that can be used with a ActionMode.

    Includes the following attributes:

    AttributeDescription
    {@link #ActionMode_background com.thegaze:background}
    {@link #ActionMode_backgroundSplit com.thegaze:backgroundSplit}
    {@link #ActionMode_closeItemLayout com.thegaze:closeItemLayout}
    {@link #ActionMode_height com.thegaze:height}
    {@link #ActionMode_subtitleTextStyle com.thegaze:subtitleTextStyle}
    {@link #ActionMode_titleTextStyle com.thegaze:titleTextStyle}
    @see #ActionMode_background @see #ActionMode_backgroundSplit @see #ActionMode_closeItemLayout @see #ActionMode_height @see #ActionMode_subtitleTextStyle @see #ActionMode_titleTextStyle */ public static final int[] ActionMode = { 0x7f010001, 0x7f010007, 0x7f010008, 0x7f01000c, 0x7f01000e, 0x7f01001c }; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#background} attribute's value can be found in the {@link #ActionMode} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:background */ public static final int ActionMode_background = 3; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#backgroundSplit} attribute's value can be found in the {@link #ActionMode} array.

    May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

    May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb". @attr name com.thegaze:backgroundSplit */ public static final int ActionMode_backgroundSplit = 4; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#closeItemLayout} attribute's value can be found in the {@link #ActionMode} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:closeItemLayout */ public static final int ActionMode_closeItemLayout = 5; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#height} attribute's value can be found in the {@link #ActionMode} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:height */ public static final int ActionMode_height = 0; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#subtitleTextStyle} attribute's value can be found in the {@link #ActionMode} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:subtitleTextStyle */ public static final int ActionMode_subtitleTextStyle = 2; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#titleTextStyle} attribute's value can be found in the {@link #ActionMode} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:titleTextStyle */ public static final int ActionMode_titleTextStyle = 1; /** Attributes that can be used with a ActivityChooserView.

    Includes the following attributes:

    AttributeDescription
    {@link #ActivityChooserView_expandActivityOverflowButtonDrawable com.thegaze:expandActivityOverflowButtonDrawable}
    {@link #ActivityChooserView_initialActivityCount com.thegaze:initialActivityCount}
    @see #ActivityChooserView_expandActivityOverflowButtonDrawable @see #ActivityChooserView_initialActivityCount */ public static final int[] ActivityChooserView = { 0x7f01001d, 0x7f01001e }; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#expandActivityOverflowButtonDrawable} attribute's value can be found in the {@link #ActivityChooserView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:expandActivityOverflowButtonDrawable */ public static final int ActivityChooserView_expandActivityOverflowButtonDrawable = 1; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#initialActivityCount} attribute's value can be found in the {@link #ActivityChooserView} array.

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:initialActivityCount */ public static final int ActivityChooserView_initialActivityCount = 0; /** Attributes that can be used with a AlertDialog.

    Includes the following attributes:

    AttributeDescription
    {@link #AlertDialog_android_layout android:layout}
    {@link #AlertDialog_buttonPanelSideLayout com.thegaze:buttonPanelSideLayout}
    {@link #AlertDialog_listItemLayout com.thegaze:listItemLayout}
    {@link #AlertDialog_listLayout com.thegaze:listLayout}
    {@link #AlertDialog_multiChoiceItemLayout com.thegaze:multiChoiceItemLayout}
    {@link #AlertDialog_singleChoiceItemLayout com.thegaze:singleChoiceItemLayout}
    @see #AlertDialog_android_layout @see #AlertDialog_buttonPanelSideLayout @see #AlertDialog_listItemLayout @see #AlertDialog_listLayout @see #AlertDialog_multiChoiceItemLayout @see #AlertDialog_singleChoiceItemLayout */ public static final int[] AlertDialog = { 0x010100f2, 0x7f01001f, 0x7f010020, 0x7f010021, 0x7f010022, 0x7f010023 }; /**

    This symbol is the offset where the {@link android.R.attr#layout} attribute's value can be found in the {@link #AlertDialog} array. @attr name android:layout */ public static final int AlertDialog_android_layout = 0; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#buttonPanelSideLayout} attribute's value can be found in the {@link #AlertDialog} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:buttonPanelSideLayout */ public static final int AlertDialog_buttonPanelSideLayout = 1; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#listItemLayout} attribute's value can be found in the {@link #AlertDialog} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:listItemLayout */ public static final int AlertDialog_listItemLayout = 5; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#listLayout} attribute's value can be found in the {@link #AlertDialog} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:listLayout */ public static final int AlertDialog_listLayout = 2; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#multiChoiceItemLayout} attribute's value can be found in the {@link #AlertDialog} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:multiChoiceItemLayout */ public static final int AlertDialog_multiChoiceItemLayout = 3; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#singleChoiceItemLayout} attribute's value can be found in the {@link #AlertDialog} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:singleChoiceItemLayout */ public static final int AlertDialog_singleChoiceItemLayout = 4; /** Attributes that can be used with a AppCompatTextView.

    Includes the following attributes:

    AttributeDescription
    {@link #AppCompatTextView_android_textAppearance android:textAppearance}
    {@link #AppCompatTextView_textAllCaps com.thegaze:textAllCaps}
    @see #AppCompatTextView_android_textAppearance @see #AppCompatTextView_textAllCaps */ public static final int[] AppCompatTextView = { 0x01010034, 0x7f010024 }; /**

    This symbol is the offset where the {@link android.R.attr#textAppearance} attribute's value can be found in the {@link #AppCompatTextView} array. @attr name android:textAppearance */ public static final int AppCompatTextView_android_textAppearance = 0; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#textAllCaps} attribute's value can be found in the {@link #AppCompatTextView} array.

    May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

    May be a boolean value, either "true" or "false". @attr name com.thegaze:textAllCaps */ public static final int AppCompatTextView_textAllCaps = 1; /** Attributes that can be used with a CompoundButton.

    Includes the following attributes:

    AttributeDescription
    {@link #CompoundButton_android_button android:button}
    {@link #CompoundButton_buttonTint com.thegaze:buttonTint}
    {@link #CompoundButton_buttonTintMode com.thegaze:buttonTintMode}
    @see #CompoundButton_android_button @see #CompoundButton_buttonTint @see #CompoundButton_buttonTintMode */ public static final int[] CompoundButton = { 0x01010107, 0x7f010025, 0x7f010026 }; /**

    This symbol is the offset where the {@link android.R.attr#button} attribute's value can be found in the {@link #CompoundButton} array. @attr name android:button */ public static final int CompoundButton_android_button = 0; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#buttonTint} attribute's value can be found in the {@link #CompoundButton} array.

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:buttonTint */ public static final int CompoundButton_buttonTint = 1; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#buttonTintMode} attribute's value can be found in the {@link #CompoundButton} array.

    Must be one of the following constant values.

    ConstantValueDescription
    src_over3
    src_in5
    src_atop9
    multiply14
    screen15
    @attr name com.thegaze:buttonTintMode */ public static final int CompoundButton_buttonTintMode = 2; /** Attributes that can be used with a DrawerArrowToggle.

    Includes the following attributes:

    AttributeDescription
    {@link #DrawerArrowToggle_arrowHeadLength com.thegaze:arrowHeadLength}
    {@link #DrawerArrowToggle_arrowShaftLength com.thegaze:arrowShaftLength}
    {@link #DrawerArrowToggle_barLength com.thegaze:barLength}
    {@link #DrawerArrowToggle_color com.thegaze:color}
    {@link #DrawerArrowToggle_drawableSize com.thegaze:drawableSize}
    {@link #DrawerArrowToggle_gapBetweenBars com.thegaze:gapBetweenBars}
    {@link #DrawerArrowToggle_spinBars com.thegaze:spinBars}
    {@link #DrawerArrowToggle_thickness com.thegaze:thickness}
    @see #DrawerArrowToggle_arrowHeadLength @see #DrawerArrowToggle_arrowShaftLength @see #DrawerArrowToggle_barLength @see #DrawerArrowToggle_color @see #DrawerArrowToggle_drawableSize @see #DrawerArrowToggle_gapBetweenBars @see #DrawerArrowToggle_spinBars @see #DrawerArrowToggle_thickness */ public static final int[] DrawerArrowToggle = { 0x7f010027, 0x7f010028, 0x7f010029, 0x7f01002a, 0x7f01002b, 0x7f01002c, 0x7f01002d, 0x7f01002e }; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#arrowHeadLength} attribute's value can be found in the {@link #DrawerArrowToggle} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:arrowHeadLength */ public static final int DrawerArrowToggle_arrowHeadLength = 4; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#arrowShaftLength} attribute's value can be found in the {@link #DrawerArrowToggle} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:arrowShaftLength */ public static final int DrawerArrowToggle_arrowShaftLength = 5; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#barLength} attribute's value can be found in the {@link #DrawerArrowToggle} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:barLength */ public static final int DrawerArrowToggle_barLength = 6; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#color} attribute's value can be found in the {@link #DrawerArrowToggle} array.

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:color */ public static final int DrawerArrowToggle_color = 0; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#drawableSize} attribute's value can be found in the {@link #DrawerArrowToggle} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:drawableSize */ public static final int DrawerArrowToggle_drawableSize = 2; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#gapBetweenBars} attribute's value can be found in the {@link #DrawerArrowToggle} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:gapBetweenBars */ public static final int DrawerArrowToggle_gapBetweenBars = 3; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#spinBars} attribute's value can be found in the {@link #DrawerArrowToggle} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:spinBars */ public static final int DrawerArrowToggle_spinBars = 1; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#thickness} attribute's value can be found in the {@link #DrawerArrowToggle} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:thickness */ public static final int DrawerArrowToggle_thickness = 7; /** Attributes that can be used with a GenericDraweeView.

    Includes the following attributes:

    AttributeDescription
    {@link #GenericDraweeView_actualImageScaleType com.thegaze:actualImageScaleType}
    {@link #GenericDraweeView_backgroundImage com.thegaze:backgroundImage}
    {@link #GenericDraweeView_fadeDuration com.thegaze:fadeDuration}
    {@link #GenericDraweeView_failureImage com.thegaze:failureImage}
    {@link #GenericDraweeView_failureImageScaleType com.thegaze:failureImageScaleType}
    {@link #GenericDraweeView_overlayImage com.thegaze:overlayImage}
    {@link #GenericDraweeView_placeholderImage com.thegaze:placeholderImage}
    {@link #GenericDraweeView_placeholderImageScaleType com.thegaze:placeholderImageScaleType}
    {@link #GenericDraweeView_pressedStateOverlayImage com.thegaze:pressedStateOverlayImage}
    {@link #GenericDraweeView_progressBarAutoRotateInterval com.thegaze:progressBarAutoRotateInterval}
    {@link #GenericDraweeView_progressBarImage com.thegaze:progressBarImage}
    {@link #GenericDraweeView_progressBarImageScaleType com.thegaze:progressBarImageScaleType}
    {@link #GenericDraweeView_retryImage com.thegaze:retryImage}
    {@link #GenericDraweeView_retryImageScaleType com.thegaze:retryImageScaleType}
    {@link #GenericDraweeView_roundAsCircle com.thegaze:roundAsCircle}
    {@link #GenericDraweeView_roundBottomLeft com.thegaze:roundBottomLeft}
    {@link #GenericDraweeView_roundBottomRight com.thegaze:roundBottomRight}
    {@link #GenericDraweeView_roundTopLeft com.thegaze:roundTopLeft}
    {@link #GenericDraweeView_roundTopRight com.thegaze:roundTopRight}
    {@link #GenericDraweeView_roundWithOverlayColor com.thegaze:roundWithOverlayColor}
    {@link #GenericDraweeView_roundedCornerRadius com.thegaze:roundedCornerRadius}
    {@link #GenericDraweeView_roundingBorderColor com.thegaze:roundingBorderColor}
    {@link #GenericDraweeView_roundingBorderWidth com.thegaze:roundingBorderWidth}
    {@link #GenericDraweeView_viewAspectRatio com.thegaze:viewAspectRatio}
    @see #GenericDraweeView_actualImageScaleType @see #GenericDraweeView_backgroundImage @see #GenericDraweeView_fadeDuration @see #GenericDraweeView_failureImage @see #GenericDraweeView_failureImageScaleType @see #GenericDraweeView_overlayImage @see #GenericDraweeView_placeholderImage @see #GenericDraweeView_placeholderImageScaleType @see #GenericDraweeView_pressedStateOverlayImage @see #GenericDraweeView_progressBarAutoRotateInterval @see #GenericDraweeView_progressBarImage @see #GenericDraweeView_progressBarImageScaleType @see #GenericDraweeView_retryImage @see #GenericDraweeView_retryImageScaleType @see #GenericDraweeView_roundAsCircle @see #GenericDraweeView_roundBottomLeft @see #GenericDraweeView_roundBottomRight @see #GenericDraweeView_roundTopLeft @see #GenericDraweeView_roundTopRight @see #GenericDraweeView_roundWithOverlayColor @see #GenericDraweeView_roundedCornerRadius @see #GenericDraweeView_roundingBorderColor @see #GenericDraweeView_roundingBorderWidth @see #GenericDraweeView_viewAspectRatio */ public static final int[] GenericDraweeView = { 0x7f01002f, 0x7f010030, 0x7f010031, 0x7f010032, 0x7f010033, 0x7f010034, 0x7f010035, 0x7f010036, 0x7f010037, 0x7f010038, 0x7f010039, 0x7f01003a, 0x7f01003b, 0x7f01003c, 0x7f01003d, 0x7f01003e, 0x7f01003f, 0x7f010040, 0x7f010041, 0x7f010042, 0x7f010043, 0x7f010044, 0x7f010045, 0x7f010046 }; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actualImageScaleType} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be one of the following constant values.

    ConstantValueDescription
    none-1
    fitXY0
    fitStart1
    fitCenter2
    fitEnd3
    center4
    centerInside5
    centerCrop6
    focusCrop7
    @attr name com.thegaze:actualImageScaleType */ public static final int GenericDraweeView_actualImageScaleType = 11; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#backgroundImage} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:backgroundImage */ public static final int GenericDraweeView_backgroundImage = 12; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#fadeDuration} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be an integer value, such as "100".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:fadeDuration */ public static final int GenericDraweeView_fadeDuration = 0; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#failureImage} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:failureImage */ public static final int GenericDraweeView_failureImage = 6; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#failureImageScaleType} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be one of the following constant values.

    ConstantValueDescription
    none-1
    fitXY0
    fitStart1
    fitCenter2
    fitEnd3
    center4
    centerInside5
    centerCrop6
    focusCrop7
    @attr name com.thegaze:failureImageScaleType */ public static final int GenericDraweeView_failureImageScaleType = 7; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#overlayImage} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:overlayImage */ public static final int GenericDraweeView_overlayImage = 13; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#placeholderImage} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:placeholderImage */ public static final int GenericDraweeView_placeholderImage = 2; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#placeholderImageScaleType} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be one of the following constant values.

    ConstantValueDescription
    none-1
    fitXY0
    fitStart1
    fitCenter2
    fitEnd3
    center4
    centerInside5
    centerCrop6
    focusCrop7
    @attr name com.thegaze:placeholderImageScaleType */ public static final int GenericDraweeView_placeholderImageScaleType = 3; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#pressedStateOverlayImage} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:pressedStateOverlayImage */ public static final int GenericDraweeView_pressedStateOverlayImage = 14; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#progressBarAutoRotateInterval} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be an integer value, such as "100".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:progressBarAutoRotateInterval */ public static final int GenericDraweeView_progressBarAutoRotateInterval = 10; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#progressBarImage} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:progressBarImage */ public static final int GenericDraweeView_progressBarImage = 8; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#progressBarImageScaleType} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be one of the following constant values.

    ConstantValueDescription
    none-1
    fitXY0
    fitStart1
    fitCenter2
    fitEnd3
    center4
    centerInside5
    centerCrop6
    focusCrop7
    @attr name com.thegaze:progressBarImageScaleType */ public static final int GenericDraweeView_progressBarImageScaleType = 9; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#retryImage} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:retryImage */ public static final int GenericDraweeView_retryImage = 4; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#retryImageScaleType} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be one of the following constant values.

    ConstantValueDescription
    none-1
    fitXY0
    fitStart1
    fitCenter2
    fitEnd3
    center4
    centerInside5
    centerCrop6
    focusCrop7
    @attr name com.thegaze:retryImageScaleType */ public static final int GenericDraweeView_retryImageScaleType = 5; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#roundAsCircle} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:roundAsCircle */ public static final int GenericDraweeView_roundAsCircle = 15; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#roundBottomLeft} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:roundBottomLeft */ public static final int GenericDraweeView_roundBottomLeft = 20; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#roundBottomRight} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:roundBottomRight */ public static final int GenericDraweeView_roundBottomRight = 19; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#roundTopLeft} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:roundTopLeft */ public static final int GenericDraweeView_roundTopLeft = 17; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#roundTopRight} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:roundTopRight */ public static final int GenericDraweeView_roundTopRight = 18; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#roundWithOverlayColor} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:roundWithOverlayColor */ public static final int GenericDraweeView_roundWithOverlayColor = 21; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#roundedCornerRadius} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:roundedCornerRadius */ public static final int GenericDraweeView_roundedCornerRadius = 16; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#roundingBorderColor} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:roundingBorderColor */ public static final int GenericDraweeView_roundingBorderColor = 23; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#roundingBorderWidth} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:roundingBorderWidth */ public static final int GenericDraweeView_roundingBorderWidth = 22; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#viewAspectRatio} attribute's value can be found in the {@link #GenericDraweeView} array.

    Must be a floating point value, such as "1.2".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:viewAspectRatio */ public static final int GenericDraweeView_viewAspectRatio = 1; /** Attributes that can be used with a LinearLayoutCompat.

    Includes the following attributes:

    AttributeDescription
    {@link #LinearLayoutCompat_android_baselineAligned android:baselineAligned}
    {@link #LinearLayoutCompat_android_baselineAlignedChildIndex android:baselineAlignedChildIndex}
    {@link #LinearLayoutCompat_android_gravity android:gravity}
    {@link #LinearLayoutCompat_android_orientation android:orientation}
    {@link #LinearLayoutCompat_android_weightSum android:weightSum}
    {@link #LinearLayoutCompat_divider com.thegaze:divider}
    {@link #LinearLayoutCompat_dividerPadding com.thegaze:dividerPadding}
    {@link #LinearLayoutCompat_measureWithLargestChild com.thegaze:measureWithLargestChild}
    {@link #LinearLayoutCompat_showDividers com.thegaze:showDividers}
    @see #LinearLayoutCompat_android_baselineAligned @see #LinearLayoutCompat_android_baselineAlignedChildIndex @see #LinearLayoutCompat_android_gravity @see #LinearLayoutCompat_android_orientation @see #LinearLayoutCompat_android_weightSum @see #LinearLayoutCompat_divider @see #LinearLayoutCompat_dividerPadding @see #LinearLayoutCompat_measureWithLargestChild @see #LinearLayoutCompat_showDividers */ public static final int[] LinearLayoutCompat = { 0x010100af, 0x010100c4, 0x01010126, 0x01010127, 0x01010128, 0x7f01000b, 0x7f010047, 0x7f010048, 0x7f010049 }; /**

    This symbol is the offset where the {@link android.R.attr#baselineAligned} attribute's value can be found in the {@link #LinearLayoutCompat} array. @attr name android:baselineAligned */ public static final int LinearLayoutCompat_android_baselineAligned = 2; /**

    This symbol is the offset where the {@link android.R.attr#baselineAlignedChildIndex} attribute's value can be found in the {@link #LinearLayoutCompat} array. @attr name android:baselineAlignedChildIndex */ public static final int LinearLayoutCompat_android_baselineAlignedChildIndex = 3; /**

    This symbol is the offset where the {@link android.R.attr#gravity} attribute's value can be found in the {@link #LinearLayoutCompat} array. @attr name android:gravity */ public static final int LinearLayoutCompat_android_gravity = 0; /**

    This symbol is the offset where the {@link android.R.attr#orientation} attribute's value can be found in the {@link #LinearLayoutCompat} array. @attr name android:orientation */ public static final int LinearLayoutCompat_android_orientation = 1; /**

    This symbol is the offset where the {@link android.R.attr#weightSum} attribute's value can be found in the {@link #LinearLayoutCompat} array. @attr name android:weightSum */ public static final int LinearLayoutCompat_android_weightSum = 4; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#divider} attribute's value can be found in the {@link #LinearLayoutCompat} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:divider */ public static final int LinearLayoutCompat_divider = 5; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#dividerPadding} attribute's value can be found in the {@link #LinearLayoutCompat} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:dividerPadding */ public static final int LinearLayoutCompat_dividerPadding = 8; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#measureWithLargestChild} attribute's value can be found in the {@link #LinearLayoutCompat} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:measureWithLargestChild */ public static final int LinearLayoutCompat_measureWithLargestChild = 6; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#showDividers} attribute's value can be found in the {@link #LinearLayoutCompat} array.

    Must be one or more (separated by '|') of the following constant values.

    ConstantValueDescription
    none0
    beginning1
    middle2
    end4
    @attr name com.thegaze:showDividers */ public static final int LinearLayoutCompat_showDividers = 7; /** Attributes that can be used with a LinearLayoutCompat_Layout.

    Includes the following attributes:

    AttributeDescription
    {@link #LinearLayoutCompat_Layout_android_layout_gravity android:layout_gravity}
    {@link #LinearLayoutCompat_Layout_android_layout_height android:layout_height}
    {@link #LinearLayoutCompat_Layout_android_layout_weight android:layout_weight}
    {@link #LinearLayoutCompat_Layout_android_layout_width android:layout_width}
    @see #LinearLayoutCompat_Layout_android_layout_gravity @see #LinearLayoutCompat_Layout_android_layout_height @see #LinearLayoutCompat_Layout_android_layout_weight @see #LinearLayoutCompat_Layout_android_layout_width */ public static final int[] LinearLayoutCompat_Layout = { 0x010100b3, 0x010100f4, 0x010100f5, 0x01010181 }; /**

    This symbol is the offset where the {@link android.R.attr#layout_gravity} attribute's value can be found in the {@link #LinearLayoutCompat_Layout} array. @attr name android:layout_gravity */ public static final int LinearLayoutCompat_Layout_android_layout_gravity = 0; /**

    This symbol is the offset where the {@link android.R.attr#layout_height} attribute's value can be found in the {@link #LinearLayoutCompat_Layout} array. @attr name android:layout_height */ public static final int LinearLayoutCompat_Layout_android_layout_height = 2; /**

    This symbol is the offset where the {@link android.R.attr#layout_weight} attribute's value can be found in the {@link #LinearLayoutCompat_Layout} array. @attr name android:layout_weight */ public static final int LinearLayoutCompat_Layout_android_layout_weight = 3; /**

    This symbol is the offset where the {@link android.R.attr#layout_width} attribute's value can be found in the {@link #LinearLayoutCompat_Layout} array. @attr name android:layout_width */ public static final int LinearLayoutCompat_Layout_android_layout_width = 1; /** Attributes that can be used with a ListPopupWindow.

    Includes the following attributes:

    AttributeDescription
    {@link #ListPopupWindow_android_dropDownHorizontalOffset android:dropDownHorizontalOffset}
    {@link #ListPopupWindow_android_dropDownVerticalOffset android:dropDownVerticalOffset}
    @see #ListPopupWindow_android_dropDownHorizontalOffset @see #ListPopupWindow_android_dropDownVerticalOffset */ public static final int[] ListPopupWindow = { 0x010102ac, 0x010102ad }; /**

    This symbol is the offset where the {@link android.R.attr#dropDownHorizontalOffset} attribute's value can be found in the {@link #ListPopupWindow} array. @attr name android:dropDownHorizontalOffset */ public static final int ListPopupWindow_android_dropDownHorizontalOffset = 0; /**

    This symbol is the offset where the {@link android.R.attr#dropDownVerticalOffset} attribute's value can be found in the {@link #ListPopupWindow} array. @attr name android:dropDownVerticalOffset */ public static final int ListPopupWindow_android_dropDownVerticalOffset = 1; /** Attributes that can be used with a MenuGroup.

    Includes the following attributes:

    AttributeDescription
    {@link #MenuGroup_android_checkableBehavior android:checkableBehavior}
    {@link #MenuGroup_android_enabled android:enabled}
    {@link #MenuGroup_android_id android:id}
    {@link #MenuGroup_android_menuCategory android:menuCategory}
    {@link #MenuGroup_android_orderInCategory android:orderInCategory}
    {@link #MenuGroup_android_visible android:visible}
    @see #MenuGroup_android_checkableBehavior @see #MenuGroup_android_enabled @see #MenuGroup_android_id @see #MenuGroup_android_menuCategory @see #MenuGroup_android_orderInCategory @see #MenuGroup_android_visible */ public static final int[] MenuGroup = { 0x0101000e, 0x010100d0, 0x01010194, 0x010101de, 0x010101df, 0x010101e0 }; /**

    This symbol is the offset where the {@link android.R.attr#checkableBehavior} attribute's value can be found in the {@link #MenuGroup} array. @attr name android:checkableBehavior */ public static final int MenuGroup_android_checkableBehavior = 5; /**

    This symbol is the offset where the {@link android.R.attr#enabled} attribute's value can be found in the {@link #MenuGroup} array. @attr name android:enabled */ public static final int MenuGroup_android_enabled = 0; /**

    This symbol is the offset where the {@link android.R.attr#id} attribute's value can be found in the {@link #MenuGroup} array. @attr name android:id */ public static final int MenuGroup_android_id = 1; /**

    This symbol is the offset where the {@link android.R.attr#menuCategory} attribute's value can be found in the {@link #MenuGroup} array. @attr name android:menuCategory */ public static final int MenuGroup_android_menuCategory = 3; /**

    This symbol is the offset where the {@link android.R.attr#orderInCategory} attribute's value can be found in the {@link #MenuGroup} array. @attr name android:orderInCategory */ public static final int MenuGroup_android_orderInCategory = 4; /**

    This symbol is the offset where the {@link android.R.attr#visible} attribute's value can be found in the {@link #MenuGroup} array. @attr name android:visible */ public static final int MenuGroup_android_visible = 2; /** Attributes that can be used with a MenuItem.

    Includes the following attributes:

    AttributeDescription
    {@link #MenuItem_actionLayout com.thegaze:actionLayout}
    {@link #MenuItem_actionProviderClass com.thegaze:actionProviderClass}
    {@link #MenuItem_actionViewClass com.thegaze:actionViewClass}
    {@link #MenuItem_android_alphabeticShortcut android:alphabeticShortcut}
    {@link #MenuItem_android_checkable android:checkable}
    {@link #MenuItem_android_checked android:checked}
    {@link #MenuItem_android_enabled android:enabled}
    {@link #MenuItem_android_icon android:icon}
    {@link #MenuItem_android_id android:id}
    {@link #MenuItem_android_menuCategory android:menuCategory}
    {@link #MenuItem_android_numericShortcut android:numericShortcut}
    {@link #MenuItem_android_onClick android:onClick}
    {@link #MenuItem_android_orderInCategory android:orderInCategory}
    {@link #MenuItem_android_title android:title}
    {@link #MenuItem_android_titleCondensed android:titleCondensed}
    {@link #MenuItem_android_visible android:visible}
    {@link #MenuItem_showAsAction com.thegaze:showAsAction}
    @see #MenuItem_actionLayout @see #MenuItem_actionProviderClass @see #MenuItem_actionViewClass @see #MenuItem_android_alphabeticShortcut @see #MenuItem_android_checkable @see #MenuItem_android_checked @see #MenuItem_android_enabled @see #MenuItem_android_icon @see #MenuItem_android_id @see #MenuItem_android_menuCategory @see #MenuItem_android_numericShortcut @see #MenuItem_android_onClick @see #MenuItem_android_orderInCategory @see #MenuItem_android_title @see #MenuItem_android_titleCondensed @see #MenuItem_android_visible @see #MenuItem_showAsAction */ public static final int[] MenuItem = { 0x01010002, 0x0101000e, 0x010100d0, 0x01010106, 0x01010194, 0x010101de, 0x010101df, 0x010101e1, 0x010101e2, 0x010101e3, 0x010101e4, 0x010101e5, 0x0101026f, 0x7f01004a, 0x7f01004b, 0x7f01004c, 0x7f01004d }; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionLayout} attribute's value can be found in the {@link #MenuItem} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionLayout */ public static final int MenuItem_actionLayout = 14; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionProviderClass} attribute's value can be found in the {@link #MenuItem} array.

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:actionProviderClass */ public static final int MenuItem_actionProviderClass = 16; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionViewClass} attribute's value can be found in the {@link #MenuItem} array.

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:actionViewClass */ public static final int MenuItem_actionViewClass = 15; /**

    This symbol is the offset where the {@link android.R.attr#alphabeticShortcut} attribute's value can be found in the {@link #MenuItem} array. @attr name android:alphabeticShortcut */ public static final int MenuItem_android_alphabeticShortcut = 9; /**

    This symbol is the offset where the {@link android.R.attr#checkable} attribute's value can be found in the {@link #MenuItem} array. @attr name android:checkable */ public static final int MenuItem_android_checkable = 11; /**

    This symbol is the offset where the {@link android.R.attr#checked} attribute's value can be found in the {@link #MenuItem} array. @attr name android:checked */ public static final int MenuItem_android_checked = 3; /**

    This symbol is the offset where the {@link android.R.attr#enabled} attribute's value can be found in the {@link #MenuItem} array. @attr name android:enabled */ public static final int MenuItem_android_enabled = 1; /**

    This symbol is the offset where the {@link android.R.attr#icon} attribute's value can be found in the {@link #MenuItem} array. @attr name android:icon */ public static final int MenuItem_android_icon = 0; /**

    This symbol is the offset where the {@link android.R.attr#id} attribute's value can be found in the {@link #MenuItem} array. @attr name android:id */ public static final int MenuItem_android_id = 2; /**

    This symbol is the offset where the {@link android.R.attr#menuCategory} attribute's value can be found in the {@link #MenuItem} array. @attr name android:menuCategory */ public static final int MenuItem_android_menuCategory = 5; /**

    This symbol is the offset where the {@link android.R.attr#numericShortcut} attribute's value can be found in the {@link #MenuItem} array. @attr name android:numericShortcut */ public static final int MenuItem_android_numericShortcut = 10; /**

    This symbol is the offset where the {@link android.R.attr#onClick} attribute's value can be found in the {@link #MenuItem} array. @attr name android:onClick */ public static final int MenuItem_android_onClick = 12; /**

    This symbol is the offset where the {@link android.R.attr#orderInCategory} attribute's value can be found in the {@link #MenuItem} array. @attr name android:orderInCategory */ public static final int MenuItem_android_orderInCategory = 6; /**

    This symbol is the offset where the {@link android.R.attr#title} attribute's value can be found in the {@link #MenuItem} array. @attr name android:title */ public static final int MenuItem_android_title = 7; /**

    This symbol is the offset where the {@link android.R.attr#titleCondensed} attribute's value can be found in the {@link #MenuItem} array. @attr name android:titleCondensed */ public static final int MenuItem_android_titleCondensed = 8; /**

    This symbol is the offset where the {@link android.R.attr#visible} attribute's value can be found in the {@link #MenuItem} array. @attr name android:visible */ public static final int MenuItem_android_visible = 4; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#showAsAction} attribute's value can be found in the {@link #MenuItem} array.

    Must be one or more (separated by '|') of the following constant values.

    ConstantValueDescription
    never0
    ifRoom1
    always2
    withText4
    collapseActionView8
    @attr name com.thegaze:showAsAction */ public static final int MenuItem_showAsAction = 13; /** Attributes that can be used with a MenuView.

    Includes the following attributes:

    AttributeDescription
    {@link #MenuView_android_headerBackground android:headerBackground}
    {@link #MenuView_android_horizontalDivider android:horizontalDivider}
    {@link #MenuView_android_itemBackground android:itemBackground}
    {@link #MenuView_android_itemIconDisabledAlpha android:itemIconDisabledAlpha}
    {@link #MenuView_android_itemTextAppearance android:itemTextAppearance}
    {@link #MenuView_android_verticalDivider android:verticalDivider}
    {@link #MenuView_android_windowAnimationStyle android:windowAnimationStyle}
    {@link #MenuView_preserveIconSpacing com.thegaze:preserveIconSpacing}
    @see #MenuView_android_headerBackground @see #MenuView_android_horizontalDivider @see #MenuView_android_itemBackground @see #MenuView_android_itemIconDisabledAlpha @see #MenuView_android_itemTextAppearance @see #MenuView_android_verticalDivider @see #MenuView_android_windowAnimationStyle @see #MenuView_preserveIconSpacing */ public static final int[] MenuView = { 0x010100ae, 0x0101012c, 0x0101012d, 0x0101012e, 0x0101012f, 0x01010130, 0x01010131, 0x7f01004e }; /**

    This symbol is the offset where the {@link android.R.attr#headerBackground} attribute's value can be found in the {@link #MenuView} array. @attr name android:headerBackground */ public static final int MenuView_android_headerBackground = 4; /**

    This symbol is the offset where the {@link android.R.attr#horizontalDivider} attribute's value can be found in the {@link #MenuView} array. @attr name android:horizontalDivider */ public static final int MenuView_android_horizontalDivider = 2; /**

    This symbol is the offset where the {@link android.R.attr#itemBackground} attribute's value can be found in the {@link #MenuView} array. @attr name android:itemBackground */ public static final int MenuView_android_itemBackground = 5; /**

    This symbol is the offset where the {@link android.R.attr#itemIconDisabledAlpha} attribute's value can be found in the {@link #MenuView} array. @attr name android:itemIconDisabledAlpha */ public static final int MenuView_android_itemIconDisabledAlpha = 6; /**

    This symbol is the offset where the {@link android.R.attr#itemTextAppearance} attribute's value can be found in the {@link #MenuView} array. @attr name android:itemTextAppearance */ public static final int MenuView_android_itemTextAppearance = 1; /**

    This symbol is the offset where the {@link android.R.attr#verticalDivider} attribute's value can be found in the {@link #MenuView} array. @attr name android:verticalDivider */ public static final int MenuView_android_verticalDivider = 3; /**

    This symbol is the offset where the {@link android.R.attr#windowAnimationStyle} attribute's value can be found in the {@link #MenuView} array. @attr name android:windowAnimationStyle */ public static final int MenuView_android_windowAnimationStyle = 0; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#preserveIconSpacing} attribute's value can be found in the {@link #MenuView} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:preserveIconSpacing */ public static final int MenuView_preserveIconSpacing = 7; /** Attributes that can be used with a PopupWindow.

    Includes the following attributes:

    AttributeDescription
    {@link #PopupWindow_android_popupBackground android:popupBackground}
    {@link #PopupWindow_overlapAnchor com.thegaze:overlapAnchor}
    @see #PopupWindow_android_popupBackground @see #PopupWindow_overlapAnchor */ public static final int[] PopupWindow = { 0x01010176, 0x7f01004f }; /**

    This symbol is the offset where the {@link android.R.attr#popupBackground} attribute's value can be found in the {@link #PopupWindow} array. @attr name android:popupBackground */ public static final int PopupWindow_android_popupBackground = 0; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#overlapAnchor} attribute's value can be found in the {@link #PopupWindow} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:overlapAnchor */ public static final int PopupWindow_overlapAnchor = 1; /** Attributes that can be used with a PopupWindowBackgroundState.

    Includes the following attributes:

    AttributeDescription
    {@link #PopupWindowBackgroundState_state_above_anchor com.thegaze:state_above_anchor}
    @see #PopupWindowBackgroundState_state_above_anchor */ public static final int[] PopupWindowBackgroundState = { 0x7f010050 }; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#state_above_anchor} attribute's value can be found in the {@link #PopupWindowBackgroundState} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:state_above_anchor */ public static final int PopupWindowBackgroundState_state_above_anchor = 0; /** Attributes that can be used with a RecyclerView.

    Includes the following attributes:

    AttributeDescription
    {@link #RecyclerView_android_orientation android:orientation}
    {@link #RecyclerView_layoutManager com.thegaze:layoutManager}
    {@link #RecyclerView_reverseLayout com.thegaze:reverseLayout}
    {@link #RecyclerView_spanCount com.thegaze:spanCount}
    {@link #RecyclerView_stackFromEnd com.thegaze:stackFromEnd}
    @see #RecyclerView_android_orientation @see #RecyclerView_layoutManager @see #RecyclerView_reverseLayout @see #RecyclerView_spanCount @see #RecyclerView_stackFromEnd */ public static final int[] RecyclerView = { 0x010100c4, 0x7f010051, 0x7f010052, 0x7f010053, 0x7f010054 }; /**

    This symbol is the offset where the {@link android.R.attr#orientation} attribute's value can be found in the {@link #RecyclerView} array. @attr name android:orientation */ public static final int RecyclerView_android_orientation = 0; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#layoutManager} attribute's value can be found in the {@link #RecyclerView} array.

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:layoutManager */ public static final int RecyclerView_layoutManager = 1; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#reverseLayout} attribute's value can be found in the {@link #RecyclerView} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:reverseLayout */ public static final int RecyclerView_reverseLayout = 3; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#spanCount} attribute's value can be found in the {@link #RecyclerView} array.

    Must be an integer value, such as "100".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:spanCount */ public static final int RecyclerView_spanCount = 2; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#stackFromEnd} attribute's value can be found in the {@link #RecyclerView} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:stackFromEnd */ public static final int RecyclerView_stackFromEnd = 4; /** Attributes that can be used with a SearchView.

    Includes the following attributes:

    AttributeDescription
    {@link #SearchView_android_focusable android:focusable}
    {@link #SearchView_android_imeOptions android:imeOptions}
    {@link #SearchView_android_inputType android:inputType}
    {@link #SearchView_android_maxWidth android:maxWidth}
    {@link #SearchView_closeIcon com.thegaze:closeIcon}
    {@link #SearchView_commitIcon com.thegaze:commitIcon}
    {@link #SearchView_defaultQueryHint com.thegaze:defaultQueryHint}
    {@link #SearchView_goIcon com.thegaze:goIcon}
    {@link #SearchView_iconifiedByDefault com.thegaze:iconifiedByDefault}
    {@link #SearchView_layout com.thegaze:layout}
    {@link #SearchView_queryBackground com.thegaze:queryBackground}
    {@link #SearchView_queryHint com.thegaze:queryHint}
    {@link #SearchView_searchHintIcon com.thegaze:searchHintIcon}
    {@link #SearchView_searchIcon com.thegaze:searchIcon}
    {@link #SearchView_submitBackground com.thegaze:submitBackground}
    {@link #SearchView_suggestionRowLayout com.thegaze:suggestionRowLayout}
    {@link #SearchView_voiceIcon com.thegaze:voiceIcon}
    @see #SearchView_android_focusable @see #SearchView_android_imeOptions @see #SearchView_android_inputType @see #SearchView_android_maxWidth @see #SearchView_closeIcon @see #SearchView_commitIcon @see #SearchView_defaultQueryHint @see #SearchView_goIcon @see #SearchView_iconifiedByDefault @see #SearchView_layout @see #SearchView_queryBackground @see #SearchView_queryHint @see #SearchView_searchHintIcon @see #SearchView_searchIcon @see #SearchView_submitBackground @see #SearchView_suggestionRowLayout @see #SearchView_voiceIcon */ public static final int[] SearchView = { 0x010100da, 0x0101011f, 0x01010220, 0x01010264, 0x7f010055, 0x7f010056, 0x7f010057, 0x7f010058, 0x7f010059, 0x7f01005a, 0x7f01005b, 0x7f01005c, 0x7f01005d, 0x7f01005e, 0x7f01005f, 0x7f010060, 0x7f010061 }; /**

    This symbol is the offset where the {@link android.R.attr#focusable} attribute's value can be found in the {@link #SearchView} array. @attr name android:focusable */ public static final int SearchView_android_focusable = 0; /**

    This symbol is the offset where the {@link android.R.attr#imeOptions} attribute's value can be found in the {@link #SearchView} array. @attr name android:imeOptions */ public static final int SearchView_android_imeOptions = 3; /**

    This symbol is the offset where the {@link android.R.attr#inputType} attribute's value can be found in the {@link #SearchView} array. @attr name android:inputType */ public static final int SearchView_android_inputType = 2; /**

    This symbol is the offset where the {@link android.R.attr#maxWidth} attribute's value can be found in the {@link #SearchView} array. @attr name android:maxWidth */ public static final int SearchView_android_maxWidth = 1; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#closeIcon} attribute's value can be found in the {@link #SearchView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:closeIcon */ public static final int SearchView_closeIcon = 8; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#commitIcon} attribute's value can be found in the {@link #SearchView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:commitIcon */ public static final int SearchView_commitIcon = 13; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#defaultQueryHint} attribute's value can be found in the {@link #SearchView} array.

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:defaultQueryHint */ public static final int SearchView_defaultQueryHint = 7; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#goIcon} attribute's value can be found in the {@link #SearchView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:goIcon */ public static final int SearchView_goIcon = 9; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#iconifiedByDefault} attribute's value can be found in the {@link #SearchView} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:iconifiedByDefault */ public static final int SearchView_iconifiedByDefault = 5; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#layout} attribute's value can be found in the {@link #SearchView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:layout */ public static final int SearchView_layout = 4; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#queryBackground} attribute's value can be found in the {@link #SearchView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:queryBackground */ public static final int SearchView_queryBackground = 15; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#queryHint} attribute's value can be found in the {@link #SearchView} array.

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:queryHint */ public static final int SearchView_queryHint = 6; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#searchHintIcon} attribute's value can be found in the {@link #SearchView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:searchHintIcon */ public static final int SearchView_searchHintIcon = 11; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#searchIcon} attribute's value can be found in the {@link #SearchView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:searchIcon */ public static final int SearchView_searchIcon = 10; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#submitBackground} attribute's value can be found in the {@link #SearchView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:submitBackground */ public static final int SearchView_submitBackground = 16; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#suggestionRowLayout} attribute's value can be found in the {@link #SearchView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:suggestionRowLayout */ public static final int SearchView_suggestionRowLayout = 14; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#voiceIcon} attribute's value can be found in the {@link #SearchView} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:voiceIcon */ public static final int SearchView_voiceIcon = 12; /** Attributes that can be used with a Spinner.

    Includes the following attributes:

    AttributeDescription
    {@link #Spinner_android_dropDownWidth android:dropDownWidth}
    {@link #Spinner_android_popupBackground android:popupBackground}
    {@link #Spinner_android_prompt android:prompt}
    {@link #Spinner_popupTheme com.thegaze:popupTheme}
    @see #Spinner_android_dropDownWidth @see #Spinner_android_popupBackground @see #Spinner_android_prompt @see #Spinner_popupTheme */ public static final int[] Spinner = { 0x01010176, 0x0101017b, 0x01010262, 0x7f01001b }; /**

    This symbol is the offset where the {@link android.R.attr#dropDownWidth} attribute's value can be found in the {@link #Spinner} array. @attr name android:dropDownWidth */ public static final int Spinner_android_dropDownWidth = 2; /**

    This symbol is the offset where the {@link android.R.attr#popupBackground} attribute's value can be found in the {@link #Spinner} array. @attr name android:popupBackground */ public static final int Spinner_android_popupBackground = 0; /**

    This symbol is the offset where the {@link android.R.attr#prompt} attribute's value can be found in the {@link #Spinner} array. @attr name android:prompt */ public static final int Spinner_android_prompt = 1; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#popupTheme} attribute's value can be found in the {@link #Spinner} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:popupTheme */ public static final int Spinner_popupTheme = 3; /** Attributes that can be used with a SwitchCompat.

    Includes the following attributes:

    AttributeDescription
    {@link #SwitchCompat_android_textOff android:textOff}
    {@link #SwitchCompat_android_textOn android:textOn}
    {@link #SwitchCompat_android_thumb android:thumb}
    {@link #SwitchCompat_showText com.thegaze:showText}
    {@link #SwitchCompat_splitTrack com.thegaze:splitTrack}
    {@link #SwitchCompat_switchMinWidth com.thegaze:switchMinWidth}
    {@link #SwitchCompat_switchPadding com.thegaze:switchPadding}
    {@link #SwitchCompat_switchTextAppearance com.thegaze:switchTextAppearance}
    {@link #SwitchCompat_thumbTextPadding com.thegaze:thumbTextPadding}
    {@link #SwitchCompat_track com.thegaze:track}
    @see #SwitchCompat_android_textOff @see #SwitchCompat_android_textOn @see #SwitchCompat_android_thumb @see #SwitchCompat_showText @see #SwitchCompat_splitTrack @see #SwitchCompat_switchMinWidth @see #SwitchCompat_switchPadding @see #SwitchCompat_switchTextAppearance @see #SwitchCompat_thumbTextPadding @see #SwitchCompat_track */ public static final int[] SwitchCompat = { 0x01010124, 0x01010125, 0x01010142, 0x7f010062, 0x7f010063, 0x7f010064, 0x7f010065, 0x7f010066, 0x7f010067, 0x7f010068 }; /**

    This symbol is the offset where the {@link android.R.attr#textOff} attribute's value can be found in the {@link #SwitchCompat} array. @attr name android:textOff */ public static final int SwitchCompat_android_textOff = 1; /**

    This symbol is the offset where the {@link android.R.attr#textOn} attribute's value can be found in the {@link #SwitchCompat} array. @attr name android:textOn */ public static final int SwitchCompat_android_textOn = 0; /**

    This symbol is the offset where the {@link android.R.attr#thumb} attribute's value can be found in the {@link #SwitchCompat} array. @attr name android:thumb */ public static final int SwitchCompat_android_thumb = 2; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#showText} attribute's value can be found in the {@link #SwitchCompat} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:showText */ public static final int SwitchCompat_showText = 9; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#splitTrack} attribute's value can be found in the {@link #SwitchCompat} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:splitTrack */ public static final int SwitchCompat_splitTrack = 8; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#switchMinWidth} attribute's value can be found in the {@link #SwitchCompat} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:switchMinWidth */ public static final int SwitchCompat_switchMinWidth = 6; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#switchPadding} attribute's value can be found in the {@link #SwitchCompat} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:switchPadding */ public static final int SwitchCompat_switchPadding = 7; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#switchTextAppearance} attribute's value can be found in the {@link #SwitchCompat} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:switchTextAppearance */ public static final int SwitchCompat_switchTextAppearance = 5; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#thumbTextPadding} attribute's value can be found in the {@link #SwitchCompat} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:thumbTextPadding */ public static final int SwitchCompat_thumbTextPadding = 4; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#track} attribute's value can be found in the {@link #SwitchCompat} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:track */ public static final int SwitchCompat_track = 3; /** Attributes that can be used with a TextAppearance.

    Includes the following attributes:

    AttributeDescription
    {@link #TextAppearance_android_textColor android:textColor}
    {@link #TextAppearance_android_textSize android:textSize}
    {@link #TextAppearance_android_textStyle android:textStyle}
    {@link #TextAppearance_android_typeface android:typeface}
    {@link #TextAppearance_textAllCaps com.thegaze:textAllCaps}
    @see #TextAppearance_android_textColor @see #TextAppearance_android_textSize @see #TextAppearance_android_textStyle @see #TextAppearance_android_typeface @see #TextAppearance_textAllCaps */ public static final int[] TextAppearance = { 0x01010095, 0x01010096, 0x01010097, 0x01010098, 0x7f010024 }; /**

    This symbol is the offset where the {@link android.R.attr#textColor} attribute's value can be found in the {@link #TextAppearance} array. @attr name android:textColor */ public static final int TextAppearance_android_textColor = 3; /**

    This symbol is the offset where the {@link android.R.attr#textSize} attribute's value can be found in the {@link #TextAppearance} array. @attr name android:textSize */ public static final int TextAppearance_android_textSize = 0; /**

    This symbol is the offset where the {@link android.R.attr#textStyle} attribute's value can be found in the {@link #TextAppearance} array. @attr name android:textStyle */ public static final int TextAppearance_android_textStyle = 2; /**

    This symbol is the offset where the {@link android.R.attr#typeface} attribute's value can be found in the {@link #TextAppearance} array. @attr name android:typeface */ public static final int TextAppearance_android_typeface = 1; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#textAllCaps} attribute's value can be found in the {@link #TextAppearance} array.

    May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

    May be a boolean value, either "true" or "false". @attr name com.thegaze:textAllCaps */ public static final int TextAppearance_textAllCaps = 4; /** Attributes that can be used with a Theme.

    Includes the following attributes:

    AttributeDescription
    {@link #Theme_actionBarDivider com.thegaze:actionBarDivider}
    {@link #Theme_actionBarItemBackground com.thegaze:actionBarItemBackground}
    {@link #Theme_actionBarPopupTheme com.thegaze:actionBarPopupTheme}
    {@link #Theme_actionBarSize com.thegaze:actionBarSize}
    {@link #Theme_actionBarSplitStyle com.thegaze:actionBarSplitStyle}
    {@link #Theme_actionBarStyle com.thegaze:actionBarStyle}
    {@link #Theme_actionBarTabBarStyle com.thegaze:actionBarTabBarStyle}
    {@link #Theme_actionBarTabStyle com.thegaze:actionBarTabStyle}
    {@link #Theme_actionBarTabTextStyle com.thegaze:actionBarTabTextStyle}
    {@link #Theme_actionBarTheme com.thegaze:actionBarTheme}
    {@link #Theme_actionBarWidgetTheme com.thegaze:actionBarWidgetTheme}
    {@link #Theme_actionButtonStyle com.thegaze:actionButtonStyle}
    {@link #Theme_actionDropDownStyle com.thegaze:actionDropDownStyle}
    {@link #Theme_actionMenuTextAppearance com.thegaze:actionMenuTextAppearance}
    {@link #Theme_actionMenuTextColor com.thegaze:actionMenuTextColor}
    {@link #Theme_actionModeBackground com.thegaze:actionModeBackground}
    {@link #Theme_actionModeCloseButtonStyle com.thegaze:actionModeCloseButtonStyle}
    {@link #Theme_actionModeCloseDrawable com.thegaze:actionModeCloseDrawable}
    {@link #Theme_actionModeCopyDrawable com.thegaze:actionModeCopyDrawable}
    {@link #Theme_actionModeCutDrawable com.thegaze:actionModeCutDrawable}
    {@link #Theme_actionModeFindDrawable com.thegaze:actionModeFindDrawable}
    {@link #Theme_actionModePasteDrawable com.thegaze:actionModePasteDrawable}
    {@link #Theme_actionModePopupWindowStyle com.thegaze:actionModePopupWindowStyle}
    {@link #Theme_actionModeSelectAllDrawable com.thegaze:actionModeSelectAllDrawable}
    {@link #Theme_actionModeShareDrawable com.thegaze:actionModeShareDrawable}
    {@link #Theme_actionModeSplitBackground com.thegaze:actionModeSplitBackground}
    {@link #Theme_actionModeStyle com.thegaze:actionModeStyle}
    {@link #Theme_actionModeWebSearchDrawable com.thegaze:actionModeWebSearchDrawable}
    {@link #Theme_actionOverflowButtonStyle com.thegaze:actionOverflowButtonStyle}
    {@link #Theme_actionOverflowMenuStyle com.thegaze:actionOverflowMenuStyle}
    {@link #Theme_activityChooserViewStyle com.thegaze:activityChooserViewStyle}
    {@link #Theme_alertDialogButtonGroupStyle com.thegaze:alertDialogButtonGroupStyle}
    {@link #Theme_alertDialogCenterButtons com.thegaze:alertDialogCenterButtons}
    {@link #Theme_alertDialogStyle com.thegaze:alertDialogStyle}
    {@link #Theme_alertDialogTheme com.thegaze:alertDialogTheme}
    {@link #Theme_android_windowAnimationStyle android:windowAnimationStyle}
    {@link #Theme_android_windowIsFloating android:windowIsFloating}
    {@link #Theme_autoCompleteTextViewStyle com.thegaze:autoCompleteTextViewStyle}
    {@link #Theme_borderlessButtonStyle com.thegaze:borderlessButtonStyle}
    {@link #Theme_buttonBarButtonStyle com.thegaze:buttonBarButtonStyle}
    {@link #Theme_buttonBarNegativeButtonStyle com.thegaze:buttonBarNegativeButtonStyle}
    {@link #Theme_buttonBarNeutralButtonStyle com.thegaze:buttonBarNeutralButtonStyle}
    {@link #Theme_buttonBarPositiveButtonStyle com.thegaze:buttonBarPositiveButtonStyle}
    {@link #Theme_buttonBarStyle com.thegaze:buttonBarStyle}
    {@link #Theme_buttonStyle com.thegaze:buttonStyle}
    {@link #Theme_buttonStyleSmall com.thegaze:buttonStyleSmall}
    {@link #Theme_checkboxStyle com.thegaze:checkboxStyle}
    {@link #Theme_checkedTextViewStyle com.thegaze:checkedTextViewStyle}
    {@link #Theme_colorAccent com.thegaze:colorAccent}
    {@link #Theme_colorButtonNormal com.thegaze:colorButtonNormal}
    {@link #Theme_colorControlActivated com.thegaze:colorControlActivated}
    {@link #Theme_colorControlHighlight com.thegaze:colorControlHighlight}
    {@link #Theme_colorControlNormal com.thegaze:colorControlNormal}
    {@link #Theme_colorPrimary com.thegaze:colorPrimary}
    {@link #Theme_colorPrimaryDark com.thegaze:colorPrimaryDark}
    {@link #Theme_colorSwitchThumbNormal com.thegaze:colorSwitchThumbNormal}
    {@link #Theme_controlBackground com.thegaze:controlBackground}
    {@link #Theme_dialogPreferredPadding com.thegaze:dialogPreferredPadding}
    {@link #Theme_dialogTheme com.thegaze:dialogTheme}
    {@link #Theme_dividerHorizontal com.thegaze:dividerHorizontal}
    {@link #Theme_dividerVertical com.thegaze:dividerVertical}
    {@link #Theme_dropDownListViewStyle com.thegaze:dropDownListViewStyle}
    {@link #Theme_dropdownListPreferredItemHeight com.thegaze:dropdownListPreferredItemHeight}
    {@link #Theme_editTextBackground com.thegaze:editTextBackground}
    {@link #Theme_editTextColor com.thegaze:editTextColor}
    {@link #Theme_editTextStyle com.thegaze:editTextStyle}
    {@link #Theme_homeAsUpIndicator com.thegaze:homeAsUpIndicator}
    {@link #Theme_listChoiceBackgroundIndicator com.thegaze:listChoiceBackgroundIndicator}
    {@link #Theme_listDividerAlertDialog com.thegaze:listDividerAlertDialog}
    {@link #Theme_listPopupWindowStyle com.thegaze:listPopupWindowStyle}
    {@link #Theme_listPreferredItemHeight com.thegaze:listPreferredItemHeight}
    {@link #Theme_listPreferredItemHeightLarge com.thegaze:listPreferredItemHeightLarge}
    {@link #Theme_listPreferredItemHeightSmall com.thegaze:listPreferredItemHeightSmall}
    {@link #Theme_listPreferredItemPaddingLeft com.thegaze:listPreferredItemPaddingLeft}
    {@link #Theme_listPreferredItemPaddingRight com.thegaze:listPreferredItemPaddingRight}
    {@link #Theme_panelBackground com.thegaze:panelBackground}
    {@link #Theme_panelMenuListTheme com.thegaze:panelMenuListTheme}
    {@link #Theme_panelMenuListWidth com.thegaze:panelMenuListWidth}
    {@link #Theme_popupMenuStyle com.thegaze:popupMenuStyle}
    {@link #Theme_popupWindowStyle com.thegaze:popupWindowStyle}
    {@link #Theme_radioButtonStyle com.thegaze:radioButtonStyle}
    {@link #Theme_ratingBarStyle com.thegaze:ratingBarStyle}
    {@link #Theme_searchViewStyle com.thegaze:searchViewStyle}
    {@link #Theme_selectableItemBackground com.thegaze:selectableItemBackground}
    {@link #Theme_selectableItemBackgroundBorderless com.thegaze:selectableItemBackgroundBorderless}
    {@link #Theme_spinnerDropDownItemStyle com.thegaze:spinnerDropDownItemStyle}
    {@link #Theme_spinnerStyle com.thegaze:spinnerStyle}
    {@link #Theme_switchStyle com.thegaze:switchStyle}
    {@link #Theme_textAppearanceLargePopupMenu com.thegaze:textAppearanceLargePopupMenu}
    {@link #Theme_textAppearanceListItem com.thegaze:textAppearanceListItem}
    {@link #Theme_textAppearanceListItemSmall com.thegaze:textAppearanceListItemSmall}
    {@link #Theme_textAppearanceSearchResultSubtitle com.thegaze:textAppearanceSearchResultSubtitle}
    {@link #Theme_textAppearanceSearchResultTitle com.thegaze:textAppearanceSearchResultTitle}
    {@link #Theme_textAppearanceSmallPopupMenu com.thegaze:textAppearanceSmallPopupMenu}
    {@link #Theme_textColorAlertDialogListItem com.thegaze:textColorAlertDialogListItem}
    {@link #Theme_textColorSearchUrl com.thegaze:textColorSearchUrl}
    {@link #Theme_toolbarNavigationButtonStyle com.thegaze:toolbarNavigationButtonStyle}
    {@link #Theme_toolbarStyle com.thegaze:toolbarStyle}
    {@link #Theme_windowActionBar com.thegaze:windowActionBar}
    {@link #Theme_windowActionBarOverlay com.thegaze:windowActionBarOverlay}
    {@link #Theme_windowActionModeOverlay com.thegaze:windowActionModeOverlay}
    {@link #Theme_windowFixedHeightMajor com.thegaze:windowFixedHeightMajor}
    {@link #Theme_windowFixedHeightMinor com.thegaze:windowFixedHeightMinor}
    {@link #Theme_windowFixedWidthMajor com.thegaze:windowFixedWidthMajor}
    {@link #Theme_windowFixedWidthMinor com.thegaze:windowFixedWidthMinor}
    {@link #Theme_windowMinWidthMajor com.thegaze:windowMinWidthMajor}
    {@link #Theme_windowMinWidthMinor com.thegaze:windowMinWidthMinor}
    {@link #Theme_windowNoTitle com.thegaze:windowNoTitle}
    @see #Theme_actionBarDivider @see #Theme_actionBarItemBackground @see #Theme_actionBarPopupTheme @see #Theme_actionBarSize @see #Theme_actionBarSplitStyle @see #Theme_actionBarStyle @see #Theme_actionBarTabBarStyle @see #Theme_actionBarTabStyle @see #Theme_actionBarTabTextStyle @see #Theme_actionBarTheme @see #Theme_actionBarWidgetTheme @see #Theme_actionButtonStyle @see #Theme_actionDropDownStyle @see #Theme_actionMenuTextAppearance @see #Theme_actionMenuTextColor @see #Theme_actionModeBackground @see #Theme_actionModeCloseButtonStyle @see #Theme_actionModeCloseDrawable @see #Theme_actionModeCopyDrawable @see #Theme_actionModeCutDrawable @see #Theme_actionModeFindDrawable @see #Theme_actionModePasteDrawable @see #Theme_actionModePopupWindowStyle @see #Theme_actionModeSelectAllDrawable @see #Theme_actionModeShareDrawable @see #Theme_actionModeSplitBackground @see #Theme_actionModeStyle @see #Theme_actionModeWebSearchDrawable @see #Theme_actionOverflowButtonStyle @see #Theme_actionOverflowMenuStyle @see #Theme_activityChooserViewStyle @see #Theme_alertDialogButtonGroupStyle @see #Theme_alertDialogCenterButtons @see #Theme_alertDialogStyle @see #Theme_alertDialogTheme @see #Theme_android_windowAnimationStyle @see #Theme_android_windowIsFloating @see #Theme_autoCompleteTextViewStyle @see #Theme_borderlessButtonStyle @see #Theme_buttonBarButtonStyle @see #Theme_buttonBarNegativeButtonStyle @see #Theme_buttonBarNeutralButtonStyle @see #Theme_buttonBarPositiveButtonStyle @see #Theme_buttonBarStyle @see #Theme_buttonStyle @see #Theme_buttonStyleSmall @see #Theme_checkboxStyle @see #Theme_checkedTextViewStyle @see #Theme_colorAccent @see #Theme_colorButtonNormal @see #Theme_colorControlActivated @see #Theme_colorControlHighlight @see #Theme_colorControlNormal @see #Theme_colorPrimary @see #Theme_colorPrimaryDark @see #Theme_colorSwitchThumbNormal @see #Theme_controlBackground @see #Theme_dialogPreferredPadding @see #Theme_dialogTheme @see #Theme_dividerHorizontal @see #Theme_dividerVertical @see #Theme_dropDownListViewStyle @see #Theme_dropdownListPreferredItemHeight @see #Theme_editTextBackground @see #Theme_editTextColor @see #Theme_editTextStyle @see #Theme_homeAsUpIndicator @see #Theme_listChoiceBackgroundIndicator @see #Theme_listDividerAlertDialog @see #Theme_listPopupWindowStyle @see #Theme_listPreferredItemHeight @see #Theme_listPreferredItemHeightLarge @see #Theme_listPreferredItemHeightSmall @see #Theme_listPreferredItemPaddingLeft @see #Theme_listPreferredItemPaddingRight @see #Theme_panelBackground @see #Theme_panelMenuListTheme @see #Theme_panelMenuListWidth @see #Theme_popupMenuStyle @see #Theme_popupWindowStyle @see #Theme_radioButtonStyle @see #Theme_ratingBarStyle @see #Theme_searchViewStyle @see #Theme_selectableItemBackground @see #Theme_selectableItemBackgroundBorderless @see #Theme_spinnerDropDownItemStyle @see #Theme_spinnerStyle @see #Theme_switchStyle @see #Theme_textAppearanceLargePopupMenu @see #Theme_textAppearanceListItem @see #Theme_textAppearanceListItemSmall @see #Theme_textAppearanceSearchResultSubtitle @see #Theme_textAppearanceSearchResultTitle @see #Theme_textAppearanceSmallPopupMenu @see #Theme_textColorAlertDialogListItem @see #Theme_textColorSearchUrl @see #Theme_toolbarNavigationButtonStyle @see #Theme_toolbarStyle @see #Theme_windowActionBar @see #Theme_windowActionBarOverlay @see #Theme_windowActionModeOverlay @see #Theme_windowFixedHeightMajor @see #Theme_windowFixedHeightMinor @see #Theme_windowFixedWidthMajor @see #Theme_windowFixedWidthMinor @see #Theme_windowMinWidthMajor @see #Theme_windowMinWidthMinor @see #Theme_windowNoTitle */ public static final int[] Theme = { 0x01010057, 0x010100ae, 0x7f010069, 0x7f01006a, 0x7f01006b, 0x7f01006c, 0x7f01006d, 0x7f01006e, 0x7f01006f, 0x7f010070, 0x7f010071, 0x7f010072, 0x7f010073, 0x7f010074, 0x7f010075, 0x7f010076, 0x7f010077, 0x7f010078, 0x7f010079, 0x7f01007a, 0x7f01007b, 0x7f01007c, 0x7f01007d, 0x7f01007e, 0x7f01007f, 0x7f010080, 0x7f010081, 0x7f010082, 0x7f010083, 0x7f010084, 0x7f010085, 0x7f010086, 0x7f010087, 0x7f010088, 0x7f010089, 0x7f01008a, 0x7f01008b, 0x7f01008c, 0x7f01008d, 0x7f01008e, 0x7f01008f, 0x7f010090, 0x7f010091, 0x7f010092, 0x7f010093, 0x7f010094, 0x7f010095, 0x7f010096, 0x7f010097, 0x7f010098, 0x7f010099, 0x7f01009a, 0x7f01009b, 0x7f01009c, 0x7f01009d, 0x7f01009e, 0x7f01009f, 0x7f0100a0, 0x7f0100a1, 0x7f0100a2, 0x7f0100a3, 0x7f0100a4, 0x7f0100a5, 0x7f0100a6, 0x7f0100a7, 0x7f0100a8, 0x7f0100a9, 0x7f0100aa, 0x7f0100ab, 0x7f0100ac, 0x7f0100ad, 0x7f0100ae, 0x7f0100af, 0x7f0100b0, 0x7f0100b1, 0x7f0100b2, 0x7f0100b3, 0x7f0100b4, 0x7f0100b5, 0x7f0100b6, 0x7f0100b7, 0x7f0100b8, 0x7f0100b9, 0x7f0100ba, 0x7f0100bb, 0x7f0100bc, 0x7f0100bd, 0x7f0100be, 0x7f0100bf, 0x7f0100c0, 0x7f0100c1, 0x7f0100c2, 0x7f0100c3, 0x7f0100c4, 0x7f0100c5, 0x7f0100c6, 0x7f0100c7, 0x7f0100c8, 0x7f0100c9, 0x7f0100ca, 0x7f0100cb, 0x7f0100cc, 0x7f0100cd, 0x7f0100ce, 0x7f0100cf, 0x7f0100d0, 0x7f0100d1, 0x7f0100d2 }; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionBarDivider} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionBarDivider */ public static final int Theme_actionBarDivider = 23; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionBarItemBackground} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionBarItemBackground */ public static final int Theme_actionBarItemBackground = 24; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionBarPopupTheme} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionBarPopupTheme */ public static final int Theme_actionBarPopupTheme = 17; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionBarSize} attribute's value can be found in the {@link #Theme} array.

    May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

    May be one of the following constant values.

    ConstantValueDescription
    wrap_content0
    @attr name com.thegaze:actionBarSize */ public static final int Theme_actionBarSize = 22; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionBarSplitStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionBarSplitStyle */ public static final int Theme_actionBarSplitStyle = 19; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionBarStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionBarStyle */ public static final int Theme_actionBarStyle = 18; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionBarTabBarStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionBarTabBarStyle */ public static final int Theme_actionBarTabBarStyle = 13; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionBarTabStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionBarTabStyle */ public static final int Theme_actionBarTabStyle = 12; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionBarTabTextStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionBarTabTextStyle */ public static final int Theme_actionBarTabTextStyle = 14; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionBarTheme} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionBarTheme */ public static final int Theme_actionBarTheme = 20; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionBarWidgetTheme} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionBarWidgetTheme */ public static final int Theme_actionBarWidgetTheme = 21; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionButtonStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionButtonStyle */ public static final int Theme_actionButtonStyle = 49; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionDropDownStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionDropDownStyle */ public static final int Theme_actionDropDownStyle = 45; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionMenuTextAppearance} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionMenuTextAppearance */ public static final int Theme_actionMenuTextAppearance = 25; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionMenuTextColor} attribute's value can be found in the {@link #Theme} array.

    May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

    May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb". @attr name com.thegaze:actionMenuTextColor */ public static final int Theme_actionMenuTextColor = 26; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionModeBackground} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionModeBackground */ public static final int Theme_actionModeBackground = 29; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionModeCloseButtonStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionModeCloseButtonStyle */ public static final int Theme_actionModeCloseButtonStyle = 28; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionModeCloseDrawable} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionModeCloseDrawable */ public static final int Theme_actionModeCloseDrawable = 31; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionModeCopyDrawable} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionModeCopyDrawable */ public static final int Theme_actionModeCopyDrawable = 33; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionModeCutDrawable} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionModeCutDrawable */ public static final int Theme_actionModeCutDrawable = 32; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionModeFindDrawable} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionModeFindDrawable */ public static final int Theme_actionModeFindDrawable = 37; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionModePasteDrawable} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionModePasteDrawable */ public static final int Theme_actionModePasteDrawable = 34; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionModePopupWindowStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionModePopupWindowStyle */ public static final int Theme_actionModePopupWindowStyle = 39; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionModeSelectAllDrawable} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionModeSelectAllDrawable */ public static final int Theme_actionModeSelectAllDrawable = 35; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionModeShareDrawable} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionModeShareDrawable */ public static final int Theme_actionModeShareDrawable = 36; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionModeSplitBackground} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionModeSplitBackground */ public static final int Theme_actionModeSplitBackground = 30; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionModeStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionModeStyle */ public static final int Theme_actionModeStyle = 27; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionModeWebSearchDrawable} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionModeWebSearchDrawable */ public static final int Theme_actionModeWebSearchDrawable = 38; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionOverflowButtonStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionOverflowButtonStyle */ public static final int Theme_actionOverflowButtonStyle = 15; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#actionOverflowMenuStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:actionOverflowMenuStyle */ public static final int Theme_actionOverflowMenuStyle = 16; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#activityChooserViewStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:activityChooserViewStyle */ public static final int Theme_activityChooserViewStyle = 57; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#alertDialogButtonGroupStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:alertDialogButtonGroupStyle */ public static final int Theme_alertDialogButtonGroupStyle = 91; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#alertDialogCenterButtons} attribute's value can be found in the {@link #Theme} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:alertDialogCenterButtons */ public static final int Theme_alertDialogCenterButtons = 92; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#alertDialogStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:alertDialogStyle */ public static final int Theme_alertDialogStyle = 90; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#alertDialogTheme} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:alertDialogTheme */ public static final int Theme_alertDialogTheme = 93; /**

    This symbol is the offset where the {@link android.R.attr#windowAnimationStyle} attribute's value can be found in the {@link #Theme} array. @attr name android:windowAnimationStyle */ public static final int Theme_android_windowAnimationStyle = 1; /**

    This symbol is the offset where the {@link android.R.attr#windowIsFloating} attribute's value can be found in the {@link #Theme} array. @attr name android:windowIsFloating */ public static final int Theme_android_windowIsFloating = 0; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#autoCompleteTextViewStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:autoCompleteTextViewStyle */ public static final int Theme_autoCompleteTextViewStyle = 98; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#borderlessButtonStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:borderlessButtonStyle */ public static final int Theme_borderlessButtonStyle = 54; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#buttonBarButtonStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:buttonBarButtonStyle */ public static final int Theme_buttonBarButtonStyle = 51; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#buttonBarNegativeButtonStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:buttonBarNegativeButtonStyle */ public static final int Theme_buttonBarNegativeButtonStyle = 96; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#buttonBarNeutralButtonStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:buttonBarNeutralButtonStyle */ public static final int Theme_buttonBarNeutralButtonStyle = 97; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#buttonBarPositiveButtonStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:buttonBarPositiveButtonStyle */ public static final int Theme_buttonBarPositiveButtonStyle = 95; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#buttonBarStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:buttonBarStyle */ public static final int Theme_buttonBarStyle = 50; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#buttonStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:buttonStyle */ public static final int Theme_buttonStyle = 99; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#buttonStyleSmall} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:buttonStyleSmall */ public static final int Theme_buttonStyleSmall = 100; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#checkboxStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:checkboxStyle */ public static final int Theme_checkboxStyle = 101; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#checkedTextViewStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:checkedTextViewStyle */ public static final int Theme_checkedTextViewStyle = 102; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#colorAccent} attribute's value can be found in the {@link #Theme} array.

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:colorAccent */ public static final int Theme_colorAccent = 83; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#colorButtonNormal} attribute's value can be found in the {@link #Theme} array.

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:colorButtonNormal */ public static final int Theme_colorButtonNormal = 87; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#colorControlActivated} attribute's value can be found in the {@link #Theme} array.

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:colorControlActivated */ public static final int Theme_colorControlActivated = 85; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#colorControlHighlight} attribute's value can be found in the {@link #Theme} array.

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:colorControlHighlight */ public static final int Theme_colorControlHighlight = 86; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#colorControlNormal} attribute's value can be found in the {@link #Theme} array.

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:colorControlNormal */ public static final int Theme_colorControlNormal = 84; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#colorPrimary} attribute's value can be found in the {@link #Theme} array.

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:colorPrimary */ public static final int Theme_colorPrimary = 81; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#colorPrimaryDark} attribute's value can be found in the {@link #Theme} array.

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:colorPrimaryDark */ public static final int Theme_colorPrimaryDark = 82; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#colorSwitchThumbNormal} attribute's value can be found in the {@link #Theme} array.

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:colorSwitchThumbNormal */ public static final int Theme_colorSwitchThumbNormal = 88; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#controlBackground} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:controlBackground */ public static final int Theme_controlBackground = 89; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#dialogPreferredPadding} attribute's value can be found in the {@link #Theme} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:dialogPreferredPadding */ public static final int Theme_dialogPreferredPadding = 43; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#dialogTheme} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:dialogTheme */ public static final int Theme_dialogTheme = 42; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#dividerHorizontal} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:dividerHorizontal */ public static final int Theme_dividerHorizontal = 56; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#dividerVertical} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:dividerVertical */ public static final int Theme_dividerVertical = 55; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#dropDownListViewStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:dropDownListViewStyle */ public static final int Theme_dropDownListViewStyle = 73; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#dropdownListPreferredItemHeight} attribute's value can be found in the {@link #Theme} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:dropdownListPreferredItemHeight */ public static final int Theme_dropdownListPreferredItemHeight = 46; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#editTextBackground} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:editTextBackground */ public static final int Theme_editTextBackground = 63; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#editTextColor} attribute's value can be found in the {@link #Theme} array.

    May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

    May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb". @attr name com.thegaze:editTextColor */ public static final int Theme_editTextColor = 62; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#editTextStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:editTextStyle */ public static final int Theme_editTextStyle = 103; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#homeAsUpIndicator} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:homeAsUpIndicator */ public static final int Theme_homeAsUpIndicator = 48; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#listChoiceBackgroundIndicator} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:listChoiceBackgroundIndicator */ public static final int Theme_listChoiceBackgroundIndicator = 80; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#listDividerAlertDialog} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:listDividerAlertDialog */ public static final int Theme_listDividerAlertDialog = 44; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#listPopupWindowStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:listPopupWindowStyle */ public static final int Theme_listPopupWindowStyle = 74; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#listPreferredItemHeight} attribute's value can be found in the {@link #Theme} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:listPreferredItemHeight */ public static final int Theme_listPreferredItemHeight = 68; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#listPreferredItemHeightLarge} attribute's value can be found in the {@link #Theme} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:listPreferredItemHeightLarge */ public static final int Theme_listPreferredItemHeightLarge = 70; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#listPreferredItemHeightSmall} attribute's value can be found in the {@link #Theme} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:listPreferredItemHeightSmall */ public static final int Theme_listPreferredItemHeightSmall = 69; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#listPreferredItemPaddingLeft} attribute's value can be found in the {@link #Theme} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:listPreferredItemPaddingLeft */ public static final int Theme_listPreferredItemPaddingLeft = 71; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#listPreferredItemPaddingRight} attribute's value can be found in the {@link #Theme} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:listPreferredItemPaddingRight */ public static final int Theme_listPreferredItemPaddingRight = 72; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#panelBackground} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:panelBackground */ public static final int Theme_panelBackground = 77; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#panelMenuListTheme} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:panelMenuListTheme */ public static final int Theme_panelMenuListTheme = 79; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#panelMenuListWidth} attribute's value can be found in the {@link #Theme} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:panelMenuListWidth */ public static final int Theme_panelMenuListWidth = 78; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#popupMenuStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:popupMenuStyle */ public static final int Theme_popupMenuStyle = 60; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#popupWindowStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:popupWindowStyle */ public static final int Theme_popupWindowStyle = 61; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#radioButtonStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:radioButtonStyle */ public static final int Theme_radioButtonStyle = 104; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#ratingBarStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:ratingBarStyle */ public static final int Theme_ratingBarStyle = 105; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#searchViewStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:searchViewStyle */ public static final int Theme_searchViewStyle = 67; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#selectableItemBackground} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:selectableItemBackground */ public static final int Theme_selectableItemBackground = 52; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#selectableItemBackgroundBorderless} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:selectableItemBackgroundBorderless */ public static final int Theme_selectableItemBackgroundBorderless = 53; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#spinnerDropDownItemStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:spinnerDropDownItemStyle */ public static final int Theme_spinnerDropDownItemStyle = 47; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#spinnerStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:spinnerStyle */ public static final int Theme_spinnerStyle = 106; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#switchStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:switchStyle */ public static final int Theme_switchStyle = 107; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#textAppearanceLargePopupMenu} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:textAppearanceLargePopupMenu */ public static final int Theme_textAppearanceLargePopupMenu = 40; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#textAppearanceListItem} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:textAppearanceListItem */ public static final int Theme_textAppearanceListItem = 75; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#textAppearanceListItemSmall} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:textAppearanceListItemSmall */ public static final int Theme_textAppearanceListItemSmall = 76; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#textAppearanceSearchResultSubtitle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:textAppearanceSearchResultSubtitle */ public static final int Theme_textAppearanceSearchResultSubtitle = 65; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#textAppearanceSearchResultTitle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:textAppearanceSearchResultTitle */ public static final int Theme_textAppearanceSearchResultTitle = 64; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#textAppearanceSmallPopupMenu} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:textAppearanceSmallPopupMenu */ public static final int Theme_textAppearanceSmallPopupMenu = 41; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#textColorAlertDialogListItem} attribute's value can be found in the {@link #Theme} array.

    May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

    May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb". @attr name com.thegaze:textColorAlertDialogListItem */ public static final int Theme_textColorAlertDialogListItem = 94; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#textColorSearchUrl} attribute's value can be found in the {@link #Theme} array.

    May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

    May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb". @attr name com.thegaze:textColorSearchUrl */ public static final int Theme_textColorSearchUrl = 66; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#toolbarNavigationButtonStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:toolbarNavigationButtonStyle */ public static final int Theme_toolbarNavigationButtonStyle = 59; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#toolbarStyle} attribute's value can be found in the {@link #Theme} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:toolbarStyle */ public static final int Theme_toolbarStyle = 58; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#windowActionBar} attribute's value can be found in the {@link #Theme} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:windowActionBar */ public static final int Theme_windowActionBar = 2; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#windowActionBarOverlay} attribute's value can be found in the {@link #Theme} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:windowActionBarOverlay */ public static final int Theme_windowActionBarOverlay = 4; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#windowActionModeOverlay} attribute's value can be found in the {@link #Theme} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:windowActionModeOverlay */ public static final int Theme_windowActionModeOverlay = 5; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#windowFixedHeightMajor} attribute's value can be found in the {@link #Theme} array.

    May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:windowFixedHeightMajor */ public static final int Theme_windowFixedHeightMajor = 9; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#windowFixedHeightMinor} attribute's value can be found in the {@link #Theme} array.

    May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:windowFixedHeightMinor */ public static final int Theme_windowFixedHeightMinor = 7; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#windowFixedWidthMajor} attribute's value can be found in the {@link #Theme} array.

    May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:windowFixedWidthMajor */ public static final int Theme_windowFixedWidthMajor = 6; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#windowFixedWidthMinor} attribute's value can be found in the {@link #Theme} array.

    May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:windowFixedWidthMinor */ public static final int Theme_windowFixedWidthMinor = 8; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#windowMinWidthMajor} attribute's value can be found in the {@link #Theme} array.

    May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:windowMinWidthMajor */ public static final int Theme_windowMinWidthMajor = 10; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#windowMinWidthMinor} attribute's value can be found in the {@link #Theme} array.

    May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:windowMinWidthMinor */ public static final int Theme_windowMinWidthMinor = 11; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#windowNoTitle} attribute's value can be found in the {@link #Theme} array.

    Must be a boolean value, either "true" or "false".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:windowNoTitle */ public static final int Theme_windowNoTitle = 3; /** Attributes that can be used with a Toolbar.

    Includes the following attributes:

    AttributeDescription
    {@link #Toolbar_android_gravity android:gravity}
    {@link #Toolbar_android_minHeight android:minHeight}
    {@link #Toolbar_collapseContentDescription com.thegaze:collapseContentDescription}
    {@link #Toolbar_collapseIcon com.thegaze:collapseIcon}
    {@link #Toolbar_contentInsetEnd com.thegaze:contentInsetEnd}
    {@link #Toolbar_contentInsetLeft com.thegaze:contentInsetLeft}
    {@link #Toolbar_contentInsetRight com.thegaze:contentInsetRight}
    {@link #Toolbar_contentInsetStart com.thegaze:contentInsetStart}
    {@link #Toolbar_logo com.thegaze:logo}
    {@link #Toolbar_logoDescription com.thegaze:logoDescription}
    {@link #Toolbar_maxButtonHeight com.thegaze:maxButtonHeight}
    {@link #Toolbar_navigationContentDescription com.thegaze:navigationContentDescription}
    {@link #Toolbar_navigationIcon com.thegaze:navigationIcon}
    {@link #Toolbar_popupTheme com.thegaze:popupTheme}
    {@link #Toolbar_subtitle com.thegaze:subtitle}
    {@link #Toolbar_subtitleTextAppearance com.thegaze:subtitleTextAppearance}
    {@link #Toolbar_subtitleTextColor com.thegaze:subtitleTextColor}
    {@link #Toolbar_title com.thegaze:title}
    {@link #Toolbar_titleMarginBottom com.thegaze:titleMarginBottom}
    {@link #Toolbar_titleMarginEnd com.thegaze:titleMarginEnd}
    {@link #Toolbar_titleMarginStart com.thegaze:titleMarginStart}
    {@link #Toolbar_titleMarginTop com.thegaze:titleMarginTop}
    {@link #Toolbar_titleMargins com.thegaze:titleMargins}
    {@link #Toolbar_titleTextAppearance com.thegaze:titleTextAppearance}
    {@link #Toolbar_titleTextColor com.thegaze:titleTextColor}
    @see #Toolbar_android_gravity @see #Toolbar_android_minHeight @see #Toolbar_collapseContentDescription @see #Toolbar_collapseIcon @see #Toolbar_contentInsetEnd @see #Toolbar_contentInsetLeft @see #Toolbar_contentInsetRight @see #Toolbar_contentInsetStart @see #Toolbar_logo @see #Toolbar_logoDescription @see #Toolbar_maxButtonHeight @see #Toolbar_navigationContentDescription @see #Toolbar_navigationIcon @see #Toolbar_popupTheme @see #Toolbar_subtitle @see #Toolbar_subtitleTextAppearance @see #Toolbar_subtitleTextColor @see #Toolbar_title @see #Toolbar_titleMarginBottom @see #Toolbar_titleMarginEnd @see #Toolbar_titleMarginStart @see #Toolbar_titleMarginTop @see #Toolbar_titleMargins @see #Toolbar_titleTextAppearance @see #Toolbar_titleTextColor */ public static final int[] Toolbar = { 0x010100af, 0x01010140, 0x7f010003, 0x7f010006, 0x7f01000a, 0x7f010016, 0x7f010017, 0x7f010018, 0x7f010019, 0x7f01001b, 0x7f0100d3, 0x7f0100d4, 0x7f0100d5, 0x7f0100d6, 0x7f0100d7, 0x7f0100d8, 0x7f0100d9, 0x7f0100da, 0x7f0100db, 0x7f0100dc, 0x7f0100dd, 0x7f0100de, 0x7f0100df, 0x7f0100e0, 0x7f0100e1 }; /**

    This symbol is the offset where the {@link android.R.attr#gravity} attribute's value can be found in the {@link #Toolbar} array. @attr name android:gravity */ public static final int Toolbar_android_gravity = 0; /**

    This symbol is the offset where the {@link android.R.attr#minHeight} attribute's value can be found in the {@link #Toolbar} array. @attr name android:minHeight */ public static final int Toolbar_android_minHeight = 1; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#collapseContentDescription} attribute's value can be found in the {@link #Toolbar} array.

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:collapseContentDescription */ public static final int Toolbar_collapseContentDescription = 19; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#collapseIcon} attribute's value can be found in the {@link #Toolbar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:collapseIcon */ public static final int Toolbar_collapseIcon = 18; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#contentInsetEnd} attribute's value can be found in the {@link #Toolbar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:contentInsetEnd */ public static final int Toolbar_contentInsetEnd = 6; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#contentInsetLeft} attribute's value can be found in the {@link #Toolbar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:contentInsetLeft */ public static final int Toolbar_contentInsetLeft = 7; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#contentInsetRight} attribute's value can be found in the {@link #Toolbar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:contentInsetRight */ public static final int Toolbar_contentInsetRight = 8; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#contentInsetStart} attribute's value can be found in the {@link #Toolbar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:contentInsetStart */ public static final int Toolbar_contentInsetStart = 5; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#logo} attribute's value can be found in the {@link #Toolbar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:logo */ public static final int Toolbar_logo = 4; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#logoDescription} attribute's value can be found in the {@link #Toolbar} array.

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:logoDescription */ public static final int Toolbar_logoDescription = 22; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#maxButtonHeight} attribute's value can be found in the {@link #Toolbar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:maxButtonHeight */ public static final int Toolbar_maxButtonHeight = 17; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#navigationContentDescription} attribute's value can be found in the {@link #Toolbar} array.

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:navigationContentDescription */ public static final int Toolbar_navigationContentDescription = 21; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#navigationIcon} attribute's value can be found in the {@link #Toolbar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:navigationIcon */ public static final int Toolbar_navigationIcon = 20; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#popupTheme} attribute's value can be found in the {@link #Toolbar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:popupTheme */ public static final int Toolbar_popupTheme = 9; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#subtitle} attribute's value can be found in the {@link #Toolbar} array.

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:subtitle */ public static final int Toolbar_subtitle = 3; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#subtitleTextAppearance} attribute's value can be found in the {@link #Toolbar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:subtitleTextAppearance */ public static final int Toolbar_subtitleTextAppearance = 11; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#subtitleTextColor} attribute's value can be found in the {@link #Toolbar} array.

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:subtitleTextColor */ public static final int Toolbar_subtitleTextColor = 24; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#title} attribute's value can be found in the {@link #Toolbar} array.

    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:title */ public static final int Toolbar_title = 2; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#titleMarginBottom} attribute's value can be found in the {@link #Toolbar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:titleMarginBottom */ public static final int Toolbar_titleMarginBottom = 16; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#titleMarginEnd} attribute's value can be found in the {@link #Toolbar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:titleMarginEnd */ public static final int Toolbar_titleMarginEnd = 14; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#titleMarginStart} attribute's value can be found in the {@link #Toolbar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:titleMarginStart */ public static final int Toolbar_titleMarginStart = 13; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#titleMarginTop} attribute's value can be found in the {@link #Toolbar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:titleMarginTop */ public static final int Toolbar_titleMarginTop = 15; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#titleMargins} attribute's value can be found in the {@link #Toolbar} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:titleMargins */ public static final int Toolbar_titleMargins = 12; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#titleTextAppearance} attribute's value can be found in the {@link #Toolbar} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:titleTextAppearance */ public static final int Toolbar_titleTextAppearance = 10; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#titleTextColor} attribute's value can be found in the {@link #Toolbar} array.

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:titleTextColor */ public static final int Toolbar_titleTextColor = 23; /** Attributes that can be used with a View.

    Includes the following attributes:

    AttributeDescription
    {@link #View_android_focusable android:focusable}
    {@link #View_android_theme android:theme}
    {@link #View_paddingEnd com.thegaze:paddingEnd}
    {@link #View_paddingStart com.thegaze:paddingStart}
    {@link #View_theme com.thegaze:theme}
    @see #View_android_focusable @see #View_android_theme @see #View_paddingEnd @see #View_paddingStart @see #View_theme */ public static final int[] View = { 0x01010000, 0x010100da, 0x7f0100e2, 0x7f0100e3, 0x7f0100e4 }; /**

    This symbol is the offset where the {@link android.R.attr#focusable} attribute's value can be found in the {@link #View} array. @attr name android:focusable */ public static final int View_android_focusable = 1; /**

    This symbol is the offset where the {@link android.R.attr#theme} attribute's value can be found in the {@link #View} array. @attr name android:theme */ public static final int View_android_theme = 0; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#paddingEnd} attribute's value can be found in the {@link #View} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:paddingEnd */ public static final int View_paddingEnd = 3; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#paddingStart} attribute's value can be found in the {@link #View} array.

    Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:paddingStart */ public static final int View_paddingStart = 2; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#theme} attribute's value can be found in the {@link #View} array.

    Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". @attr name com.thegaze:theme */ public static final int View_theme = 4; /** Attributes that can be used with a ViewBackgroundHelper.

    Includes the following attributes:

    AttributeDescription
    {@link #ViewBackgroundHelper_android_background android:background}
    {@link #ViewBackgroundHelper_backgroundTint com.thegaze:backgroundTint}
    {@link #ViewBackgroundHelper_backgroundTintMode com.thegaze:backgroundTintMode}
    @see #ViewBackgroundHelper_android_background @see #ViewBackgroundHelper_backgroundTint @see #ViewBackgroundHelper_backgroundTintMode */ public static final int[] ViewBackgroundHelper = { 0x010100d4, 0x7f0100e5, 0x7f0100e6 }; /**

    This symbol is the offset where the {@link android.R.attr#background} attribute's value can be found in the {@link #ViewBackgroundHelper} array. @attr name android:background */ public static final int ViewBackgroundHelper_android_background = 0; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#backgroundTint} attribute's value can be found in the {@link #ViewBackgroundHelper} array.

    Must be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

    This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name com.thegaze:backgroundTint */ public static final int ViewBackgroundHelper_backgroundTint = 1; /**

    This symbol is the offset where the {@link com.thegaze.R.attr#backgroundTintMode} attribute's value can be found in the {@link #ViewBackgroundHelper} array.

    Must be one of the following constant values.

    ConstantValueDescription
    src_over3
    src_in5
    src_atop9
    multiply14
    screen15
    @attr name com.thegaze:backgroundTintMode */ public static final int ViewBackgroundHelper_backgroundTintMode = 2; /** Attributes that can be used with a ViewStubCompat.

    Includes the following attributes:

    AttributeDescription
    {@link #ViewStubCompat_android_id android:id}
    {@link #ViewStubCompat_android_inflatedId android:inflatedId}
    {@link #ViewStubCompat_android_layout android:layout}
    @see #ViewStubCompat_android_id @see #ViewStubCompat_android_inflatedId @see #ViewStubCompat_android_layout */ public static final int[] ViewStubCompat = { 0x010100d0, 0x010100f2, 0x010100f3 }; /**

    This symbol is the offset where the {@link android.R.attr#id} attribute's value can be found in the {@link #ViewStubCompat} array. @attr name android:id */ public static final int ViewStubCompat_android_id = 0; /**

    This symbol is the offset where the {@link android.R.attr#inflatedId} attribute's value can be found in the {@link #ViewStubCompat} array. @attr name android:inflatedId */ public static final int ViewStubCompat_android_inflatedId = 2; /**

    This symbol is the offset where the {@link android.R.attr#layout} attribute's value can be found in the {@link #ViewStubCompat} array. @attr name android:layout */ public static final int ViewStubCompat_android_layout = 1; }; } ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/generated/source/r/debug/org/webkit/android_jsc/R.java ================================================ /* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package org.webkit.android_jsc; public final class R { } ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-af.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-af/values-af.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 103, "endOffset": 154 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 103, "endOffset": 379 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 159, "endColumn": 107, "endOffset": 262 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 384, "endColumn": 107, "endOffset": 487 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 267, "endColumn": 122, "endOffset": 385 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 492, "endColumn": 122, "endOffset": 610 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 390, "endColumn": 99, "endOffset": 485 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 615, "endColumn": 99, "endOffset": 710 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 490, "endColumn": 105, "endOffset": 591 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 715, "endColumn": 105, "endOffset": 816 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 596, "endColumn": 84, "endOffset": 676 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 821, "endColumn": 84, "endOffset": 901 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 681, "endColumn": 102, "endOffset": 779 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 906, "endColumn": 102, "endOffset": 1004 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 784, "endColumn": 117, "endOffset": 897 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1009, "endColumn": 117, "endOffset": 1122 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 902, "endColumn": 80, "endOffset": 978 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1127, "endColumn": 80, "endOffset": 1203 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 983, "endColumn": 106, "endOffset": 1085 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1208, "endColumn": 106, "endOffset": 1310 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1090, "endColumn": 102, "endOffset": 1188 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1315, "endColumn": 102, "endOffset": 1413 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1193, "endColumn": 96, "endOffset": 1285 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1418, "endColumn": 96, "endOffset": 1510 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1290, "endColumn": 107, "endOffset": 1393 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1515, "endColumn": 107, "endOffset": 1618 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1398, "endColumn": 101, "endOffset": 1495 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1623, "endColumn": 101, "endOffset": 1720 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1500, "endColumn": 101, "endOffset": 1597 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1725, "endColumn": 101, "endOffset": 1822 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1602, "endColumn": 116, "endOffset": 1714 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1827, "endColumn": 116, "endOffset": 1939 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1719, "endColumn": 97, "endOffset": 1812 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1944, "endColumn": 97, "endOffset": 2037 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1817, "endColumn": 100, "endOffset": 1913 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-af/values-af.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2042, "endColumn": 100, "endOffset": 2138 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-am.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-am/values-am.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 101, "endOffset": 152 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 101, "endOffset": 377 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 157, "endColumn": 107, "endOffset": 260 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 382, "endColumn": 107, "endOffset": 485 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 265, "endColumn": 122, "endOffset": 383 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 490, "endColumn": 122, "endOffset": 608 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 388, "endColumn": 98, "endOffset": 482 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 613, "endColumn": 98, "endOffset": 707 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 487, "endColumn": 105, "endOffset": 588 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 712, "endColumn": 105, "endOffset": 813 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 593, "endColumn": 85, "endOffset": 674 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 818, "endColumn": 85, "endOffset": 899 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 679, "endColumn": 102, "endOffset": 777 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 904, "endColumn": 102, "endOffset": 1002 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 782, "endColumn": 112, "endOffset": 890 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1007, "endColumn": 112, "endOffset": 1115 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 895, "endColumn": 78, "endOffset": 969 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1120, "endColumn": 78, "endOffset": 1194 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 974, "endColumn": 99, "endOffset": 1069 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1199, "endColumn": 99, "endOffset": 1294 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1074, "endColumn": 99, "endOffset": 1169 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1299, "endColumn": 99, "endOffset": 1394 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1174, "endColumn": 95, "endOffset": 1265 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1399, "endColumn": 95, "endOffset": 1490 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1270, "endColumn": 102, "endOffset": 1368 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1495, "endColumn": 102, "endOffset": 1593 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1373, "endColumn": 98, "endOffset": 1467 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1598, "endColumn": 98, "endOffset": 1692 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1472, "endColumn": 106, "endOffset": 1574 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1697, "endColumn": 106, "endOffset": 1799 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1579, "endColumn": 115, "endOffset": 1690 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1804, "endColumn": 115, "endOffset": 1915 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1695, "endColumn": 95, "endOffset": 1786 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1920, "endColumn": 95, "endOffset": 2011 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1791, "endColumn": 100, "endOffset": 1887 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-am/values-am.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2016, "endColumn": 100, "endOffset": 2112 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-ar.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-ar/values-ar.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 116, "endOffset": 167 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 116, "endOffset": 392 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 172, "endColumn": 107, "endOffset": 275 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 397, "endColumn": 107, "endOffset": 500 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 122, "endOffset": 398 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 505, "endColumn": 122, "endOffset": 623 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 403, "endColumn": 103, "endOffset": 502 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 628, "endColumn": 103, "endOffset": 727 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 507, "endColumn": 108, "endOffset": 611 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 732, "endColumn": 108, "endOffset": 836 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 616, "endColumn": 81, "endOffset": 693 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 841, "endColumn": 81, "endOffset": 918 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 698, "endColumn": 100, "endOffset": 794 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 923, "endColumn": 100, "endOffset": 1019 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 799, "endColumn": 113, "endOffset": 908 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1024, "endColumn": 113, "endOffset": 1133 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 913, "endColumn": 78, "endOffset": 987 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1138, "endColumn": 78, "endOffset": 1212 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 992, "endColumn": 104, "endOffset": 1092 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1217, "endColumn": 104, "endOffset": 1317 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1097, "endColumn": 100, "endOffset": 1193 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1322, "endColumn": 100, "endOffset": 1418 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1198, "endColumn": 95, "endOffset": 1289 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1423, "endColumn": 95, "endOffset": 1514 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1294, "endColumn": 107, "endOffset": 1397 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1519, "endColumn": 107, "endOffset": 1622 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1402, "endColumn": 102, "endOffset": 1500 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1627, "endColumn": 102, "endOffset": 1725 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1505, "endColumn": 102, "endOffset": 1603 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1730, "endColumn": 102, "endOffset": 1828 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1608, "endColumn": 118, "endOffset": 1722 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1833, "endColumn": 118, "endOffset": 1947 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1727, "endColumn": 96, "endOffset": 1819 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1952, "endColumn": 96, "endOffset": 2044 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1824, "endColumn": 100, "endOffset": 1920 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ar/values-ar.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2049, "endColumn": 100, "endOffset": 2145 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-az-rAZ.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-az-rAZ/values-az-rAZ.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 97, "endOffset": 148 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-az-rAZ/values-az-rAZ.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 97, "endOffset": 377 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 153, "endColumn": 107, "endOffset": 256 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-az-rAZ/values-az-rAZ.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 382, "endColumn": 107, "endOffset": 485 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 261, "endColumn": 122, "endOffset": 379 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-az-rAZ/values-az-rAZ.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 490, "endColumn": 122, "endOffset": 608 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 384, "endColumn": 98, "endOffset": 478 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-az-rAZ/values-az-rAZ.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 613, "endColumn": 98, "endOffset": 707 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 483, "endColumn": 109, "endOffset": 588 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-az-rAZ/values-az-rAZ.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 712, "endColumn": 109, "endOffset": 817 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 593, "endColumn": 87, "endOffset": 676 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-az-rAZ/values-az-rAZ.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 822, "endColumn": 87, "endOffset": 905 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 681, "endColumn": 106, "endOffset": 783 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-az-rAZ/values-az-rAZ.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 910, "endColumn": 106, "endOffset": 1012 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 788, "endColumn": 113, "endOffset": 897 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-az-rAZ/values-az-rAZ.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1017, "endColumn": 113, "endOffset": 1126 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 902, "endColumn": 84, "endOffset": 982 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-az-rAZ/values-az-rAZ.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1131, "endColumn": 84, "endOffset": 1211 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 987, "endColumn": 106, "endOffset": 1089 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-az-rAZ/values-az-rAZ.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1216, "endColumn": 106, "endOffset": 1318 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1094, "endColumn": 106, "endOffset": 1196 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-az-rAZ/values-az-rAZ.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1323, "endColumn": 106, "endOffset": 1425 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1201, "endColumn": 99, "endOffset": 1296 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-az-rAZ/values-az-rAZ.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1430, "endColumn": 99, "endOffset": 1525 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1301, "endColumn": 108, "endOffset": 1405 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-az-rAZ/values-az-rAZ.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1530, "endColumn": 108, "endOffset": 1634 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1410, "endColumn": 103, "endOffset": 1509 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-az-rAZ/values-az-rAZ.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1639, "endColumn": 103, "endOffset": 1738 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1514, "endColumn": 109, "endOffset": 1619 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-az-rAZ/values-az-rAZ.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1743, "endColumn": 109, "endOffset": 1848 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1624, "endColumn": 96, "endOffset": 1716 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-az-rAZ/values-az-rAZ.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1853, "endColumn": 96, "endOffset": 1945 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1721, "endColumn": 100, "endOffset": 1817 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-az-rAZ/values-az-rAZ.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1950, "endColumn": 100, "endOffset": 2046 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-bg.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-bg/values-bg.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 114, "endOffset": 165 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 114, "endOffset": 390 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 170, "endColumn": 110, "endOffset": 276 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 395, "endColumn": 110, "endOffset": 501 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 281, "endColumn": 127, "endOffset": 404 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 506, "endColumn": 127, "endOffset": 629 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 409, "endColumn": 106, "endOffset": 511 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 634, "endColumn": 106, "endOffset": 736 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 516, "endColumn": 104, "endOffset": 616 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 741, "endColumn": 104, "endOffset": 841 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 621, "endColumn": 85, "endOffset": 702 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 846, "endColumn": 85, "endOffset": 927 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 707, "endColumn": 104, "endOffset": 807 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 932, "endColumn": 104, "endOffset": 1032 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 812, "endColumn": 120, "endOffset": 928 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1037, "endColumn": 120, "endOffset": 1153 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 933, "endColumn": 82, "endOffset": 1011 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1158, "endColumn": 82, "endOffset": 1236 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1016, "endColumn": 113, "endOffset": 1125 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1241, "endColumn": 113, "endOffset": 1350 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1130, "endColumn": 108, "endOffset": 1234 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1355, "endColumn": 108, "endOffset": 1459 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1239, "endColumn": 99, "endOffset": 1334 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1464, "endColumn": 99, "endOffset": 1559 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1339, "endColumn": 113, "endOffset": 1448 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1564, "endColumn": 113, "endOffset": 1673 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1453, "endColumn": 105, "endOffset": 1554 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1678, "endColumn": 105, "endOffset": 1779 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1559, "endColumn": 107, "endOffset": 1662 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1784, "endColumn": 107, "endOffset": 1887 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1667, "endColumn": 122, "endOffset": 1785 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1892, "endColumn": 122, "endOffset": 2010 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1790, "endColumn": 98, "endOffset": 1884 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2015, "endColumn": 98, "endOffset": 2109 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1889, "endColumn": 100, "endOffset": 1985 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bg/values-bg.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2114, "endColumn": 100, "endOffset": 2210 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-bn-rBD.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-bn-rBD/values-bn-rBD.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 108, "endOffset": 159 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 108, "endOffset": 388 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 164, "endColumn": 107, "endOffset": 267 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 393, "endColumn": 107, "endOffset": 496 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 272, "endColumn": 122, "endOffset": 390 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 501, "endColumn": 122, "endOffset": 619 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 395, "endColumn": 111, "endOffset": 502 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 624, "endColumn": 111, "endOffset": 731 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 507, "endColumn": 105, "endOffset": 608 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 736, "endColumn": 105, "endOffset": 837 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 613, "endColumn": 93, "endOffset": 702 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 842, "endColumn": 93, "endOffset": 931 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 707, "endColumn": 104, "endOffset": 807 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 936, "endColumn": 104, "endOffset": 1036 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 812, "endColumn": 129, "endOffset": 937 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1041, "endColumn": 129, "endOffset": 1166 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 942, "endColumn": 86, "endOffset": 1024 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1171, "endColumn": 86, "endOffset": 1253 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1029, "endColumn": 109, "endOffset": 1134 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1258, "endColumn": 109, "endOffset": 1363 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1139, "endColumn": 115, "endOffset": 1250 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1368, "endColumn": 115, "endOffset": 1479 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1255, "endColumn": 106, "endOffset": 1357 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1484, "endColumn": 106, "endOffset": 1586 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1362, "endColumn": 109, "endOffset": 1467 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1591, "endColumn": 109, "endOffset": 1696 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1472, "endColumn": 105, "endOffset": 1573 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1701, "endColumn": 105, "endOffset": 1802 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1578, "endColumn": 109, "endOffset": 1683 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1807, "endColumn": 109, "endOffset": 1912 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1688, "endColumn": 124, "endOffset": 1808 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1917, "endColumn": 124, "endOffset": 2037 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1813, "endColumn": 104, "endOffset": 1913 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2042, "endColumn": 104, "endOffset": 2142 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1918, "endColumn": 100, "endOffset": 2014 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-bn-rBD/values-bn-rBD.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2147, "endColumn": 100, "endOffset": 2243 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-ca.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-ca/values-ca.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 117, "endOffset": 168 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 117, "endOffset": 393 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 173, "endColumn": 107, "endOffset": 276 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 398, "endColumn": 107, "endOffset": 501 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 281, "endColumn": 122, "endOffset": 399 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 506, "endColumn": 122, "endOffset": 624 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 404, "endColumn": 105, "endOffset": 505 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 629, "endColumn": 105, "endOffset": 730 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 510, "endColumn": 106, "endOffset": 612 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 735, "endColumn": 106, "endOffset": 837 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 617, "endColumn": 82, "endOffset": 695 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 842, "endColumn": 82, "endOffset": 920 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 700, "endColumn": 107, "endOffset": 803 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 925, "endColumn": 107, "endOffset": 1028 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 808, "endColumn": 125, "endOffset": 929 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1033, "endColumn": 125, "endOffset": 1154 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 934, "endColumn": 82, "endOffset": 1012 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1159, "endColumn": 82, "endOffset": 1237 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1017, "endColumn": 110, "endOffset": 1123 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1242, "endColumn": 110, "endOffset": 1348 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1128, "endColumn": 108, "endOffset": 1232 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1353, "endColumn": 108, "endOffset": 1457 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1237, "endColumn": 97, "endOffset": 1330 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1462, "endColumn": 97, "endOffset": 1555 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1335, "endColumn": 109, "endOffset": 1440 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1560, "endColumn": 109, "endOffset": 1665 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1445, "endColumn": 103, "endOffset": 1544 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1670, "endColumn": 103, "endOffset": 1769 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1549, "endColumn": 107, "endOffset": 1652 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1774, "endColumn": 107, "endOffset": 1877 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1657, "endColumn": 122, "endOffset": 1775 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1882, "endColumn": 122, "endOffset": 2000 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1780, "endColumn": 98, "endOffset": 1874 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2005, "endColumn": 98, "endOffset": 2099 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1879, "endColumn": 100, "endOffset": 1975 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ca/values-ca.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2104, "endColumn": 100, "endOffset": 2200 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-cs.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-cs/values-cs.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 106, "endOffset": 157 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 106, "endOffset": 382 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 162, "endColumn": 108, "endOffset": 266 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 387, "endColumn": 108, "endOffset": 491 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 271, "endColumn": 123, "endOffset": 390 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 496, "endColumn": 123, "endOffset": 615 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 395, "endColumn": 101, "endOffset": 492 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 620, "endColumn": 101, "endOffset": 717 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 497, "endColumn": 108, "endOffset": 601 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 722, "endColumn": 108, "endOffset": 826 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 606, "endColumn": 85, "endOffset": 687 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 831, "endColumn": 85, "endOffset": 912 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 692, "endColumn": 104, "endOffset": 792 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 917, "endColumn": 104, "endOffset": 1017 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 797, "endColumn": 116, "endOffset": 909 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1022, "endColumn": 116, "endOffset": 1134 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 914, "endColumn": 83, "endOffset": 993 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1139, "endColumn": 83, "endOffset": 1218 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 998, "endColumn": 103, "endOffset": 1097 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1223, "endColumn": 103, "endOffset": 1322 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1102, "endColumn": 108, "endOffset": 1206 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1327, "endColumn": 108, "endOffset": 1431 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1211, "endColumn": 98, "endOffset": 1305 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1436, "endColumn": 98, "endOffset": 1530 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1310, "endColumn": 105, "endOffset": 1411 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1535, "endColumn": 105, "endOffset": 1636 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1416, "endColumn": 109, "endOffset": 1521 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1641, "endColumn": 109, "endOffset": 1746 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1526, "endColumn": 106, "endOffset": 1628 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1751, "endColumn": 106, "endOffset": 1853 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1633, "endColumn": 121, "endOffset": 1750 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1858, "endColumn": 121, "endOffset": 1975 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1755, "endColumn": 97, "endOffset": 1848 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1980, "endColumn": 97, "endOffset": 2073 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1853, "endColumn": 53, "endOffset": 1902 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-cs/values-cs.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1907, "endColumn": 71, "endOffset": 1974 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-cs/values-cs.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 71, "endOffset": 176 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1979, "endColumn": 78, "endOffset": 2053 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-cs/values-cs.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 181, "endColumn": 78, "endOffset": 255 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2058, "endColumn": 70, "endOffset": 2124 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-cs/values-cs.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 260, "endColumn": 70, "endOffset": 326 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2129, "endColumn": 67, "endOffset": 2192 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-cs/values-cs.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 331, "endColumn": 67, "endOffset": 394 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2197, "endColumn": 55, "endOffset": 2248 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-cs/values-cs.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 399, "endColumn": 55, "endOffset": 450 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2253, "endColumn": 58, "endOffset": 2307 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-cs/values-cs.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 455, "endColumn": 58, "endOffset": 509 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2312, "endColumn": 73, "endOffset": 2381 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-cs/values-cs.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 514, "endColumn": 73, "endOffset": 583 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2386, "endColumn": 100, "endOffset": 2482 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-cs/values-cs.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2078, "endColumn": 100, "endOffset": 2174 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-da.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-da/values-da.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 102, "endOffset": 153 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 102, "endOffset": 378 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 158, "endColumn": 107, "endOffset": 261 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 383, "endColumn": 107, "endOffset": 486 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 266, "endColumn": 122, "endOffset": 384 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 491, "endColumn": 122, "endOffset": 609 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 389, "endColumn": 98, "endOffset": 483 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 614, "endColumn": 98, "endOffset": 708 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 488, "endColumn": 111, "endOffset": 595 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 713, "endColumn": 111, "endOffset": 820 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 600, "endColumn": 82, "endOffset": 678 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 825, "endColumn": 82, "endOffset": 903 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 683, "endColumn": 99, "endOffset": 778 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 908, "endColumn": 99, "endOffset": 1003 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 783, "endColumn": 112, "endOffset": 891 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1008, "endColumn": 112, "endOffset": 1116 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 896, "endColumn": 78, "endOffset": 970 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1121, "endColumn": 78, "endOffset": 1195 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 975, "endColumn": 108, "endOffset": 1079 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1200, "endColumn": 108, "endOffset": 1304 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1084, "endColumn": 107, "endOffset": 1187 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1309, "endColumn": 107, "endOffset": 1412 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1192, "endColumn": 95, "endOffset": 1283 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1417, "endColumn": 95, "endOffset": 1508 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1288, "endColumn": 113, "endOffset": 1397 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1513, "endColumn": 113, "endOffset": 1622 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1402, "endColumn": 101, "endOffset": 1499 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1627, "endColumn": 101, "endOffset": 1724 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1504, "endColumn": 100, "endOffset": 1600 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1729, "endColumn": 100, "endOffset": 1825 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1605, "endColumn": 115, "endOffset": 1716 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1830, "endColumn": 115, "endOffset": 1941 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1721, "endColumn": 96, "endOffset": 1813 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1946, "endColumn": 96, "endOffset": 2038 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1818, "endColumn": 53, "endOffset": 1867 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-da/values-da.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1872, "endColumn": 71, "endOffset": 1939 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-da/values-da.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 71, "endOffset": 176 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1944, "endColumn": 78, "endOffset": 2018 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-da/values-da.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 181, "endColumn": 78, "endOffset": 255 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2023, "endColumn": 70, "endOffset": 2089 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-da/values-da.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 260, "endColumn": 70, "endOffset": 326 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2094, "endColumn": 66, "endOffset": 2156 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-da/values-da.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 331, "endColumn": 66, "endOffset": 393 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2161, "endColumn": 55, "endOffset": 2212 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-da/values-da.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 398, "endColumn": 55, "endOffset": 449 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2217, "endColumn": 58, "endOffset": 2271 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-da/values-da.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 454, "endColumn": 58, "endOffset": 508 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2276, "endColumn": 73, "endOffset": 2345 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-da/values-da.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 513, "endColumn": 73, "endOffset": 582 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2350, "endColumn": 100, "endOffset": 2446 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-da/values-da.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2043, "endColumn": 100, "endOffset": 2139 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-de.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-de/values-de.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 104, "endOffset": 155 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 104, "endOffset": 380 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 160, "endColumn": 107, "endOffset": 263 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 385, "endColumn": 107, "endOffset": 488 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 268, "endColumn": 122, "endOffset": 386 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 493, "endColumn": 122, "endOffset": 611 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 391, "endColumn": 97, "endOffset": 484 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 616, "endColumn": 97, "endOffset": 709 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 489, "endColumn": 111, "endOffset": 596 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 714, "endColumn": 111, "endOffset": 821 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 601, "endColumn": 85, "endOffset": 682 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 826, "endColumn": 85, "endOffset": 907 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 687, "endColumn": 104, "endOffset": 787 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 912, "endColumn": 104, "endOffset": 1012 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 792, "endColumn": 114, "endOffset": 902 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1017, "endColumn": 114, "endOffset": 1127 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 907, "endColumn": 81, "endOffset": 984 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1132, "endColumn": 81, "endOffset": 1209 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 989, "endColumn": 110, "endOffset": 1095 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1214, "endColumn": 110, "endOffset": 1320 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1100, "endColumn": 102, "endOffset": 1198 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1325, "endColumn": 102, "endOffset": 1423 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1203, "endColumn": 98, "endOffset": 1297 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1428, "endColumn": 98, "endOffset": 1522 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1302, "endColumn": 110, "endOffset": 1408 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1527, "endColumn": 110, "endOffset": 1633 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1413, "endColumn": 101, "endOffset": 1510 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1638, "endColumn": 101, "endOffset": 1735 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1515, "endColumn": 106, "endOffset": 1617 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1740, "endColumn": 106, "endOffset": 1842 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1622, "endColumn": 121, "endOffset": 1739 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1847, "endColumn": 121, "endOffset": 1964 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1744, "endColumn": 101, "endOffset": 1841 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1969, "endColumn": 101, "endOffset": 2066 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1846, "endColumn": 53, "endOffset": 1895 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-de/values-de.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1900, "endColumn": 74, "endOffset": 1970 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-de/values-de.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 74, "endOffset": 179 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1975, "endColumn": 78, "endOffset": 2049 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-de/values-de.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 184, "endColumn": 78, "endOffset": 258 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2054, "endColumn": 70, "endOffset": 2120 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-de/values-de.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 263, "endColumn": 70, "endOffset": 329 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2125, "endColumn": 70, "endOffset": 2191 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-de/values-de.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 334, "endColumn": 70, "endOffset": 400 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2196, "endColumn": 55, "endOffset": 2247 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-de/values-de.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 405, "endColumn": 55, "endOffset": 456 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2252, "endColumn": 58, "endOffset": 2306 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-de/values-de.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 461, "endColumn": 58, "endOffset": 515 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2311, "endColumn": 73, "endOffset": 2380 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-de/values-de.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 520, "endColumn": 73, "endOffset": 589 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2385, "endColumn": 100, "endOffset": 2481 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-de/values-de.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2071, "endColumn": 100, "endOffset": 2167 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-el.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-el/values-el.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 117, "endOffset": 168 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 117, "endOffset": 393 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 173, "endColumn": 107, "endOffset": 276 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 398, "endColumn": 107, "endOffset": 501 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 281, "endColumn": 122, "endOffset": 399 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 506, "endColumn": 122, "endOffset": 624 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 404, "endColumn": 110, "endOffset": 510 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 629, "endColumn": 110, "endOffset": 735 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 515, "endColumn": 116, "endOffset": 627 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 740, "endColumn": 116, "endOffset": 852 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 632, "endColumn": 84, "endOffset": 712 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 857, "endColumn": 84, "endOffset": 937 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 717, "endColumn": 104, "endOffset": 817 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 942, "endColumn": 104, "endOffset": 1042 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 822, "endColumn": 125, "endOffset": 943 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1047, "endColumn": 125, "endOffset": 1168 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 948, "endColumn": 84, "endOffset": 1028 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1173, "endColumn": 84, "endOffset": 1253 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1033, "endColumn": 110, "endOffset": 1139 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1258, "endColumn": 110, "endOffset": 1364 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1144, "endColumn": 109, "endOffset": 1249 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1369, "endColumn": 109, "endOffset": 1474 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1254, "endColumn": 101, "endOffset": 1351 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1479, "endColumn": 101, "endOffset": 1576 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1356, "endColumn": 110, "endOffset": 1462 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1581, "endColumn": 110, "endOffset": 1687 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1467, "endColumn": 108, "endOffset": 1571 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1692, "endColumn": 108, "endOffset": 1796 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1576, "endColumn": 107, "endOffset": 1679 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1801, "endColumn": 107, "endOffset": 1904 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1684, "endColumn": 122, "endOffset": 1802 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1909, "endColumn": 122, "endOffset": 2027 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1807, "endColumn": 99, "endOffset": 1902 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2032, "endColumn": 99, "endOffset": 2127 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1907, "endColumn": 53, "endOffset": 1956 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-el/values-el.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1961, "endColumn": 72, "endOffset": 2029 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-el/values-el.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 72, "endOffset": 177 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 2034, "endColumn": 78, "endOffset": 2108 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-el/values-el.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 182, "endColumn": 78, "endOffset": 256 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2113, "endColumn": 70, "endOffset": 2179 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-el/values-el.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 261, "endColumn": 70, "endOffset": 327 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2184, "endColumn": 63, "endOffset": 2243 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-el/values-el.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 332, "endColumn": 63, "endOffset": 391 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2248, "endColumn": 55, "endOffset": 2299 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-el/values-el.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 396, "endColumn": 55, "endOffset": 447 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2304, "endColumn": 58, "endOffset": 2358 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-el/values-el.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 452, "endColumn": 58, "endOffset": 506 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2363, "endColumn": 73, "endOffset": 2432 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-el/values-el.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 511, "endColumn": 73, "endOffset": 580 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2437, "endColumn": 100, "endOffset": 2533 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-el/values-el.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2132, "endColumn": 100, "endOffset": 2228 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-en-rAU.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-en-rAU/values-en-rAU.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 103, "endOffset": 154 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 103, "endOffset": 383 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 159, "endColumn": 107, "endOffset": 262 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 388, "endColumn": 107, "endOffset": 491 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 267, "endColumn": 122, "endOffset": 385 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 496, "endColumn": 122, "endOffset": 614 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 390, "endColumn": 99, "endOffset": 485 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 619, "endColumn": 99, "endOffset": 714 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 490, "endColumn": 107, "endOffset": 593 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 719, "endColumn": 107, "endOffset": 822 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 598, "endColumn": 83, "endOffset": 677 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 827, "endColumn": 83, "endOffset": 906 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 682, "endColumn": 99, "endOffset": 777 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 911, "endColumn": 99, "endOffset": 1006 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 782, "endColumn": 114, "endOffset": 892 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1011, "endColumn": 114, "endOffset": 1121 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 897, "endColumn": 81, "endOffset": 974 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1126, "endColumn": 81, "endOffset": 1203 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 979, "endColumn": 102, "endOffset": 1077 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1208, "endColumn": 102, "endOffset": 1306 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1082, "endColumn": 103, "endOffset": 1181 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1311, "endColumn": 103, "endOffset": 1410 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1186, "endColumn": 98, "endOffset": 1280 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1415, "endColumn": 98, "endOffset": 1509 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1285, "endColumn": 104, "endOffset": 1385 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1514, "endColumn": 104, "endOffset": 1614 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1390, "endColumn": 102, "endOffset": 1488 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1619, "endColumn": 102, "endOffset": 1717 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1493, "endColumn": 103, "endOffset": 1592 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1722, "endColumn": 103, "endOffset": 1821 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1597, "endColumn": 118, "endOffset": 1711 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1826, "endColumn": 118, "endOffset": 1940 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1716, "endColumn": 99, "endOffset": 1811 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1945, "endColumn": 99, "endOffset": 2040 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1816, "endColumn": 100, "endOffset": 1912 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rAU/values-en-rAU.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2045, "endColumn": 100, "endOffset": 2141 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-en-rGB.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-en-rGB/values-en-rGB.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 103, "endOffset": 154 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 103, "endOffset": 383 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 159, "endColumn": 107, "endOffset": 262 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 388, "endColumn": 107, "endOffset": 491 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 267, "endColumn": 122, "endOffset": 385 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 496, "endColumn": 122, "endOffset": 614 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 390, "endColumn": 99, "endOffset": 485 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 619, "endColumn": 99, "endOffset": 714 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 490, "endColumn": 107, "endOffset": 593 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 719, "endColumn": 107, "endOffset": 822 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 598, "endColumn": 83, "endOffset": 677 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 827, "endColumn": 83, "endOffset": 906 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 682, "endColumn": 99, "endOffset": 777 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 911, "endColumn": 99, "endOffset": 1006 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 782, "endColumn": 114, "endOffset": 892 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1011, "endColumn": 114, "endOffset": 1121 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 897, "endColumn": 81, "endOffset": 974 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1126, "endColumn": 81, "endOffset": 1203 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 979, "endColumn": 102, "endOffset": 1077 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1208, "endColumn": 102, "endOffset": 1306 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1082, "endColumn": 103, "endOffset": 1181 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1311, "endColumn": 103, "endOffset": 1410 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1186, "endColumn": 98, "endOffset": 1280 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1415, "endColumn": 98, "endOffset": 1509 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1285, "endColumn": 104, "endOffset": 1385 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1514, "endColumn": 104, "endOffset": 1614 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1390, "endColumn": 102, "endOffset": 1488 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1619, "endColumn": 102, "endOffset": 1717 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1493, "endColumn": 103, "endOffset": 1592 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1722, "endColumn": 103, "endOffset": 1821 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1597, "endColumn": 118, "endOffset": 1711 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1826, "endColumn": 118, "endOffset": 1940 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1716, "endColumn": 99, "endOffset": 1811 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1945, "endColumn": 99, "endOffset": 2040 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1816, "endColumn": 53, "endOffset": 1865 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1870, "endColumn": 69, "endOffset": 1935 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 69, "endOffset": 174 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1940, "endColumn": 78, "endOffset": 2014 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 179, "endColumn": 78, "endOffset": 253 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2019, "endColumn": 70, "endOffset": 2085 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 258, "endColumn": 70, "endOffset": 324 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2090, "endColumn": 64, "endOffset": 2150 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 329, "endColumn": 64, "endOffset": 389 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2155, "endColumn": 55, "endOffset": 2206 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 394, "endColumn": 55, "endOffset": 445 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2211, "endColumn": 58, "endOffset": 2265 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 450, "endColumn": 58, "endOffset": 504 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2270, "endColumn": 73, "endOffset": 2339 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 509, "endColumn": 73, "endOffset": 578 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2344, "endColumn": 100, "endOffset": 2440 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rGB/values-en-rGB.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2045, "endColumn": 100, "endOffset": 2141 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-en-rIN.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-en-rIN/values-en-rIN.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 103, "endOffset": 154 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 103, "endOffset": 383 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 159, "endColumn": 107, "endOffset": 262 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 388, "endColumn": 107, "endOffset": 491 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 267, "endColumn": 122, "endOffset": 385 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 496, "endColumn": 122, "endOffset": 614 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 390, "endColumn": 99, "endOffset": 485 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 619, "endColumn": 99, "endOffset": 714 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 490, "endColumn": 107, "endOffset": 593 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 719, "endColumn": 107, "endOffset": 822 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 598, "endColumn": 83, "endOffset": 677 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 827, "endColumn": 83, "endOffset": 906 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 682, "endColumn": 99, "endOffset": 777 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 911, "endColumn": 99, "endOffset": 1006 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 782, "endColumn": 114, "endOffset": 892 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1011, "endColumn": 114, "endOffset": 1121 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 897, "endColumn": 81, "endOffset": 974 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1126, "endColumn": 81, "endOffset": 1203 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 979, "endColumn": 102, "endOffset": 1077 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1208, "endColumn": 102, "endOffset": 1306 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1082, "endColumn": 103, "endOffset": 1181 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1311, "endColumn": 103, "endOffset": 1410 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1186, "endColumn": 98, "endOffset": 1280 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1415, "endColumn": 98, "endOffset": 1509 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1285, "endColumn": 104, "endOffset": 1385 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1514, "endColumn": 104, "endOffset": 1614 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1390, "endColumn": 102, "endOffset": 1488 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1619, "endColumn": 102, "endOffset": 1717 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1493, "endColumn": 103, "endOffset": 1592 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1722, "endColumn": 103, "endOffset": 1821 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1597, "endColumn": 118, "endOffset": 1711 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1826, "endColumn": 118, "endOffset": 1940 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1716, "endColumn": 99, "endOffset": 1811 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1945, "endColumn": 99, "endOffset": 2040 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1816, "endColumn": 100, "endOffset": 1912 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-en-rIN/values-en-rIN.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2045, "endColumn": 100, "endOffset": 2141 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-es-rES.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-es-rES/values-es-rES.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-es-rES/values-es-rES.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 76, "endOffset": 181 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-es-rES/values-es-rES.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 76, "endOffset": 181 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 186, "endColumn": 78, "endOffset": 260 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-es-rES/values-es-rES.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 186, "endColumn": 78, "endOffset": 260 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 265, "endColumn": 70, "endOffset": 331 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-es-rES/values-es-rES.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 265, "endColumn": 70, "endOffset": 331 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 336, "endColumn": 59, "endOffset": 391 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-es-rES/values-es-rES.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 336, "endColumn": 59, "endOffset": 391 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 396, "endColumn": 55, "endOffset": 447 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-es-rES/values-es-rES.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 396, "endColumn": 55, "endOffset": 447 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 452, "endColumn": 58, "endOffset": 506 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-es-rES/values-es-rES.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 452, "endColumn": 58, "endOffset": 506 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 511, "endColumn": 73, "endOffset": 580 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-es-rES/values-es-rES.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 511, "endColumn": 73, "endOffset": 580 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-es-rUS.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-es-rUS/values-es-rUS.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 119, "endOffset": 170 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 119, "endOffset": 399 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 175, "endColumn": 107, "endOffset": 278 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 404, "endColumn": 107, "endOffset": 507 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 283, "endColumn": 122, "endOffset": 401 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 512, "endColumn": 122, "endOffset": 630 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 406, "endColumn": 108, "endOffset": 510 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 635, "endColumn": 108, "endOffset": 739 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 515, "endColumn": 107, "endOffset": 618 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 744, "endColumn": 107, "endOffset": 847 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 623, "endColumn": 84, "endOffset": 703 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 852, "endColumn": 84, "endOffset": 932 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 708, "endColumn": 100, "endOffset": 804 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 937, "endColumn": 100, "endOffset": 1033 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 809, "endColumn": 122, "endOffset": 927 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1038, "endColumn": 122, "endOffset": 1156 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 932, "endColumn": 81, "endOffset": 1009 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1161, "endColumn": 81, "endOffset": 1238 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1014, "endColumn": 111, "endOffset": 1121 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1243, "endColumn": 111, "endOffset": 1350 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1126, "endColumn": 111, "endOffset": 1233 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1355, "endColumn": 111, "endOffset": 1462 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1238, "endColumn": 100, "endOffset": 1334 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1467, "endColumn": 100, "endOffset": 1563 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1339, "endColumn": 107, "endOffset": 1442 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1568, "endColumn": 107, "endOffset": 1671 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1447, "endColumn": 106, "endOffset": 1549 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1676, "endColumn": 106, "endOffset": 1778 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1554, "endColumn": 106, "endOffset": 1656 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1783, "endColumn": 106, "endOffset": 1885 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1661, "endColumn": 121, "endOffset": 1778 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1890, "endColumn": 121, "endOffset": 2007 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1783, "endColumn": 99, "endOffset": 1878 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2012, "endColumn": 99, "endOffset": 2107 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1883, "endColumn": 100, "endOffset": 1979 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es-rUS/values-es-rUS.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2112, "endColumn": 100, "endOffset": 2208 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-es.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-es/values-es.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 116, "endOffset": 167 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 116, "endOffset": 392 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 172, "endColumn": 107, "endOffset": 275 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 397, "endColumn": 107, "endOffset": 500 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 122, "endOffset": 398 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 505, "endColumn": 122, "endOffset": 623 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 403, "endColumn": 112, "endOffset": 511 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 628, "endColumn": 112, "endOffset": 736 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 516, "endColumn": 107, "endOffset": 619 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 741, "endColumn": 107, "endOffset": 844 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 624, "endColumn": 84, "endOffset": 704 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 849, "endColumn": 84, "endOffset": 929 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 709, "endColumn": 100, "endOffset": 805 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 934, "endColumn": 100, "endOffset": 1030 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 810, "endColumn": 127, "endOffset": 933 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1035, "endColumn": 127, "endOffset": 1158 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 938, "endColumn": 81, "endOffset": 1015 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1163, "endColumn": 81, "endOffset": 1240 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1020, "endColumn": 106, "endOffset": 1122 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1245, "endColumn": 106, "endOffset": 1347 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1127, "endColumn": 99, "endOffset": 1222 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1352, "endColumn": 99, "endOffset": 1447 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1227, "endColumn": 98, "endOffset": 1321 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1452, "endColumn": 98, "endOffset": 1546 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1326, "endColumn": 107, "endOffset": 1429 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1551, "endColumn": 107, "endOffset": 1654 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1434, "endColumn": 106, "endOffset": 1536 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1659, "endColumn": 106, "endOffset": 1761 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1541, "endColumn": 106, "endOffset": 1643 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1766, "endColumn": 106, "endOffset": 1868 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1648, "endColumn": 121, "endOffset": 1765 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1873, "endColumn": 121, "endOffset": 1990 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1770, "endColumn": 99, "endOffset": 1865 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1995, "endColumn": 99, "endOffset": 2090 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1870, "endColumn": 53, "endOffset": 1919 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-es/values-es.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1924, "endColumn": 76, "endOffset": 1996 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-es/values-es.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 76, "endOffset": 181 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 2001, "endColumn": 78, "endOffset": 2075 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-es/values-es.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 186, "endColumn": 78, "endOffset": 260 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2080, "endColumn": 70, "endOffset": 2146 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-es/values-es.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 265, "endColumn": 70, "endOffset": 331 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2151, "endColumn": 59, "endOffset": 2206 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-es/values-es.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 336, "endColumn": 59, "endOffset": 391 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2211, "endColumn": 55, "endOffset": 2262 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-es/values-es.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 396, "endColumn": 55, "endOffset": 447 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2267, "endColumn": 58, "endOffset": 2321 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-es/values-es.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 452, "endColumn": 58, "endOffset": 506 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2326, "endColumn": 73, "endOffset": 2395 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-es/values-es.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 511, "endColumn": 73, "endOffset": 580 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2400, "endColumn": 100, "endOffset": 2496 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-es/values-es.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2095, "endColumn": 100, "endOffset": 2191 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-et-rEE.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-et-rEE/values-et-rEE.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 116, "endOffset": 167 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 116, "endOffset": 396 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 172, "endColumn": 107, "endOffset": 275 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 401, "endColumn": 107, "endOffset": 504 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 122, "endOffset": 398 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 509, "endColumn": 122, "endOffset": 627 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 403, "endColumn": 106, "endOffset": 505 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 632, "endColumn": 106, "endOffset": 734 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 510, "endColumn": 110, "endOffset": 616 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 739, "endColumn": 110, "endOffset": 845 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 621, "endColumn": 85, "endOffset": 702 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 850, "endColumn": 85, "endOffset": 931 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 707, "endColumn": 101, "endOffset": 804 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 936, "endColumn": 101, "endOffset": 1033 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 809, "endColumn": 116, "endOffset": 921 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1038, "endColumn": 116, "endOffset": 1150 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 926, "endColumn": 82, "endOffset": 1004 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1155, "endColumn": 82, "endOffset": 1233 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1009, "endColumn": 110, "endOffset": 1115 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1238, "endColumn": 110, "endOffset": 1344 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1120, "endColumn": 104, "endOffset": 1220 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1349, "endColumn": 104, "endOffset": 1449 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1225, "endColumn": 98, "endOffset": 1319 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1454, "endColumn": 98, "endOffset": 1548 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1324, "endColumn": 109, "endOffset": 1429 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1553, "endColumn": 109, "endOffset": 1658 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1434, "endColumn": 100, "endOffset": 1530 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1663, "endColumn": 100, "endOffset": 1759 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1535, "endColumn": 102, "endOffset": 1633 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1764, "endColumn": 102, "endOffset": 1862 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1638, "endColumn": 127, "endOffset": 1761 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1867, "endColumn": 127, "endOffset": 1990 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1766, "endColumn": 101, "endOffset": 1863 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1995, "endColumn": 101, "endOffset": 2092 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1868, "endColumn": 100, "endOffset": 1964 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-et-rEE/values-et-rEE.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2097, "endColumn": 100, "endOffset": 2193 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-eu-rES.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-eu-rES/values-eu-rES.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 108, "endOffset": 159 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 108, "endOffset": 388 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 164, "endColumn": 107, "endOffset": 267 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 393, "endColumn": 107, "endOffset": 496 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 272, "endColumn": 122, "endOffset": 390 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 501, "endColumn": 122, "endOffset": 619 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 395, "endColumn": 97, "endOffset": 488 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 624, "endColumn": 97, "endOffset": 717 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 493, "endColumn": 109, "endOffset": 598 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 722, "endColumn": 109, "endOffset": 827 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 603, "endColumn": 85, "endOffset": 684 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 832, "endColumn": 85, "endOffset": 913 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 689, "endColumn": 105, "endOffset": 790 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 918, "endColumn": 105, "endOffset": 1019 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 795, "endColumn": 123, "endOffset": 914 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1024, "endColumn": 123, "endOffset": 1143 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 919, "endColumn": 81, "endOffset": 996 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1148, "endColumn": 81, "endOffset": 1225 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1001, "endColumn": 108, "endOffset": 1105 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1230, "endColumn": 108, "endOffset": 1334 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1110, "endColumn": 109, "endOffset": 1215 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1339, "endColumn": 109, "endOffset": 1444 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1220, "endColumn": 98, "endOffset": 1314 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1449, "endColumn": 98, "endOffset": 1543 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1319, "endColumn": 108, "endOffset": 1423 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1548, "endColumn": 108, "endOffset": 1652 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1428, "endColumn": 112, "endOffset": 1536 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1657, "endColumn": 112, "endOffset": 1765 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1541, "endColumn": 110, "endOffset": 1647 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1770, "endColumn": 110, "endOffset": 1876 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1652, "endColumn": 136, "endOffset": 1784 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1881, "endColumn": 136, "endOffset": 2013 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1789, "endColumn": 98, "endOffset": 1883 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2018, "endColumn": 98, "endOffset": 2112 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1888, "endColumn": 100, "endOffset": 1984 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-eu-rES/values-eu-rES.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2117, "endColumn": 100, "endOffset": 2213 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-fa.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-fa/values-fa.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 109, "endOffset": 160 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 109, "endOffset": 385 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 165, "endColumn": 109, "endOffset": 270 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 390, "endColumn": 109, "endOffset": 495 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 275, "endColumn": 125, "endOffset": 396 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 500, "endColumn": 125, "endOffset": 621 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 401, "endColumn": 102, "endOffset": 499 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 626, "endColumn": 102, "endOffset": 724 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 504, "endColumn": 110, "endOffset": 610 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 729, "endColumn": 110, "endOffset": 835 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 615, "endColumn": 87, "endOffset": 698 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 840, "endColumn": 87, "endOffset": 923 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 703, "endColumn": 102, "endOffset": 801 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 928, "endColumn": 102, "endOffset": 1026 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 806, "endColumn": 114, "endOffset": 916 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1031, "endColumn": 114, "endOffset": 1141 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 921, "endColumn": 80, "endOffset": 997 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1146, "endColumn": 80, "endOffset": 1222 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1002, "endColumn": 111, "endOffset": 1109 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1227, "endColumn": 111, "endOffset": 1334 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1114, "endColumn": 102, "endOffset": 1212 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1339, "endColumn": 102, "endOffset": 1437 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1217, "endColumn": 97, "endOffset": 1310 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1442, "endColumn": 97, "endOffset": 1535 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1315, "endColumn": 109, "endOffset": 1420 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1540, "endColumn": 109, "endOffset": 1645 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1425, "endColumn": 102, "endOffset": 1523 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1650, "endColumn": 102, "endOffset": 1748 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1528, "endColumn": 108, "endOffset": 1632 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1753, "endColumn": 108, "endOffset": 1857 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1637, "endColumn": 124, "endOffset": 1757 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1862, "endColumn": 124, "endOffset": 1982 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1762, "endColumn": 100, "endOffset": 1858 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1987, "endColumn": 100, "endOffset": 2083 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1863, "endColumn": 100, "endOffset": 1959 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fa/values-fa.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2088, "endColumn": 100, "endOffset": 2184 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-fb-rLL.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-fb-rLL/values-fb-rLL.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fb-rLL/values-fb-rLL.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 80, "endOffset": 185 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fb-rLL/values-fb-rLL.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 80, "endOffset": 185 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 190, "endColumn": 78, "endOffset": 264 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fb-rLL/values-fb-rLL.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 190, "endColumn": 78, "endOffset": 264 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 269, "endColumn": 70, "endOffset": 335 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fb-rLL/values-fb-rLL.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 269, "endColumn": 70, "endOffset": 335 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 340, "endColumn": 78, "endOffset": 414 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fb-rLL/values-fb-rLL.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 340, "endColumn": 78, "endOffset": 414 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 419, "endColumn": 55, "endOffset": 470 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fb-rLL/values-fb-rLL.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 419, "endColumn": 55, "endOffset": 470 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 475, "endColumn": 58, "endOffset": 529 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fb-rLL/values-fb-rLL.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 475, "endColumn": 58, "endOffset": 529 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 534, "endColumn": 73, "endOffset": 603 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fb-rLL/values-fb-rLL.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 534, "endColumn": 73, "endOffset": 603 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-fb.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-fb/values-fb.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 90, "endOffset": 141 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fb/values-fb.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 90, "endOffset": 141 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 146, "endColumn": 106, "endOffset": 248 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fb/values-fb.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 146, "endColumn": 106, "endOffset": 248 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 253, "endColumn": 115, "endOffset": 364 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fb/values-fb.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 253, "endColumn": 115, "endOffset": 364 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 369, "endColumn": 107, "endOffset": 472 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fb/values-fb.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 369, "endColumn": 107, "endOffset": 472 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 477, "endColumn": 101, "endOffset": 574 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fb/values-fb.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 477, "endColumn": 101, "endOffset": 574 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 579, "endColumn": 92, "endOffset": 667 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fb/values-fb.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 579, "endColumn": 92, "endOffset": 667 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 672, "endColumn": 95, "endOffset": 763 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fb/values-fb.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 672, "endColumn": 95, "endOffset": 763 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 768, "endColumn": 110, "endOffset": 874 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fb/values-fb.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 768, "endColumn": 110, "endOffset": 874 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-fi.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-fi/values-fi.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 107, "endOffset": 158 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 107, "endOffset": 383 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 163, "endColumn": 107, "endOffset": 266 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 388, "endColumn": 107, "endOffset": 491 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 271, "endColumn": 122, "endOffset": 389 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 496, "endColumn": 122, "endOffset": 614 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 394, "endColumn": 99, "endOffset": 489 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 619, "endColumn": 99, "endOffset": 714 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 494, "endColumn": 100, "endOffset": 590 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 719, "endColumn": 100, "endOffset": 815 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 595, "endColumn": 85, "endOffset": 676 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 820, "endColumn": 85, "endOffset": 901 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 681, "endColumn": 104, "endOffset": 781 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 906, "endColumn": 104, "endOffset": 1006 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 786, "endColumn": 117, "endOffset": 899 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1011, "endColumn": 117, "endOffset": 1124 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 904, "endColumn": 79, "endOffset": 979 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1129, "endColumn": 79, "endOffset": 1204 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 984, "endColumn": 106, "endOffset": 1086 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1209, "endColumn": 106, "endOffset": 1311 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1091, "endColumn": 102, "endOffset": 1189 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1316, "endColumn": 102, "endOffset": 1414 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1194, "endColumn": 96, "endOffset": 1286 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1419, "endColumn": 96, "endOffset": 1511 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1291, "endColumn": 105, "endOffset": 1392 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1516, "endColumn": 105, "endOffset": 1617 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1397, "endColumn": 98, "endOffset": 1491 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1622, "endColumn": 98, "endOffset": 1716 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1496, "endColumn": 103, "endOffset": 1595 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1721, "endColumn": 103, "endOffset": 1820 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1600, "endColumn": 118, "endOffset": 1714 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1825, "endColumn": 118, "endOffset": 1939 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1719, "endColumn": 98, "endOffset": 1813 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1944, "endColumn": 98, "endOffset": 2038 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1818, "endColumn": 53, "endOffset": 1867 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fi/values-fi.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1872, "endColumn": 73, "endOffset": 1941 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fi/values-fi.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 73, "endOffset": 178 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1946, "endColumn": 78, "endOffset": 2020 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fi/values-fi.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 183, "endColumn": 78, "endOffset": 257 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2025, "endColumn": 70, "endOffset": 2091 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fi/values-fi.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 262, "endColumn": 70, "endOffset": 328 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2096, "endColumn": 56, "endOffset": 2148 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fi/values-fi.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 333, "endColumn": 56, "endOffset": 385 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2153, "endColumn": 55, "endOffset": 2204 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fi/values-fi.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 390, "endColumn": 55, "endOffset": 441 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2209, "endColumn": 58, "endOffset": 2263 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fi/values-fi.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 446, "endColumn": 58, "endOffset": 500 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2268, "endColumn": 73, "endOffset": 2337 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fi/values-fi.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 505, "endColumn": 73, "endOffset": 574 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2342, "endColumn": 100, "endOffset": 2438 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fi/values-fi.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2043, "endColumn": 100, "endOffset": 2139 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-fr-rCA.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-fr-rCA/values-fr-rCA.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 110, "endOffset": 161 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 110, "endOffset": 390 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 166, "endColumn": 107, "endOffset": 269 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 395, "endColumn": 107, "endOffset": 498 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 274, "endColumn": 122, "endOffset": 392 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 503, "endColumn": 122, "endOffset": 621 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 397, "endColumn": 114, "endOffset": 507 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 626, "endColumn": 114, "endOffset": 736 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 512, "endColumn": 110, "endOffset": 618 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 741, "endColumn": 110, "endOffset": 847 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 623, "endColumn": 86, "endOffset": 705 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 852, "endColumn": 86, "endOffset": 934 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 710, "endColumn": 115, "endOffset": 821 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 939, "endColumn": 115, "endOffset": 1050 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 826, "endColumn": 129, "endOffset": 951 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1055, "endColumn": 129, "endOffset": 1180 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 956, "endColumn": 95, "endOffset": 1047 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1185, "endColumn": 95, "endOffset": 1276 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1052, "endColumn": 109, "endOffset": 1157 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1281, "endColumn": 109, "endOffset": 1386 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1162, "endColumn": 111, "endOffset": 1269 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1391, "endColumn": 111, "endOffset": 1498 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1274, "endColumn": 102, "endOffset": 1372 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1503, "endColumn": 102, "endOffset": 1601 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1377, "endColumn": 110, "endOffset": 1483 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1606, "endColumn": 110, "endOffset": 1712 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1488, "endColumn": 106, "endOffset": 1590 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1717, "endColumn": 106, "endOffset": 1819 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1595, "endColumn": 101, "endOffset": 1692 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1824, "endColumn": 101, "endOffset": 1921 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1697, "endColumn": 121, "endOffset": 1814 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1926, "endColumn": 121, "endOffset": 2043 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1819, "endColumn": 98, "endOffset": 1913 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2048, "endColumn": 98, "endOffset": 2142 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1918, "endColumn": 100, "endOffset": 2014 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr-rCA/values-fr-rCA.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2147, "endColumn": 100, "endOffset": 2243 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-fr.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-fr/values-fr.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 110, "endOffset": 161 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 110, "endOffset": 386 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 166, "endColumn": 107, "endOffset": 269 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 391, "endColumn": 107, "endOffset": 494 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 274, "endColumn": 122, "endOffset": 392 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 499, "endColumn": 122, "endOffset": 617 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 397, "endColumn": 114, "endOffset": 507 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 622, "endColumn": 114, "endOffset": 732 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 512, "endColumn": 110, "endOffset": 618 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 737, "endColumn": 110, "endOffset": 843 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 623, "endColumn": 81, "endOffset": 700 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 848, "endColumn": 81, "endOffset": 925 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 705, "endColumn": 105, "endOffset": 806 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 930, "endColumn": 105, "endOffset": 1031 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 811, "endColumn": 129, "endOffset": 936 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1036, "endColumn": 129, "endOffset": 1161 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 941, "endColumn": 85, "endOffset": 1022 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1166, "endColumn": 85, "endOffset": 1247 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1027, "endColumn": 109, "endOffset": 1132 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1252, "endColumn": 109, "endOffset": 1357 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1137, "endColumn": 111, "endOffset": 1244 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1362, "endColumn": 111, "endOffset": 1469 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1249, "endColumn": 102, "endOffset": 1347 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1474, "endColumn": 102, "endOffset": 1572 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1352, "endColumn": 110, "endOffset": 1458 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1577, "endColumn": 110, "endOffset": 1683 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1463, "endColumn": 106, "endOffset": 1565 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1688, "endColumn": 106, "endOffset": 1790 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1570, "endColumn": 106, "endOffset": 1672 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1795, "endColumn": 106, "endOffset": 1897 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1677, "endColumn": 121, "endOffset": 1794 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1902, "endColumn": 121, "endOffset": 2019 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1799, "endColumn": 98, "endOffset": 1893 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2024, "endColumn": 98, "endOffset": 2118 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1898, "endColumn": 53, "endOffset": 1947 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fr/values-fr.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1952, "endColumn": 74, "endOffset": 2022 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fr/values-fr.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 74, "endOffset": 179 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 2027, "endColumn": 78, "endOffset": 2101 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fr/values-fr.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 184, "endColumn": 78, "endOffset": 258 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2106, "endColumn": 70, "endOffset": 2172 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fr/values-fr.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 263, "endColumn": 70, "endOffset": 329 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2177, "endColumn": 71, "endOffset": 2244 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fr/values-fr.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 334, "endColumn": 71, "endOffset": 401 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2249, "endColumn": 55, "endOffset": 2300 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fr/values-fr.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 406, "endColumn": 55, "endOffset": 457 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2305, "endColumn": 58, "endOffset": 2359 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fr/values-fr.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 462, "endColumn": 58, "endOffset": 516 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2364, "endColumn": 73, "endOffset": 2433 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-fr/values-fr.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 521, "endColumn": 73, "endOffset": 590 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2438, "endColumn": 100, "endOffset": 2534 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-fr/values-fr.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2123, "endColumn": 100, "endOffset": 2219 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-gl-rES.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-gl-rES/values-gl-rES.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 111, "endOffset": 162 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 111, "endOffset": 391 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 167, "endColumn": 107, "endOffset": 270 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 396, "endColumn": 107, "endOffset": 499 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 275, "endColumn": 122, "endOffset": 393 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 504, "endColumn": 122, "endOffset": 622 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 398, "endColumn": 111, "endOffset": 505 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 627, "endColumn": 111, "endOffset": 734 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 510, "endColumn": 107, "endOffset": 613 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 739, "endColumn": 107, "endOffset": 842 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 618, "endColumn": 84, "endOffset": 698 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 847, "endColumn": 84, "endOffset": 927 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 703, "endColumn": 101, "endOffset": 800 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 932, "endColumn": 101, "endOffset": 1029 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 805, "endColumn": 125, "endOffset": 926 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1034, "endColumn": 125, "endOffset": 1155 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 931, "endColumn": 81, "endOffset": 1008 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1160, "endColumn": 81, "endOffset": 1237 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1013, "endColumn": 106, "endOffset": 1115 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1242, "endColumn": 106, "endOffset": 1344 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1120, "endColumn": 108, "endOffset": 1224 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1349, "endColumn": 108, "endOffset": 1453 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1229, "endColumn": 98, "endOffset": 1323 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1458, "endColumn": 98, "endOffset": 1552 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1328, "endColumn": 107, "endOffset": 1431 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1557, "endColumn": 107, "endOffset": 1660 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1436, "endColumn": 102, "endOffset": 1534 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1665, "endColumn": 102, "endOffset": 1763 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1539, "endColumn": 106, "endOffset": 1641 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1768, "endColumn": 106, "endOffset": 1870 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1646, "endColumn": 121, "endOffset": 1763 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1875, "endColumn": 121, "endOffset": 1992 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1768, "endColumn": 99, "endOffset": 1863 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1997, "endColumn": 99, "endOffset": 2092 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1868, "endColumn": 100, "endOffset": 1964 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gl-rES/values-gl-rES.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2097, "endColumn": 100, "endOffset": 2193 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-gu-rIN.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-gu-rIN/values-gu-rIN.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 108, "endOffset": 159 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 108, "endOffset": 388 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 164, "endColumn": 107, "endOffset": 267 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 393, "endColumn": 107, "endOffset": 496 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 272, "endColumn": 122, "endOffset": 390 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 501, "endColumn": 122, "endOffset": 619 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 395, "endColumn": 103, "endOffset": 494 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 624, "endColumn": 103, "endOffset": 723 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 499, "endColumn": 106, "endOffset": 601 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 728, "endColumn": 106, "endOffset": 830 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 606, "endColumn": 86, "endOffset": 688 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 835, "endColumn": 86, "endOffset": 917 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 693, "endColumn": 100, "endOffset": 789 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 922, "endColumn": 100, "endOffset": 1018 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 794, "endColumn": 122, "endOffset": 912 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1023, "endColumn": 122, "endOffset": 1141 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 917, "endColumn": 79, "endOffset": 992 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1146, "endColumn": 79, "endOffset": 1221 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 997, "endColumn": 105, "endOffset": 1098 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1226, "endColumn": 105, "endOffset": 1327 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1103, "endColumn": 101, "endOffset": 1200 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1332, "endColumn": 101, "endOffset": 1429 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1205, "endColumn": 96, "endOffset": 1297 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1434, "endColumn": 96, "endOffset": 1526 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1302, "endColumn": 108, "endOffset": 1406 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1531, "endColumn": 108, "endOffset": 1635 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1411, "endColumn": 98, "endOffset": 1505 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1640, "endColumn": 98, "endOffset": 1734 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1510, "endColumn": 109, "endOffset": 1615 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1739, "endColumn": 109, "endOffset": 1844 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1620, "endColumn": 120, "endOffset": 1736 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1849, "endColumn": 120, "endOffset": 1965 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1741, "endColumn": 102, "endOffset": 1839 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1970, "endColumn": 102, "endOffset": 2068 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1844, "endColumn": 100, "endOffset": 1940 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-gu-rIN/values-gu-rIN.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2073, "endColumn": 100, "endOffset": 2169 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-h720dp-v13.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-h720dp-v13/values-h720dp-v13.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 66, "endOffset": 117 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-h720dp/values-h720dp.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 283, "endColumn": 66, "endOffset": 345 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-hdpi-v4.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-hdpi-v4/values-hdpi-v4.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endLine": 6, "endColumn": 13, "endOffset": 327 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hdpi/values-hdpi.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 286, "endLine": 8, "endColumn": 13, "endOffset": 558 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-hi.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-hi/values-hi.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 116, "endOffset": 167 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 116, "endOffset": 392 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 172, "endColumn": 107, "endOffset": 275 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 397, "endColumn": 107, "endOffset": 500 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 122, "endOffset": 398 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 505, "endColumn": 122, "endOffset": 623 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 403, "endColumn": 104, "endOffset": 503 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 628, "endColumn": 104, "endOffset": 728 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 508, "endColumn": 106, "endOffset": 610 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 733, "endColumn": 106, "endOffset": 835 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 615, "endColumn": 84, "endOffset": 695 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 840, "endColumn": 84, "endOffset": 920 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 700, "endColumn": 101, "endOffset": 797 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 925, "endColumn": 101, "endOffset": 1022 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 802, "endColumn": 121, "endOffset": 919 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1027, "endColumn": 121, "endOffset": 1144 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 924, "endColumn": 89, "endOffset": 1009 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1149, "endColumn": 89, "endOffset": 1234 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1014, "endColumn": 108, "endOffset": 1118 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1239, "endColumn": 108, "endOffset": 1343 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1123, "endColumn": 101, "endOffset": 1220 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1348, "endColumn": 101, "endOffset": 1445 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1225, "endColumn": 97, "endOffset": 1318 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1450, "endColumn": 97, "endOffset": 1543 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1323, "endColumn": 109, "endOffset": 1428 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1548, "endColumn": 109, "endOffset": 1653 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1433, "endColumn": 99, "endOffset": 1528 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1658, "endColumn": 99, "endOffset": 1753 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1533, "endColumn": 114, "endOffset": 1643 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1758, "endColumn": 114, "endOffset": 1868 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1648, "endColumn": 124, "endOffset": 1768 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1873, "endColumn": 124, "endOffset": 1993 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1773, "endColumn": 105, "endOffset": 1874 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1998, "endColumn": 105, "endOffset": 2099 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1879, "endColumn": 100, "endOffset": 1975 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hi/values-hi.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2104, "endColumn": 100, "endOffset": 2200 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-hr.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-hr/values-hr.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 104, "endOffset": 155 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 104, "endOffset": 380 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 160, "endColumn": 107, "endOffset": 263 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 385, "endColumn": 107, "endOffset": 488 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 268, "endColumn": 122, "endOffset": 386 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 493, "endColumn": 122, "endOffset": 611 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 391, "endColumn": 96, "endOffset": 483 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 616, "endColumn": 96, "endOffset": 708 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 488, "endColumn": 109, "endOffset": 593 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 713, "endColumn": 109, "endOffset": 818 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 598, "endColumn": 85, "endOffset": 679 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 823, "endColumn": 85, "endOffset": 904 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 684, "endColumn": 103, "endOffset": 783 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 909, "endColumn": 103, "endOffset": 1008 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 788, "endColumn": 118, "endOffset": 902 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1013, "endColumn": 118, "endOffset": 1127 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 907, "endColumn": 85, "endOffset": 988 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1132, "endColumn": 85, "endOffset": 1213 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 993, "endColumn": 103, "endOffset": 1092 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1218, "endColumn": 103, "endOffset": 1317 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1097, "endColumn": 112, "endOffset": 1205 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1322, "endColumn": 112, "endOffset": 1430 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1210, "endColumn": 105, "endOffset": 1311 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1435, "endColumn": 105, "endOffset": 1536 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1316, "endColumn": 104, "endOffset": 1416 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1541, "endColumn": 104, "endOffset": 1641 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1421, "endColumn": 112, "endOffset": 1529 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1646, "endColumn": 112, "endOffset": 1754 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1534, "endColumn": 106, "endOffset": 1636 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1759, "endColumn": 106, "endOffset": 1861 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1641, "endColumn": 122, "endOffset": 1759 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1866, "endColumn": 122, "endOffset": 1984 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1764, "endColumn": 96, "endOffset": 1856 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1989, "endColumn": 96, "endOffset": 2081 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1861, "endColumn": 100, "endOffset": 1957 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hr/values-hr.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2086, "endColumn": 100, "endOffset": 2182 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-hu.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-hu/values-hu.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 107, "endOffset": 158 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 107, "endOffset": 383 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 163, "endColumn": 107, "endOffset": 266 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 388, "endColumn": 107, "endOffset": 491 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 271, "endColumn": 122, "endOffset": 389 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 496, "endColumn": 122, "endOffset": 614 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 394, "endColumn": 104, "endOffset": 494 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 619, "endColumn": 104, "endOffset": 719 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 499, "endColumn": 114, "endOffset": 609 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 724, "endColumn": 114, "endOffset": 834 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 614, "endColumn": 83, "endOffset": 693 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 839, "endColumn": 83, "endOffset": 918 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 698, "endColumn": 111, "endOffset": 805 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 923, "endColumn": 111, "endOffset": 1030 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 810, "endColumn": 129, "endOffset": 935 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1035, "endColumn": 129, "endOffset": 1160 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 940, "endColumn": 82, "endOffset": 1018 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1165, "endColumn": 82, "endOffset": 1243 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1023, "endColumn": 109, "endOffset": 1128 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1248, "endColumn": 109, "endOffset": 1353 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1133, "endColumn": 110, "endOffset": 1239 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1358, "endColumn": 110, "endOffset": 1464 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1244, "endColumn": 99, "endOffset": 1339 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1469, "endColumn": 99, "endOffset": 1564 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1344, "endColumn": 110, "endOffset": 1450 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1569, "endColumn": 110, "endOffset": 1675 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1455, "endColumn": 107, "endOffset": 1558 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1680, "endColumn": 107, "endOffset": 1783 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1563, "endColumn": 118, "endOffset": 1677 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1788, "endColumn": 118, "endOffset": 1902 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1682, "endColumn": 133, "endOffset": 1811 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1907, "endColumn": 133, "endOffset": 2036 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1816, "endColumn": 102, "endOffset": 1914 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2041, "endColumn": 102, "endOffset": 2139 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1919, "endColumn": 53, "endOffset": 1968 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-hu/values-hu.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1973, "endColumn": 72, "endOffset": 2041 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-hu/values-hu.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 72, "endOffset": 177 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 2046, "endColumn": 78, "endOffset": 2120 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-hu/values-hu.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 182, "endColumn": 78, "endOffset": 256 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2125, "endColumn": 70, "endOffset": 2191 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-hu/values-hu.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 261, "endColumn": 70, "endOffset": 327 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2196, "endColumn": 65, "endOffset": 2257 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-hu/values-hu.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 332, "endColumn": 65, "endOffset": 393 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2262, "endColumn": 55, "endOffset": 2313 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-hu/values-hu.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 398, "endColumn": 55, "endOffset": 449 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2318, "endColumn": 58, "endOffset": 2372 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-hu/values-hu.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 454, "endColumn": 58, "endOffset": 508 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2377, "endColumn": 73, "endOffset": 2446 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-hu/values-hu.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 513, "endColumn": 73, "endOffset": 582 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2451, "endColumn": 100, "endOffset": 2547 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hu/values-hu.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2144, "endColumn": 100, "endOffset": 2240 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-hy-rAM.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-hy-rAM/values-hy-rAM.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 102, "endOffset": 153 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 102, "endOffset": 382 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 158, "endColumn": 107, "endOffset": 261 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 387, "endColumn": 107, "endOffset": 490 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 266, "endColumn": 122, "endOffset": 384 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 495, "endColumn": 122, "endOffset": 613 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 389, "endColumn": 100, "endOffset": 485 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 618, "endColumn": 100, "endOffset": 714 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 490, "endColumn": 109, "endOffset": 595 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 719, "endColumn": 109, "endOffset": 824 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 600, "endColumn": 89, "endOffset": 685 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 829, "endColumn": 89, "endOffset": 914 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 690, "endColumn": 105, "endOffset": 791 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 919, "endColumn": 105, "endOffset": 1020 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 796, "endColumn": 114, "endOffset": 906 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1025, "endColumn": 114, "endOffset": 1135 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 911, "endColumn": 84, "endOffset": 991 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1140, "endColumn": 84, "endOffset": 1220 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 996, "endColumn": 106, "endOffset": 1098 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1225, "endColumn": 106, "endOffset": 1327 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1103, "endColumn": 106, "endOffset": 1205 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1332, "endColumn": 106, "endOffset": 1434 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1210, "endColumn": 98, "endOffset": 1304 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1439, "endColumn": 98, "endOffset": 1533 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1309, "endColumn": 109, "endOffset": 1414 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1538, "endColumn": 109, "endOffset": 1643 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1419, "endColumn": 106, "endOffset": 1521 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1648, "endColumn": 106, "endOffset": 1750 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1526, "endColumn": 100, "endOffset": 1622 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1755, "endColumn": 100, "endOffset": 1851 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1627, "endColumn": 119, "endOffset": 1742 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1856, "endColumn": 119, "endOffset": 1971 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1747, "endColumn": 98, "endOffset": 1841 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1976, "endColumn": 98, "endOffset": 2070 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1846, "endColumn": 100, "endOffset": 1942 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-hy-rAM/values-hy-rAM.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2075, "endColumn": 100, "endOffset": 2171 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-in.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-in/values-in.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 109, "endOffset": 160 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 109, "endOffset": 385 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 165, "endColumn": 107, "endOffset": 268 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 390, "endColumn": 107, "endOffset": 493 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 273, "endColumn": 122, "endOffset": 391 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 498, "endColumn": 122, "endOffset": 616 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 396, "endColumn": 101, "endOffset": 493 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 621, "endColumn": 101, "endOffset": 718 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 498, "endColumn": 104, "endOffset": 598 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 723, "endColumn": 104, "endOffset": 823 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 603, "endColumn": 86, "endOffset": 685 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 828, "endColumn": 86, "endOffset": 910 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 690, "endColumn": 103, "endOffset": 789 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 915, "endColumn": 103, "endOffset": 1014 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 794, "endColumn": 115, "endOffset": 905 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1019, "endColumn": 115, "endOffset": 1130 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 910, "endColumn": 85, "endOffset": 991 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1135, "endColumn": 85, "endOffset": 1216 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 996, "endColumn": 102, "endOffset": 1094 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1221, "endColumn": 102, "endOffset": 1319 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1099, "endColumn": 108, "endOffset": 1203 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1324, "endColumn": 108, "endOffset": 1428 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1208, "endColumn": 100, "endOffset": 1304 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1433, "endColumn": 100, "endOffset": 1529 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1309, "endColumn": 103, "endOffset": 1408 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1534, "endColumn": 103, "endOffset": 1633 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1413, "endColumn": 107, "endOffset": 1516 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1638, "endColumn": 107, "endOffset": 1741 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1521, "endColumn": 107, "endOffset": 1624 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1746, "endColumn": 107, "endOffset": 1849 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1629, "endColumn": 122, "endOffset": 1747 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1854, "endColumn": 122, "endOffset": 1972 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1752, "endColumn": 98, "endOffset": 1846 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1977, "endColumn": 98, "endOffset": 2071 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1851, "endColumn": 53, "endOffset": 1900 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-in/values-in.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1905, "endColumn": 69, "endOffset": 1970 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-in/values-in.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 69, "endOffset": 174 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1975, "endColumn": 78, "endOffset": 2049 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-in/values-in.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 179, "endColumn": 78, "endOffset": 253 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2054, "endColumn": 70, "endOffset": 2120 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-in/values-in.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 258, "endColumn": 70, "endOffset": 324 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2125, "endColumn": 65, "endOffset": 2186 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-in/values-in.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 329, "endColumn": 65, "endOffset": 390 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2191, "endColumn": 55, "endOffset": 2242 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-in/values-in.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 395, "endColumn": 55, "endOffset": 446 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2247, "endColumn": 58, "endOffset": 2301 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-in/values-in.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 451, "endColumn": 58, "endOffset": 505 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2306, "endColumn": 73, "endOffset": 2375 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-in/values-in.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 510, "endColumn": 73, "endOffset": 579 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2380, "endColumn": 100, "endOffset": 2476 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-in/values-in.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2076, "endColumn": 100, "endOffset": 2172 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-is-rIS.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-is-rIS/values-is-rIS.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 99, "endOffset": 150 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 99, "endOffset": 379 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 155, "endColumn": 107, "endOffset": 258 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 384, "endColumn": 107, "endOffset": 487 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 263, "endColumn": 122, "endOffset": 381 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 492, "endColumn": 122, "endOffset": 610 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 386, "endColumn": 96, "endOffset": 478 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 615, "endColumn": 96, "endOffset": 707 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 483, "endColumn": 111, "endOffset": 590 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 712, "endColumn": 111, "endOffset": 819 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 595, "endColumn": 84, "endOffset": 675 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 824, "endColumn": 84, "endOffset": 904 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 680, "endColumn": 100, "endOffset": 776 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 909, "endColumn": 100, "endOffset": 1005 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 781, "endColumn": 113, "endOffset": 890 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1010, "endColumn": 113, "endOffset": 1119 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 895, "endColumn": 80, "endOffset": 971 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1124, "endColumn": 80, "endOffset": 1200 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 976, "endColumn": 109, "endOffset": 1081 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1205, "endColumn": 109, "endOffset": 1310 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1086, "endColumn": 107, "endOffset": 1189 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1315, "endColumn": 107, "endOffset": 1418 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1194, "endColumn": 97, "endOffset": 1287 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1423, "endColumn": 97, "endOffset": 1516 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1292, "endColumn": 108, "endOffset": 1396 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1521, "endColumn": 108, "endOffset": 1625 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1401, "endColumn": 98, "endOffset": 1495 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1630, "endColumn": 98, "endOffset": 1724 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1500, "endColumn": 102, "endOffset": 1598 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1729, "endColumn": 102, "endOffset": 1827 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1603, "endColumn": 117, "endOffset": 1716 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1832, "endColumn": 117, "endOffset": 1945 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1721, "endColumn": 97, "endOffset": 1814 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1950, "endColumn": 97, "endOffset": 2043 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1819, "endColumn": 100, "endOffset": 1915 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-is-rIS/values-is-rIS.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2048, "endColumn": 100, "endOffset": 2144 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-it.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-it/values-it.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 108, "endOffset": 159 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 108, "endOffset": 384 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 164, "endColumn": 107, "endOffset": 267 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 389, "endColumn": 107, "endOffset": 492 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 272, "endColumn": 122, "endOffset": 390 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 497, "endColumn": 122, "endOffset": 615 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 395, "endColumn": 99, "endOffset": 490 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 620, "endColumn": 99, "endOffset": 715 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 495, "endColumn": 108, "endOffset": 599 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 720, "endColumn": 108, "endOffset": 824 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 604, "endColumn": 83, "endOffset": 683 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 829, "endColumn": 83, "endOffset": 908 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 688, "endColumn": 108, "endOffset": 792 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 913, "endColumn": 108, "endOffset": 1017 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 797, "endColumn": 124, "endOffset": 917 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1022, "endColumn": 124, "endOffset": 1142 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 922, "endColumn": 80, "endOffset": 998 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1147, "endColumn": 80, "endOffset": 1223 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1003, "endColumn": 105, "endOffset": 1104 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1228, "endColumn": 105, "endOffset": 1329 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1109, "endColumn": 107, "endOffset": 1212 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1334, "endColumn": 107, "endOffset": 1437 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1217, "endColumn": 97, "endOffset": 1310 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1442, "endColumn": 97, "endOffset": 1535 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1315, "endColumn": 103, "endOffset": 1414 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1540, "endColumn": 103, "endOffset": 1639 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1419, "endColumn": 104, "endOffset": 1519 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1644, "endColumn": 104, "endOffset": 1744 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1524, "endColumn": 106, "endOffset": 1626 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1749, "endColumn": 106, "endOffset": 1851 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1631, "endColumn": 121, "endOffset": 1748 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1856, "endColumn": 121, "endOffset": 1973 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1753, "endColumn": 99, "endOffset": 1848 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1978, "endColumn": 99, "endOffset": 2073 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1853, "endColumn": 53, "endOffset": 1902 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-it/values-it.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1907, "endColumn": 71, "endOffset": 1974 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-it/values-it.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 71, "endOffset": 176 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1979, "endColumn": 78, "endOffset": 2053 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-it/values-it.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 181, "endColumn": 78, "endOffset": 255 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2058, "endColumn": 70, "endOffset": 2124 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-it/values-it.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 260, "endColumn": 70, "endOffset": 326 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2129, "endColumn": 60, "endOffset": 2185 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-it/values-it.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 331, "endColumn": 60, "endOffset": 387 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2190, "endColumn": 55, "endOffset": 2241 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-it/values-it.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 392, "endColumn": 55, "endOffset": 443 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2246, "endColumn": 58, "endOffset": 2300 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-it/values-it.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 448, "endColumn": 58, "endOffset": 502 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2305, "endColumn": 73, "endOffset": 2374 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-it/values-it.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 507, "endColumn": 73, "endOffset": 576 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2379, "endColumn": 100, "endOffset": 2475 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-it/values-it.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2078, "endColumn": 100, "endOffset": 2174 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-iw.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-iw/values-iw.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 103, "endOffset": 154 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 103, "endOffset": 379 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 159, "endColumn": 109, "endOffset": 264 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 384, "endColumn": 109, "endOffset": 489 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 269, "endColumn": 125, "endOffset": 390 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 494, "endColumn": 125, "endOffset": 615 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 395, "endColumn": 98, "endOffset": 489 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 620, "endColumn": 98, "endOffset": 714 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 494, "endColumn": 107, "endOffset": 597 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 719, "endColumn": 107, "endOffset": 822 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 602, "endColumn": 83, "endOffset": 681 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 827, "endColumn": 83, "endOffset": 906 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 686, "endColumn": 99, "endOffset": 781 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 911, "endColumn": 99, "endOffset": 1006 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 786, "endColumn": 113, "endOffset": 895 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1011, "endColumn": 113, "endOffset": 1120 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 900, "endColumn": 78, "endOffset": 974 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1125, "endColumn": 78, "endOffset": 1199 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 979, "endColumn": 101, "endOffset": 1076 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1204, "endColumn": 101, "endOffset": 1301 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1081, "endColumn": 103, "endOffset": 1180 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1306, "endColumn": 103, "endOffset": 1405 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1185, "endColumn": 95, "endOffset": 1276 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1410, "endColumn": 95, "endOffset": 1501 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1281, "endColumn": 102, "endOffset": 1379 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1506, "endColumn": 102, "endOffset": 1604 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1384, "endColumn": 100, "endOffset": 1480 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1609, "endColumn": 100, "endOffset": 1705 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1485, "endColumn": 99, "endOffset": 1580 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1710, "endColumn": 99, "endOffset": 1805 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1585, "endColumn": 115, "endOffset": 1696 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1810, "endColumn": 115, "endOffset": 1921 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1701, "endColumn": 95, "endOffset": 1792 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1926, "endColumn": 95, "endOffset": 2017 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1797, "endColumn": 102, "endOffset": 1895 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-iw/values-iw.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2022, "endColumn": 102, "endOffset": 2120 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-ja.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-ja/values-ja.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 96, "endOffset": 147 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 96, "endOffset": 372 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 152, "endColumn": 106, "endOffset": 254 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 377, "endColumn": 106, "endOffset": 479 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 259, "endColumn": 120, "endOffset": 375 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 484, "endColumn": 120, "endOffset": 600 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 380, "endColumn": 92, "endOffset": 468 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 605, "endColumn": 92, "endOffset": 693 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 473, "endColumn": 104, "endOffset": 573 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 698, "endColumn": 104, "endOffset": 798 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 578, "endColumn": 81, "endOffset": 655 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 803, "endColumn": 81, "endOffset": 880 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 660, "endColumn": 97, "endOffset": 753 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 885, "endColumn": 97, "endOffset": 978 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 758, "endColumn": 107, "endOffset": 861 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 983, "endColumn": 107, "endOffset": 1086 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 866, "endColumn": 77, "endOffset": 939 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1091, "endColumn": 77, "endOffset": 1164 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 944, "endColumn": 101, "endOffset": 1041 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1169, "endColumn": 101, "endOffset": 1266 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1046, "endColumn": 98, "endOffset": 1140 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1271, "endColumn": 98, "endOffset": 1365 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1145, "endColumn": 94, "endOffset": 1235 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1370, "endColumn": 94, "endOffset": 1460 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1240, "endColumn": 102, "endOffset": 1338 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1465, "endColumn": 102, "endOffset": 1563 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1343, "endColumn": 94, "endOffset": 1433 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1568, "endColumn": 94, "endOffset": 1658 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1438, "endColumn": 95, "endOffset": 1529 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1663, "endColumn": 95, "endOffset": 1754 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1534, "endColumn": 110, "endOffset": 1640 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1759, "endColumn": 110, "endOffset": 1865 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1645, "endColumn": 96, "endOffset": 1737 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1870, "endColumn": 96, "endOffset": 1962 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1742, "endColumn": 53, "endOffset": 1791 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ja/values-ja.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1796, "endColumn": 60, "endOffset": 1852 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ja/values-ja.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 60, "endOffset": 165 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1857, "endColumn": 78, "endOffset": 1931 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ja/values-ja.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 170, "endColumn": 78, "endOffset": 244 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 1936, "endColumn": 70, "endOffset": 2002 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ja/values-ja.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 249, "endColumn": 70, "endOffset": 315 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2007, "endColumn": 61, "endOffset": 2064 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ja/values-ja.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 320, "endColumn": 61, "endOffset": 377 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2069, "endColumn": 55, "endOffset": 2120 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ja/values-ja.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 382, "endColumn": 55, "endOffset": 433 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2125, "endColumn": 58, "endOffset": 2179 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ja/values-ja.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 438, "endColumn": 58, "endOffset": 492 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2184, "endColumn": 73, "endOffset": 2253 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ja/values-ja.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 497, "endColumn": 73, "endOffset": 566 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2258, "endColumn": 100, "endOffset": 2354 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ja/values-ja.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 1967, "endColumn": 100, "endOffset": 2063 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-ka-rGE.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-ka-rGE/values-ka-rGE.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 108, "endOffset": 159 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 108, "endOffset": 388 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 164, "endColumn": 107, "endOffset": 267 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 393, "endColumn": 107, "endOffset": 496 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 272, "endColumn": 122, "endOffset": 390 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 501, "endColumn": 122, "endOffset": 619 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 395, "endColumn": 103, "endOffset": 494 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 624, "endColumn": 103, "endOffset": 723 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 499, "endColumn": 110, "endOffset": 605 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 728, "endColumn": 110, "endOffset": 834 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 610, "endColumn": 87, "endOffset": 693 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 839, "endColumn": 87, "endOffset": 922 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 698, "endColumn": 104, "endOffset": 798 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 927, "endColumn": 104, "endOffset": 1027 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 803, "endColumn": 112, "endOffset": 911 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1032, "endColumn": 112, "endOffset": 1140 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 916, "endColumn": 82, "endOffset": 994 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1145, "endColumn": 82, "endOffset": 1223 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 999, "endColumn": 112, "endOffset": 1107 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1228, "endColumn": 112, "endOffset": 1336 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1112, "endColumn": 106, "endOffset": 1214 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1341, "endColumn": 106, "endOffset": 1443 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1219, "endColumn": 97, "endOffset": 1312 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1448, "endColumn": 97, "endOffset": 1541 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1317, "endColumn": 112, "endOffset": 1425 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1546, "endColumn": 112, "endOffset": 1654 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1430, "endColumn": 103, "endOffset": 1529 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1659, "endColumn": 103, "endOffset": 1758 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1534, "endColumn": 103, "endOffset": 1633 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1763, "endColumn": 103, "endOffset": 1862 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1638, "endColumn": 121, "endOffset": 1755 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1867, "endColumn": 121, "endOffset": 1984 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1760, "endColumn": 97, "endOffset": 1853 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1989, "endColumn": 97, "endOffset": 2082 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1858, "endColumn": 100, "endOffset": 1954 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ka-rGE/values-ka-rGE.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2087, "endColumn": 100, "endOffset": 2183 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-kk-rKZ.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-kk-rKZ/values-kk-rKZ.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 111, "endOffset": 162 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 111, "endOffset": 391 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 167, "endColumn": 107, "endOffset": 270 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 396, "endColumn": 107, "endOffset": 499 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 275, "endColumn": 122, "endOffset": 393 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 504, "endColumn": 122, "endOffset": 622 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 398, "endColumn": 102, "endOffset": 496 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 627, "endColumn": 102, "endOffset": 725 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 501, "endColumn": 109, "endOffset": 606 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 730, "endColumn": 109, "endOffset": 835 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 611, "endColumn": 84, "endOffset": 691 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 840, "endColumn": 84, "endOffset": 920 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 696, "endColumn": 105, "endOffset": 797 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 925, "endColumn": 105, "endOffset": 1026 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 802, "endColumn": 118, "endOffset": 916 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1031, "endColumn": 118, "endOffset": 1145 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 921, "endColumn": 80, "endOffset": 997 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1150, "endColumn": 80, "endOffset": 1226 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1002, "endColumn": 102, "endOffset": 1100 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1231, "endColumn": 102, "endOffset": 1329 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1105, "endColumn": 104, "endOffset": 1205 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1334, "endColumn": 104, "endOffset": 1434 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1210, "endColumn": 97, "endOffset": 1303 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1439, "endColumn": 97, "endOffset": 1532 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1308, "endColumn": 106, "endOffset": 1410 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1537, "endColumn": 106, "endOffset": 1639 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1415, "endColumn": 108, "endOffset": 1519 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1644, "endColumn": 108, "endOffset": 1748 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1524, "endColumn": 99, "endOffset": 1619 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1753, "endColumn": 99, "endOffset": 1848 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1624, "endColumn": 114, "endOffset": 1734 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1853, "endColumn": 114, "endOffset": 1963 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1739, "endColumn": 98, "endOffset": 1833 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1968, "endColumn": 98, "endOffset": 2062 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1838, "endColumn": 100, "endOffset": 1934 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kk-rKZ/values-kk-rKZ.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2067, "endColumn": 100, "endOffset": 2163 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-km-rKH.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-km-rKH/values-km-rKH.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 102, "endOffset": 153 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 102, "endOffset": 382 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 158, "endColumn": 107, "endOffset": 261 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 387, "endColumn": 107, "endOffset": 490 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 266, "endColumn": 122, "endOffset": 384 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 495, "endColumn": 122, "endOffset": 613 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 389, "endColumn": 99, "endOffset": 484 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 618, "endColumn": 99, "endOffset": 713 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 489, "endColumn": 111, "endOffset": 596 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 718, "endColumn": 111, "endOffset": 825 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 601, "endColumn": 86, "endOffset": 683 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 830, "endColumn": 86, "endOffset": 912 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 688, "endColumn": 103, "endOffset": 787 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 917, "endColumn": 103, "endOffset": 1016 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 792, "endColumn": 117, "endOffset": 905 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1021, "endColumn": 117, "endOffset": 1134 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 910, "endColumn": 82, "endOffset": 988 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1139, "endColumn": 82, "endOffset": 1217 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 993, "endColumn": 103, "endOffset": 1092 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1222, "endColumn": 103, "endOffset": 1321 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1097, "endColumn": 104, "endOffset": 1197 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1326, "endColumn": 104, "endOffset": 1426 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1202, "endColumn": 99, "endOffset": 1297 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1431, "endColumn": 99, "endOffset": 1526 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1302, "endColumn": 109, "endOffset": 1407 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1531, "endColumn": 109, "endOffset": 1636 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1412, "endColumn": 106, "endOffset": 1514 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1641, "endColumn": 106, "endOffset": 1743 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1519, "endColumn": 107, "endOffset": 1622 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1748, "endColumn": 107, "endOffset": 1851 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1627, "endColumn": 122, "endOffset": 1745 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1856, "endColumn": 122, "endOffset": 1974 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1750, "endColumn": 97, "endOffset": 1843 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1979, "endColumn": 97, "endOffset": 2072 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1848, "endColumn": 100, "endOffset": 1944 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-km-rKH/values-km-rKH.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2077, "endColumn": 100, "endOffset": 2173 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-kn-rIN.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-kn-rIN/values-kn-rIN.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 117, "endOffset": 168 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 117, "endOffset": 397 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 173, "endColumn": 107, "endOffset": 276 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 402, "endColumn": 107, "endOffset": 505 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 281, "endColumn": 122, "endOffset": 399 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 510, "endColumn": 122, "endOffset": 628 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 404, "endColumn": 111, "endOffset": 511 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 633, "endColumn": 111, "endOffset": 740 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 516, "endColumn": 112, "endOffset": 624 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 745, "endColumn": 112, "endOffset": 853 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 629, "endColumn": 87, "endOffset": 712 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 858, "endColumn": 87, "endOffset": 941 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 717, "endColumn": 106, "endOffset": 819 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 946, "endColumn": 106, "endOffset": 1048 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 824, "endColumn": 126, "endOffset": 946 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1053, "endColumn": 126, "endOffset": 1175 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 951, "endColumn": 81, "endOffset": 1028 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1180, "endColumn": 81, "endOffset": 1257 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1033, "endColumn": 115, "endOffset": 1144 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1262, "endColumn": 115, "endOffset": 1373 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1149, "endColumn": 110, "endOffset": 1255 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1378, "endColumn": 110, "endOffset": 1484 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1260, "endColumn": 98, "endOffset": 1354 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1489, "endColumn": 98, "endOffset": 1583 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1359, "endColumn": 112, "endOffset": 1467 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1588, "endColumn": 112, "endOffset": 1696 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1472, "endColumn": 103, "endOffset": 1571 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1701, "endColumn": 103, "endOffset": 1800 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1576, "endColumn": 113, "endOffset": 1685 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1805, "endColumn": 113, "endOffset": 1914 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1690, "endColumn": 125, "endOffset": 1811 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1919, "endColumn": 125, "endOffset": 2040 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1816, "endColumn": 99, "endOffset": 1911 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2045, "endColumn": 99, "endOffset": 2140 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1916, "endColumn": 100, "endOffset": 2012 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-kn-rIN/values-kn-rIN.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2145, "endColumn": 100, "endOffset": 2241 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-ko.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-ko/values-ko.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 94, "endOffset": 145 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 94, "endOffset": 370 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 150, "endColumn": 107, "endOffset": 253 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 375, "endColumn": 107, "endOffset": 478 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 258, "endColumn": 122, "endOffset": 376 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 483, "endColumn": 122, "endOffset": 601 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 381, "endColumn": 93, "endOffset": 470 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 606, "endColumn": 93, "endOffset": 695 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 475, "endColumn": 101, "endOffset": 572 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 700, "endColumn": 101, "endOffset": 797 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 577, "endColumn": 81, "endOffset": 654 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 802, "endColumn": 81, "endOffset": 879 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 659, "endColumn": 97, "endOffset": 752 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 884, "endColumn": 97, "endOffset": 977 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 757, "endColumn": 105, "endOffset": 858 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 982, "endColumn": 105, "endOffset": 1083 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 863, "endColumn": 79, "endOffset": 938 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1088, "endColumn": 79, "endOffset": 1163 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 943, "endColumn": 97, "endOffset": 1036 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1168, "endColumn": 97, "endOffset": 1261 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1041, "endColumn": 94, "endOffset": 1131 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1266, "endColumn": 94, "endOffset": 1356 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1136, "endColumn": 94, "endOffset": 1226 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1361, "endColumn": 94, "endOffset": 1451 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1231, "endColumn": 99, "endOffset": 1326 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1456, "endColumn": 99, "endOffset": 1551 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1331, "endColumn": 95, "endOffset": 1422 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1556, "endColumn": 95, "endOffset": 1647 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1427, "endColumn": 98, "endOffset": 1521 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1652, "endColumn": 98, "endOffset": 1746 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1526, "endColumn": 114, "endOffset": 1636 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1751, "endColumn": 114, "endOffset": 1861 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1641, "endColumn": 93, "endOffset": 1730 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1866, "endColumn": 93, "endOffset": 1955 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1735, "endColumn": 53, "endOffset": 1784 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ko/values-ko.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1789, "endColumn": 60, "endOffset": 1845 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ko/values-ko.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 60, "endOffset": 165 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1850, "endColumn": 78, "endOffset": 1924 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ko/values-ko.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 170, "endColumn": 78, "endOffset": 244 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 1929, "endColumn": 70, "endOffset": 1995 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ko/values-ko.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 249, "endColumn": 70, "endOffset": 315 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2000, "endColumn": 59, "endOffset": 2055 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ko/values-ko.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 320, "endColumn": 59, "endOffset": 375 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2060, "endColumn": 55, "endOffset": 2111 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ko/values-ko.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 380, "endColumn": 55, "endOffset": 431 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2116, "endColumn": 58, "endOffset": 2170 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ko/values-ko.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 436, "endColumn": 58, "endOffset": 490 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2175, "endColumn": 73, "endOffset": 2244 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ko/values-ko.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 495, "endColumn": 73, "endOffset": 564 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2249, "endColumn": 100, "endOffset": 2345 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ko/values-ko.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 1960, "endColumn": 100, "endOffset": 2056 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-ky-rKG.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-ky-rKG/values-ky-rKG.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 103, "endOffset": 154 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 103, "endOffset": 383 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 159, "endColumn": 107, "endOffset": 262 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 388, "endColumn": 107, "endOffset": 491 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 267, "endColumn": 122, "endOffset": 385 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 496, "endColumn": 122, "endOffset": 614 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 390, "endColumn": 94, "endOffset": 480 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 619, "endColumn": 94, "endOffset": 709 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 485, "endColumn": 118, "endOffset": 599 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 714, "endColumn": 118, "endOffset": 828 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 604, "endColumn": 83, "endOffset": 683 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 833, "endColumn": 83, "endOffset": 912 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 688, "endColumn": 106, "endOffset": 790 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 917, "endColumn": 106, "endOffset": 1019 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 795, "endColumn": 116, "endOffset": 907 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1024, "endColumn": 116, "endOffset": 1136 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 912, "endColumn": 80, "endOffset": 988 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1141, "endColumn": 80, "endOffset": 1217 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 993, "endColumn": 109, "endOffset": 1098 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1222, "endColumn": 109, "endOffset": 1327 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1103, "endColumn": 106, "endOffset": 1205 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1332, "endColumn": 106, "endOffset": 1434 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1210, "endColumn": 97, "endOffset": 1303 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1439, "endColumn": 97, "endOffset": 1532 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1308, "endColumn": 105, "endOffset": 1409 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1537, "endColumn": 105, "endOffset": 1638 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1414, "endColumn": 106, "endOffset": 1516 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1643, "endColumn": 106, "endOffset": 1745 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1521, "endColumn": 100, "endOffset": 1617 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1750, "endColumn": 100, "endOffset": 1846 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1622, "endColumn": 123, "endOffset": 1741 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1851, "endColumn": 123, "endOffset": 1970 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1746, "endColumn": 102, "endOffset": 1844 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1975, "endColumn": 102, "endOffset": 2073 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1849, "endColumn": 100, "endOffset": 1945 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ky-rKG/values-ky-rKG.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2078, "endColumn": 100, "endOffset": 2174 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-land.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-land/values-land.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 61, "endOffset": 112 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-land/values-land.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 61, "endOffset": 337 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 117, "endColumn": 71, "endOffset": 184 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-land/values-land.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 568, "endColumn": 71, "endOffset": 635 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 189, "endColumn": 69, "endOffset": 254 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-land/values-land.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 875, "endColumn": 69, "endOffset": 940 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 259, "endColumn": 63, "endOffset": 318 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-land/values-land.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1171, "endColumn": 63, "endOffset": 1230 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 323, "endColumn": 70, "endOffset": 389 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-land/values-land.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1470, "endColumn": 70, "endOffset": 1536 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 394, "endColumn": 67, "endOffset": 457 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-land/values-land.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1541, "endColumn": 67, "endOffset": 1604 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-large-v4.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-large-v4/values-large-v4.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 61, "endOffset": 112 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-large/values-large.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 281, "endColumn": 61, "endOffset": 338 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 117, "endColumn": 71, "endOffset": 184 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-large/values-large.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 570, "endColumn": 71, "endOffset": 637 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 189, "endColumn": 58, "endOffset": 243 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-large/values-large.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 642, "endColumn": 58, "endOffset": 696 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 248, "endColumn": 63, "endOffset": 307 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-large/values-large.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 928, "endColumn": 63, "endOffset": 987 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 312, "endColumn": 66, "endOffset": 374 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-large/values-large.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 992, "endColumn": 66, "endOffset": 1054 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 379, "endColumn": 66, "endOffset": 441 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-large/values-large.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1059, "endColumn": 66, "endOffset": 1121 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 446, "endColumn": 65, "endOffset": 507 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-large/values-large.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1126, "endColumn": 65, "endOffset": 1187 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 512, "endColumn": 65, "endOffset": 573 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-large/values-large.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1192, "endColumn": 65, "endOffset": 1253 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 578, "endColumn": 54, "endOffset": 628 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-large/values-large.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1258, "endColumn": 54, "endOffset": 1308 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 633, "endColumn": 103, "endOffset": 732 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-large/values-large.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1545, "endColumn": 103, "endOffset": 1644 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 737, "endColumn": 115, "endOffset": 848 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-large/values-large.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1649, "endColumn": 115, "endOffset": 1760 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-lo-rLA.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-lo-rLA/values-lo-rLA.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 102, "endOffset": 153 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 102, "endOffset": 382 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 158, "endColumn": 107, "endOffset": 261 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 387, "endColumn": 107, "endOffset": 490 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 266, "endColumn": 122, "endOffset": 384 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 495, "endColumn": 122, "endOffset": 613 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 389, "endColumn": 96, "endOffset": 481 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 618, "endColumn": 96, "endOffset": 710 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 486, "endColumn": 106, "endOffset": 588 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 715, "endColumn": 106, "endOffset": 817 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 593, "endColumn": 84, "endOffset": 673 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 822, "endColumn": 84, "endOffset": 902 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 678, "endColumn": 104, "endOffset": 778 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 907, "endColumn": 104, "endOffset": 1007 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 783, "endColumn": 111, "endOffset": 890 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1012, "endColumn": 111, "endOffset": 1119 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 895, "endColumn": 79, "endOffset": 970 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1124, "endColumn": 79, "endOffset": 1199 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 975, "endColumn": 106, "endOffset": 1077 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1204, "endColumn": 106, "endOffset": 1306 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1082, "endColumn": 96, "endOffset": 1174 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1311, "endColumn": 96, "endOffset": 1403 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1179, "endColumn": 97, "endOffset": 1272 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1408, "endColumn": 97, "endOffset": 1501 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1277, "endColumn": 104, "endOffset": 1377 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1506, "endColumn": 104, "endOffset": 1606 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1382, "endColumn": 102, "endOffset": 1480 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1611, "endColumn": 102, "endOffset": 1709 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1485, "endColumn": 103, "endOffset": 1584 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1714, "endColumn": 103, "endOffset": 1813 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1589, "endColumn": 121, "endOffset": 1706 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1818, "endColumn": 121, "endOffset": 1935 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1711, "endColumn": 95, "endOffset": 1802 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1940, "endColumn": 95, "endOffset": 2031 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1807, "endColumn": 100, "endOffset": 1903 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lo-rLA/values-lo-rLA.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2036, "endColumn": 100, "endOffset": 2132 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-lt.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-lt/values-lt.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 115, "endOffset": 166 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 115, "endOffset": 391 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 171, "endColumn": 107, "endOffset": 274 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 396, "endColumn": 107, "endOffset": 499 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 279, "endColumn": 122, "endOffset": 397 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 504, "endColumn": 122, "endOffset": 622 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 402, "endColumn": 100, "endOffset": 498 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 627, "endColumn": 100, "endOffset": 723 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 503, "endColumn": 112, "endOffset": 611 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 728, "endColumn": 112, "endOffset": 836 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 616, "endColumn": 86, "endOffset": 698 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 841, "endColumn": 86, "endOffset": 923 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 703, "endColumn": 108, "endOffset": 807 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 928, "endColumn": 108, "endOffset": 1032 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 812, "endColumn": 120, "endOffset": 928 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1037, "endColumn": 120, "endOffset": 1153 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 933, "endColumn": 84, "endOffset": 1013 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1158, "endColumn": 84, "endOffset": 1238 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1018, "endColumn": 108, "endOffset": 1122 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1243, "endColumn": 108, "endOffset": 1347 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1127, "endColumn": 108, "endOffset": 1231 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1352, "endColumn": 108, "endOffset": 1456 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1236, "endColumn": 99, "endOffset": 1331 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1461, "endColumn": 99, "endOffset": 1556 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1336, "endColumn": 109, "endOffset": 1441 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1561, "endColumn": 109, "endOffset": 1666 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1446, "endColumn": 103, "endOffset": 1545 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1671, "endColumn": 103, "endOffset": 1770 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1550, "endColumn": 112, "endOffset": 1658 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1775, "endColumn": 112, "endOffset": 1883 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1663, "endColumn": 129, "endOffset": 1788 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1888, "endColumn": 129, "endOffset": 2013 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1793, "endColumn": 100, "endOffset": 1889 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2018, "endColumn": 100, "endOffset": 2114 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1894, "endColumn": 100, "endOffset": 1990 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lt/values-lt.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2119, "endColumn": 100, "endOffset": 2215 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-lv.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-lv/values-lv.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 119, "endOffset": 170 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 119, "endOffset": 395 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 175, "endColumn": 107, "endOffset": 278 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 400, "endColumn": 107, "endOffset": 503 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 283, "endColumn": 122, "endOffset": 401 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 508, "endColumn": 122, "endOffset": 626 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 406, "endColumn": 107, "endOffset": 509 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 631, "endColumn": 107, "endOffset": 734 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 514, "endColumn": 108, "endOffset": 618 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 739, "endColumn": 108, "endOffset": 843 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 623, "endColumn": 85, "endOffset": 704 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 848, "endColumn": 85, "endOffset": 929 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 709, "endColumn": 103, "endOffset": 808 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 934, "endColumn": 103, "endOffset": 1033 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 813, "endColumn": 121, "endOffset": 930 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1038, "endColumn": 121, "endOffset": 1155 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 935, "endColumn": 84, "endOffset": 1015 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1160, "endColumn": 84, "endOffset": 1240 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1020, "endColumn": 108, "endOffset": 1124 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1245, "endColumn": 108, "endOffset": 1349 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1129, "endColumn": 111, "endOffset": 1236 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1354, "endColumn": 111, "endOffset": 1461 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1241, "endColumn": 98, "endOffset": 1335 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1466, "endColumn": 98, "endOffset": 1560 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1340, "endColumn": 110, "endOffset": 1446 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1565, "endColumn": 110, "endOffset": 1671 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1451, "endColumn": 108, "endOffset": 1555 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1676, "endColumn": 108, "endOffset": 1780 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1560, "endColumn": 104, "endOffset": 1660 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1785, "endColumn": 104, "endOffset": 1885 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1665, "endColumn": 118, "endOffset": 1779 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1890, "endColumn": 118, "endOffset": 2004 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1784, "endColumn": 98, "endOffset": 1878 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2009, "endColumn": 98, "endOffset": 2103 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1883, "endColumn": 100, "endOffset": 1979 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-lv/values-lv.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2108, "endColumn": 100, "endOffset": 2204 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-mk-rMK.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-mk-rMK/values-mk-rMK.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 107, "endOffset": 158 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mk-rMK/values-mk-rMK.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 107, "endOffset": 387 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 163, "endColumn": 122, "endOffset": 281 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mk-rMK/values-mk-rMK.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 392, "endColumn": 122, "endOffset": 510 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 286, "endColumn": 103, "endOffset": 385 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mk-rMK/values-mk-rMK.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 515, "endColumn": 103, "endOffset": 614 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 390, "endColumn": 107, "endOffset": 493 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mk-rMK/values-mk-rMK.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 619, "endColumn": 107, "endOffset": 722 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 498, "endColumn": 85, "endOffset": 579 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mk-rMK/values-mk-rMK.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 727, "endColumn": 85, "endOffset": 808 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 584, "endColumn": 104, "endOffset": 684 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mk-rMK/values-mk-rMK.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 813, "endColumn": 104, "endOffset": 913 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 689, "endColumn": 118, "endOffset": 803 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mk-rMK/values-mk-rMK.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 918, "endColumn": 118, "endOffset": 1032 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 808, "endColumn": 86, "endOffset": 890 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mk-rMK/values-mk-rMK.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1037, "endColumn": 86, "endOffset": 1119 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 895, "endColumn": 105, "endOffset": 996 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mk-rMK/values-mk-rMK.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1124, "endColumn": 105, "endOffset": 1225 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1001, "endColumn": 106, "endOffset": 1103 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mk-rMK/values-mk-rMK.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1230, "endColumn": 106, "endOffset": 1332 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1108, "endColumn": 100, "endOffset": 1204 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mk-rMK/values-mk-rMK.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1337, "endColumn": 100, "endOffset": 1433 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1209, "endColumn": 106, "endOffset": 1311 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mk-rMK/values-mk-rMK.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1438, "endColumn": 106, "endOffset": 1540 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1316, "endColumn": 110, "endOffset": 1422 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mk-rMK/values-mk-rMK.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1545, "endColumn": 110, "endOffset": 1651 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1427, "endColumn": 103, "endOffset": 1526 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mk-rMK/values-mk-rMK.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1656, "endColumn": 103, "endOffset": 1755 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1531, "endColumn": 97, "endOffset": 1624 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mk-rMK/values-mk-rMK.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1760, "endColumn": 97, "endOffset": 1853 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1629, "endColumn": 100, "endOffset": 1725 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mk-rMK/values-mk-rMK.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1858, "endColumn": 100, "endOffset": 1954 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-ml-rIN.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-ml-rIN/values-ml-rIN.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 118, "endOffset": 169 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 118, "endOffset": 398 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 174, "endColumn": 107, "endOffset": 277 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 403, "endColumn": 107, "endOffset": 506 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 282, "endColumn": 122, "endOffset": 400 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 511, "endColumn": 122, "endOffset": 629 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 405, "endColumn": 117, "endOffset": 518 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 634, "endColumn": 117, "endOffset": 747 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 523, "endColumn": 115, "endOffset": 634 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 752, "endColumn": 115, "endOffset": 863 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 639, "endColumn": 92, "endOffset": 727 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 868, "endColumn": 92, "endOffset": 956 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 732, "endColumn": 104, "endOffset": 832 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 961, "endColumn": 104, "endOffset": 1061 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 837, "endColumn": 131, "endOffset": 964 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1066, "endColumn": 131, "endOffset": 1193 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 969, "endColumn": 81, "endOffset": 1046 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1198, "endColumn": 81, "endOffset": 1275 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1051, "endColumn": 110, "endOffset": 1157 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1280, "endColumn": 110, "endOffset": 1386 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1162, "endColumn": 105, "endOffset": 1263 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1391, "endColumn": 105, "endOffset": 1492 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1268, "endColumn": 97, "endOffset": 1361 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1497, "endColumn": 97, "endOffset": 1590 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1366, "endColumn": 113, "endOffset": 1475 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1595, "endColumn": 113, "endOffset": 1704 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1480, "endColumn": 100, "endOffset": 1576 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1709, "endColumn": 100, "endOffset": 1805 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1581, "endColumn": 110, "endOffset": 1687 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1810, "endColumn": 110, "endOffset": 1916 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1692, "endColumn": 127, "endOffset": 1815 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1921, "endColumn": 127, "endOffset": 2044 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1820, "endColumn": 100, "endOffset": 1916 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2049, "endColumn": 100, "endOffset": 2145 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1921, "endColumn": 100, "endOffset": 2017 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ml-rIN/values-ml-rIN.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2150, "endColumn": 100, "endOffset": 2246 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-mn-rMN.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-mn-rMN/values-mn-rMN.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 112, "endOffset": 163 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 112, "endOffset": 392 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 168, "endColumn": 107, "endOffset": 271 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 397, "endColumn": 107, "endOffset": 500 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 276, "endColumn": 122, "endOffset": 394 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 505, "endColumn": 122, "endOffset": 623 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 399, "endColumn": 99, "endOffset": 494 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 628, "endColumn": 99, "endOffset": 723 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 499, "endColumn": 112, "endOffset": 607 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 728, "endColumn": 112, "endOffset": 836 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 612, "endColumn": 86, "endOffset": 694 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 841, "endColumn": 86, "endOffset": 923 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 699, "endColumn": 105, "endOffset": 800 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 928, "endColumn": 105, "endOffset": 1029 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 805, "endColumn": 111, "endOffset": 912 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1034, "endColumn": 111, "endOffset": 1141 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 917, "endColumn": 81, "endOffset": 994 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1146, "endColumn": 81, "endOffset": 1223 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 999, "endColumn": 108, "endOffset": 1103 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1228, "endColumn": 108, "endOffset": 1332 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1108, "endColumn": 103, "endOffset": 1207 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1337, "endColumn": 103, "endOffset": 1436 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1212, "endColumn": 96, "endOffset": 1304 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1441, "endColumn": 96, "endOffset": 1533 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1309, "endColumn": 107, "endOffset": 1412 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1538, "endColumn": 107, "endOffset": 1641 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1417, "endColumn": 100, "endOffset": 1513 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1646, "endColumn": 100, "endOffset": 1742 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1518, "endColumn": 102, "endOffset": 1616 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1747, "endColumn": 102, "endOffset": 1845 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1621, "endColumn": 121, "endOffset": 1738 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1850, "endColumn": 121, "endOffset": 1967 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1743, "endColumn": 96, "endOffset": 1835 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1972, "endColumn": 96, "endOffset": 2064 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1840, "endColumn": 100, "endOffset": 1936 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mn-rMN/values-mn-rMN.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2069, "endColumn": 100, "endOffset": 2165 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-mr-rIN.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-mr-rIN/values-mr-rIN.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 117, "endOffset": 168 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 117, "endOffset": 397 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 173, "endColumn": 107, "endOffset": 276 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 402, "endColumn": 107, "endOffset": 505 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 281, "endColumn": 122, "endOffset": 399 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 510, "endColumn": 122, "endOffset": 628 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 404, "endColumn": 105, "endOffset": 505 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 633, "endColumn": 105, "endOffset": 734 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 510, "endColumn": 106, "endOffset": 612 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 739, "endColumn": 106, "endOffset": 841 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 617, "endColumn": 89, "endOffset": 702 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 846, "endColumn": 89, "endOffset": 931 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 707, "endColumn": 100, "endOffset": 803 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 936, "endColumn": 100, "endOffset": 1032 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 808, "endColumn": 114, "endOffset": 918 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1037, "endColumn": 114, "endOffset": 1147 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 923, "endColumn": 79, "endOffset": 998 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1152, "endColumn": 79, "endOffset": 1227 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1003, "endColumn": 111, "endOffset": 1110 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1232, "endColumn": 111, "endOffset": 1339 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1115, "endColumn": 101, "endOffset": 1212 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1344, "endColumn": 101, "endOffset": 1441 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1217, "endColumn": 95, "endOffset": 1308 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1446, "endColumn": 95, "endOffset": 1537 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1313, "endColumn": 108, "endOffset": 1417 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1542, "endColumn": 108, "endOffset": 1646 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1422, "endColumn": 100, "endOffset": 1518 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1651, "endColumn": 100, "endOffset": 1747 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1523, "endColumn": 114, "endOffset": 1633 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1752, "endColumn": 114, "endOffset": 1862 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1638, "endColumn": 122, "endOffset": 1756 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1867, "endColumn": 122, "endOffset": 1985 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1761, "endColumn": 104, "endOffset": 1861 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1990, "endColumn": 104, "endOffset": 2090 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1866, "endColumn": 100, "endOffset": 1962 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-mr-rIN/values-mr-rIN.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2095, "endColumn": 100, "endOffset": 2191 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-ms-rMY.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-ms-rMY/values-ms-rMY.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 110, "endOffset": 161 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 110, "endOffset": 390 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 166, "endColumn": 107, "endOffset": 269 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 395, "endColumn": 107, "endOffset": 498 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 274, "endColumn": 122, "endOffset": 392 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 503, "endColumn": 122, "endOffset": 621 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 397, "endColumn": 104, "endOffset": 497 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 626, "endColumn": 104, "endOffset": 726 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 502, "endColumn": 107, "endOffset": 605 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 731, "endColumn": 107, "endOffset": 834 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 610, "endColumn": 86, "endOffset": 692 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 839, "endColumn": 86, "endOffset": 921 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 697, "endColumn": 103, "endOffset": 796 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 926, "endColumn": 103, "endOffset": 1025 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 801, "endColumn": 110, "endOffset": 907 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1030, "endColumn": 110, "endOffset": 1136 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 912, "endColumn": 79, "endOffset": 987 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1141, "endColumn": 79, "endOffset": 1216 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 992, "endColumn": 111, "endOffset": 1099 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1221, "endColumn": 111, "endOffset": 1328 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1104, "endColumn": 108, "endOffset": 1208 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1333, "endColumn": 108, "endOffset": 1437 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1213, "endColumn": 96, "endOffset": 1305 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1442, "endColumn": 96, "endOffset": 1534 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1310, "endColumn": 108, "endOffset": 1414 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1539, "endColumn": 108, "endOffset": 1643 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1419, "endColumn": 102, "endOffset": 1517 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1648, "endColumn": 102, "endOffset": 1746 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1522, "endColumn": 106, "endOffset": 1624 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1751, "endColumn": 106, "endOffset": 1853 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1629, "endColumn": 121, "endOffset": 1746 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1858, "endColumn": 121, "endOffset": 1975 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1751, "endColumn": 100, "endOffset": 1847 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1980, "endColumn": 100, "endOffset": 2076 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1852, "endColumn": 100, "endOffset": 1948 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ms-rMY/values-ms-rMY.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2081, "endColumn": 100, "endOffset": 2177 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-my-rMM.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-my-rMM/values-my-rMM.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 108, "endOffset": 159 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 108, "endOffset": 388 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 164, "endColumn": 107, "endOffset": 267 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 393, "endColumn": 107, "endOffset": 496 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 272, "endColumn": 124, "endOffset": 392 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 501, "endColumn": 124, "endOffset": 621 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 397, "endColumn": 104, "endOffset": 497 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 626, "endColumn": 104, "endOffset": 726 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 502, "endColumn": 116, "endOffset": 614 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 731, "endColumn": 116, "endOffset": 843 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 619, "endColumn": 92, "endOffset": 707 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 848, "endColumn": 92, "endOffset": 936 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 712, "endColumn": 111, "endOffset": 819 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 941, "endColumn": 111, "endOffset": 1048 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 824, "endColumn": 135, "endOffset": 955 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1053, "endColumn": 135, "endOffset": 1184 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 960, "endColumn": 85, "endOffset": 1041 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1189, "endColumn": 85, "endOffset": 1270 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1046, "endColumn": 124, "endOffset": 1166 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1275, "endColumn": 124, "endOffset": 1395 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1171, "endColumn": 111, "endOffset": 1278 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1400, "endColumn": 111, "endOffset": 1507 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1283, "endColumn": 101, "endOffset": 1380 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1512, "endColumn": 101, "endOffset": 1609 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1385, "endColumn": 125, "endOffset": 1506 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1614, "endColumn": 125, "endOffset": 1735 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1511, "endColumn": 110, "endOffset": 1617 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1740, "endColumn": 110, "endOffset": 1846 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1622, "endColumn": 109, "endOffset": 1727 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1851, "endColumn": 109, "endOffset": 1956 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1732, "endColumn": 122, "endOffset": 1850 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1961, "endColumn": 122, "endOffset": 2079 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1855, "endColumn": 99, "endOffset": 1950 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2084, "endColumn": 99, "endOffset": 2179 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1955, "endColumn": 100, "endOffset": 2051 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-my-rMM/values-my-rMM.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2184, "endColumn": 100, "endOffset": 2280 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-nb.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-nb/values-nb.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 107, "endOffset": 158 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 107, "endOffset": 383 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 163, "endColumn": 108, "endOffset": 267 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 388, "endColumn": 108, "endOffset": 492 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 272, "endColumn": 124, "endOffset": 392 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 497, "endColumn": 124, "endOffset": 617 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 397, "endColumn": 94, "endOffset": 487 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 622, "endColumn": 94, "endOffset": 712 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 492, "endColumn": 113, "endOffset": 601 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 717, "endColumn": 113, "endOffset": 826 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 606, "endColumn": 85, "endOffset": 687 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 831, "endColumn": 85, "endOffset": 912 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 692, "endColumn": 99, "endOffset": 787 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 917, "endColumn": 99, "endOffset": 1012 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 792, "endColumn": 112, "endOffset": 900 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1017, "endColumn": 112, "endOffset": 1125 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 905, "endColumn": 79, "endOffset": 980 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1130, "endColumn": 79, "endOffset": 1205 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 985, "endColumn": 102, "endOffset": 1083 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1210, "endColumn": 102, "endOffset": 1308 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1088, "endColumn": 98, "endOffset": 1182 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1313, "endColumn": 98, "endOffset": 1407 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1187, "endColumn": 95, "endOffset": 1278 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1412, "endColumn": 95, "endOffset": 1503 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1283, "endColumn": 103, "endOffset": 1382 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1508, "endColumn": 103, "endOffset": 1607 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1387, "endColumn": 97, "endOffset": 1480 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1612, "endColumn": 97, "endOffset": 1705 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1485, "endColumn": 100, "endOffset": 1581 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1710, "endColumn": 100, "endOffset": 1806 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1586, "endColumn": 115, "endOffset": 1697 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1811, "endColumn": 115, "endOffset": 1922 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1702, "endColumn": 96, "endOffset": 1794 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1927, "endColumn": 96, "endOffset": 2019 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1799, "endColumn": 53, "endOffset": 1848 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-nb/values-nb.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1853, "endColumn": 71, "endOffset": 1920 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-nb/values-nb.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 71, "endOffset": 176 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1925, "endColumn": 78, "endOffset": 1999 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-nb/values-nb.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 181, "endColumn": 78, "endOffset": 255 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2004, "endColumn": 70, "endOffset": 2070 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-nb/values-nb.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 260, "endColumn": 70, "endOffset": 326 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2075, "endColumn": 63, "endOffset": 2134 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-nb/values-nb.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 331, "endColumn": 63, "endOffset": 390 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2139, "endColumn": 55, "endOffset": 2190 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-nb/values-nb.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 395, "endColumn": 55, "endOffset": 446 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2195, "endColumn": 58, "endOffset": 2249 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-nb/values-nb.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 451, "endColumn": 58, "endOffset": 505 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2254, "endColumn": 73, "endOffset": 2323 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-nb/values-nb.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 510, "endColumn": 73, "endOffset": 579 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2328, "endColumn": 100, "endOffset": 2424 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nb/values-nb.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2024, "endColumn": 100, "endOffset": 2120 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-ne-rNP.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-ne-rNP/values-ne-rNP.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 104, "endOffset": 155 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 104, "endOffset": 384 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 160, "endColumn": 107, "endOffset": 263 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 389, "endColumn": 107, "endOffset": 492 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 268, "endColumn": 122, "endOffset": 386 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 497, "endColumn": 122, "endOffset": 615 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 391, "endColumn": 103, "endOffset": 490 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 620, "endColumn": 103, "endOffset": 719 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 495, "endColumn": 107, "endOffset": 598 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 724, "endColumn": 107, "endOffset": 827 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 603, "endColumn": 90, "endOffset": 689 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 832, "endColumn": 90, "endOffset": 918 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 694, "endColumn": 106, "endOffset": 796 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 923, "endColumn": 106, "endOffset": 1025 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 801, "endColumn": 126, "endOffset": 923 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1030, "endColumn": 126, "endOffset": 1152 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 928, "endColumn": 87, "endOffset": 1011 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1157, "endColumn": 87, "endOffset": 1240 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1016, "endColumn": 109, "endOffset": 1121 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1245, "endColumn": 109, "endOffset": 1350 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1126, "endColumn": 115, "endOffset": 1237 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1355, "endColumn": 115, "endOffset": 1466 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1242, "endColumn": 102, "endOffset": 1340 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1471, "endColumn": 102, "endOffset": 1569 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1345, "endColumn": 114, "endOffset": 1455 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1574, "endColumn": 114, "endOffset": 1684 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1460, "endColumn": 101, "endOffset": 1557 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1689, "endColumn": 101, "endOffset": 1786 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1562, "endColumn": 114, "endOffset": 1672 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1791, "endColumn": 114, "endOffset": 1901 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1677, "endColumn": 130, "endOffset": 1803 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1906, "endColumn": 130, "endOffset": 2032 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1808, "endColumn": 111, "endOffset": 1915 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2037, "endColumn": 111, "endOffset": 2144 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1920, "endColumn": 100, "endOffset": 2016 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ne-rNP/values-ne-rNP.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2149, "endColumn": 100, "endOffset": 2245 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-nl.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-nl/values-nl.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 117, "endOffset": 168 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 117, "endOffset": 393 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 173, "endColumn": 107, "endOffset": 276 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 398, "endColumn": 107, "endOffset": 501 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 281, "endColumn": 122, "endOffset": 399 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 506, "endColumn": 122, "endOffset": 624 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 404, "endColumn": 104, "endOffset": 504 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 629, "endColumn": 104, "endOffset": 729 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 509, "endColumn": 106, "endOffset": 611 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 734, "endColumn": 106, "endOffset": 836 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 616, "endColumn": 85, "endOffset": 697 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 841, "endColumn": 85, "endOffset": 922 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 702, "endColumn": 107, "endOffset": 805 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 927, "endColumn": 107, "endOffset": 1030 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 810, "endColumn": 119, "endOffset": 925 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1035, "endColumn": 119, "endOffset": 1150 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 930, "endColumn": 81, "endOffset": 1007 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1155, "endColumn": 81, "endOffset": 1232 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1012, "endColumn": 110, "endOffset": 1118 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1237, "endColumn": 110, "endOffset": 1343 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1123, "endColumn": 103, "endOffset": 1222 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1348, "endColumn": 103, "endOffset": 1447 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1227, "endColumn": 98, "endOffset": 1321 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1452, "endColumn": 98, "endOffset": 1546 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1326, "endColumn": 114, "endOffset": 1436 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1551, "endColumn": 114, "endOffset": 1661 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1441, "endColumn": 112, "endOffset": 1549 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1666, "endColumn": 112, "endOffset": 1774 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1554, "endColumn": 102, "endOffset": 1652 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1779, "endColumn": 102, "endOffset": 1877 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1657, "endColumn": 117, "endOffset": 1770 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1882, "endColumn": 117, "endOffset": 1995 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1775, "endColumn": 102, "endOffset": 1873 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2000, "endColumn": 102, "endOffset": 2098 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1878, "endColumn": 53, "endOffset": 1927 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-nl/values-nl.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1932, "endColumn": 74, "endOffset": 2002 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-nl/values-nl.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 74, "endOffset": 179 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 2007, "endColumn": 78, "endOffset": 2081 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-nl/values-nl.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 184, "endColumn": 78, "endOffset": 258 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2086, "endColumn": 70, "endOffset": 2152 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-nl/values-nl.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 263, "endColumn": 70, "endOffset": 329 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2157, "endColumn": 64, "endOffset": 2217 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-nl/values-nl.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 334, "endColumn": 64, "endOffset": 394 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2222, "endColumn": 55, "endOffset": 2273 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-nl/values-nl.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 399, "endColumn": 55, "endOffset": 450 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2278, "endColumn": 58, "endOffset": 2332 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-nl/values-nl.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 455, "endColumn": 58, "endOffset": 509 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2337, "endColumn": 73, "endOffset": 2406 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-nl/values-nl.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 514, "endColumn": 73, "endOffset": 583 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2411, "endColumn": 100, "endOffset": 2507 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-nl/values-nl.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2103, "endColumn": 100, "endOffset": 2199 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-pa-rIN.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-pa-rIN/values-pa-rIN.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 105, "endOffset": 156 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 105, "endOffset": 385 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 161, "endColumn": 107, "endOffset": 264 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 390, "endColumn": 107, "endOffset": 493 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 269, "endColumn": 122, "endOffset": 387 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 498, "endColumn": 122, "endOffset": 616 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 392, "endColumn": 104, "endOffset": 492 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 621, "endColumn": 104, "endOffset": 721 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 497, "endColumn": 104, "endOffset": 597 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 726, "endColumn": 104, "endOffset": 826 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 602, "endColumn": 85, "endOffset": 683 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 831, "endColumn": 85, "endOffset": 912 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 688, "endColumn": 99, "endOffset": 783 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 917, "endColumn": 99, "endOffset": 1012 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 788, "endColumn": 112, "endOffset": 896 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1017, "endColumn": 112, "endOffset": 1125 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 901, "endColumn": 78, "endOffset": 975 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1130, "endColumn": 78, "endOffset": 1204 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 980, "endColumn": 100, "endOffset": 1076 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1209, "endColumn": 100, "endOffset": 1305 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1081, "endColumn": 100, "endOffset": 1177 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1310, "endColumn": 100, "endOffset": 1406 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1182, "endColumn": 96, "endOffset": 1274 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1411, "endColumn": 96, "endOffset": 1503 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1279, "endColumn": 108, "endOffset": 1383 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1508, "endColumn": 108, "endOffset": 1612 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1388, "endColumn": 98, "endOffset": 1482 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1617, "endColumn": 98, "endOffset": 1711 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1487, "endColumn": 109, "endOffset": 1592 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1716, "endColumn": 109, "endOffset": 1821 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1597, "endColumn": 121, "endOffset": 1714 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1826, "endColumn": 121, "endOffset": 1943 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1719, "endColumn": 99, "endOffset": 1814 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1948, "endColumn": 99, "endOffset": 2043 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1819, "endColumn": 100, "endOffset": 1915 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pa-rIN/values-pa-rIN.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2048, "endColumn": 100, "endOffset": 2144 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-pl.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-pl/values-pl.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 115, "endOffset": 166 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 115, "endOffset": 391 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 171, "endColumn": 107, "endOffset": 274 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 396, "endColumn": 107, "endOffset": 499 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 279, "endColumn": 122, "endOffset": 397 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 504, "endColumn": 122, "endOffset": 622 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 402, "endColumn": 101, "endOffset": 499 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 627, "endColumn": 101, "endOffset": 724 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 504, "endColumn": 107, "endOffset": 607 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 729, "endColumn": 107, "endOffset": 832 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 612, "endColumn": 85, "endOffset": 693 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 837, "endColumn": 85, "endOffset": 918 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 698, "endColumn": 108, "endOffset": 802 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 923, "endColumn": 108, "endOffset": 1027 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 807, "endColumn": 118, "endOffset": 921 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1032, "endColumn": 118, "endOffset": 1146 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 926, "endColumn": 81, "endOffset": 1003 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1151, "endColumn": 81, "endOffset": 1228 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1008, "endColumn": 108, "endOffset": 1112 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1233, "endColumn": 108, "endOffset": 1337 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1117, "endColumn": 108, "endOffset": 1221 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1342, "endColumn": 108, "endOffset": 1446 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1226, "endColumn": 98, "endOffset": 1320 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1451, "endColumn": 98, "endOffset": 1545 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1325, "endColumn": 108, "endOffset": 1429 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1550, "endColumn": 108, "endOffset": 1654 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1434, "endColumn": 110, "endOffset": 1540 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1659, "endColumn": 110, "endOffset": 1765 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1545, "endColumn": 107, "endOffset": 1648 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1770, "endColumn": 107, "endOffset": 1873 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1653, "endColumn": 122, "endOffset": 1771 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1878, "endColumn": 122, "endOffset": 1996 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1776, "endColumn": 95, "endOffset": 1867 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2001, "endColumn": 95, "endOffset": 2092 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1872, "endColumn": 53, "endOffset": 1921 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pl/values-pl.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1926, "endColumn": 69, "endOffset": 1991 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pl/values-pl.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 69, "endOffset": 174 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1996, "endColumn": 78, "endOffset": 2070 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pl/values-pl.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 179, "endColumn": 78, "endOffset": 253 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2075, "endColumn": 70, "endOffset": 2141 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pl/values-pl.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 258, "endColumn": 70, "endOffset": 324 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2146, "endColumn": 61, "endOffset": 2203 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pl/values-pl.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 329, "endColumn": 61, "endOffset": 386 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2208, "endColumn": 55, "endOffset": 2259 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pl/values-pl.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 391, "endColumn": 55, "endOffset": 442 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2264, "endColumn": 58, "endOffset": 2318 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pl/values-pl.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 447, "endColumn": 58, "endOffset": 501 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2323, "endColumn": 73, "endOffset": 2392 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pl/values-pl.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 506, "endColumn": 73, "endOffset": 575 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2397, "endColumn": 100, "endOffset": 2493 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pl/values-pl.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2097, "endColumn": 100, "endOffset": 2193 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-port.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-port/values-port.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 55, "endOffset": 106 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-port/values-port.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 55, "endOffset": 331 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-pt-rPT.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-pt-rPT/values-pt-rPT.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 119, "endOffset": 170 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 119, "endOffset": 399 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 175, "endColumn": 107, "endOffset": 278 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 404, "endColumn": 107, "endOffset": 507 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 283, "endColumn": 122, "endOffset": 401 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 512, "endColumn": 122, "endOffset": 630 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 406, "endColumn": 105, "endOffset": 507 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 635, "endColumn": 105, "endOffset": 736 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 512, "endColumn": 106, "endOffset": 614 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 741, "endColumn": 106, "endOffset": 843 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 619, "endColumn": 88, "endOffset": 703 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 848, "endColumn": 88, "endOffset": 932 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 708, "endColumn": 100, "endOffset": 804 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 937, "endColumn": 100, "endOffset": 1033 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 809, "endColumn": 123, "endOffset": 928 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1038, "endColumn": 123, "endOffset": 1157 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 933, "endColumn": 86, "endOffset": 1015 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1162, "endColumn": 86, "endOffset": 1244 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1020, "endColumn": 106, "endOffset": 1122 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1249, "endColumn": 106, "endOffset": 1351 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1127, "endColumn": 111, "endOffset": 1234 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1356, "endColumn": 111, "endOffset": 1463 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1239, "endColumn": 101, "endOffset": 1336 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1468, "endColumn": 101, "endOffset": 1565 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1341, "endColumn": 107, "endOffset": 1444 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1570, "endColumn": 107, "endOffset": 1673 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1449, "endColumn": 106, "endOffset": 1551 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1678, "endColumn": 106, "endOffset": 1780 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1556, "endColumn": 106, "endOffset": 1658 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1785, "endColumn": 106, "endOffset": 1887 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1663, "endColumn": 121, "endOffset": 1780 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1892, "endColumn": 121, "endOffset": 2009 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1785, "endColumn": 98, "endOffset": 1879 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2014, "endColumn": 98, "endOffset": 2108 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1884, "endColumn": 53, "endOffset": 1933 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1938, "endColumn": 69, "endOffset": 2003 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 69, "endOffset": 174 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 2008, "endColumn": 78, "endOffset": 2082 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 179, "endColumn": 78, "endOffset": 253 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2087, "endColumn": 70, "endOffset": 2153 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 258, "endColumn": 70, "endOffset": 324 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2158, "endColumn": 60, "endOffset": 2214 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 329, "endColumn": 60, "endOffset": 385 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2219, "endColumn": 55, "endOffset": 2270 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 390, "endColumn": 55, "endOffset": 441 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2275, "endColumn": 58, "endOffset": 2329 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 446, "endColumn": 58, "endOffset": 500 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2334, "endColumn": 73, "endOffset": 2403 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 505, "endColumn": 73, "endOffset": 574 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2408, "endColumn": 100, "endOffset": 2504 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt-rPT/values-pt-rPT.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2113, "endColumn": 100, "endOffset": 2209 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-pt.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-pt/values-pt.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 119, "endOffset": 170 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 119, "endOffset": 395 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 175, "endColumn": 107, "endOffset": 278 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 400, "endColumn": 107, "endOffset": 503 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 283, "endColumn": 122, "endOffset": 401 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 508, "endColumn": 122, "endOffset": 626 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 406, "endColumn": 105, "endOffset": 507 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 631, "endColumn": 105, "endOffset": 732 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 512, "endColumn": 106, "endOffset": 614 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 737, "endColumn": 106, "endOffset": 839 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 619, "endColumn": 88, "endOffset": 703 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 844, "endColumn": 88, "endOffset": 928 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 708, "endColumn": 100, "endOffset": 804 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 933, "endColumn": 100, "endOffset": 1029 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 809, "endColumn": 117, "endOffset": 922 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1034, "endColumn": 117, "endOffset": 1147 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 927, "endColumn": 86, "endOffset": 1009 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1152, "endColumn": 86, "endOffset": 1234 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1014, "endColumn": 106, "endOffset": 1116 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1239, "endColumn": 106, "endOffset": 1341 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1121, "endColumn": 111, "endOffset": 1228 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1346, "endColumn": 111, "endOffset": 1453 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1233, "endColumn": 101, "endOffset": 1330 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1458, "endColumn": 101, "endOffset": 1555 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1335, "endColumn": 107, "endOffset": 1438 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1560, "endColumn": 107, "endOffset": 1663 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1443, "endColumn": 106, "endOffset": 1545 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1668, "endColumn": 106, "endOffset": 1770 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1550, "endColumn": 109, "endOffset": 1655 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1775, "endColumn": 109, "endOffset": 1880 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1660, "endColumn": 124, "endOffset": 1780 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1885, "endColumn": 124, "endOffset": 2005 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1785, "endColumn": 99, "endOffset": 1880 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2010, "endColumn": 99, "endOffset": 2105 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1885, "endColumn": 53, "endOffset": 1934 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pt/values-pt.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1939, "endColumn": 69, "endOffset": 2004 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pt/values-pt.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 69, "endOffset": 174 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 2009, "endColumn": 78, "endOffset": 2083 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pt/values-pt.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 179, "endColumn": 78, "endOffset": 253 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2088, "endColumn": 70, "endOffset": 2154 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pt/values-pt.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 258, "endColumn": 70, "endOffset": 324 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2159, "endColumn": 60, "endOffset": 2215 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pt/values-pt.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 329, "endColumn": 60, "endOffset": 385 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2220, "endColumn": 55, "endOffset": 2271 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pt/values-pt.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 390, "endColumn": 55, "endOffset": 441 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2276, "endColumn": 58, "endOffset": 2330 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pt/values-pt.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 446, "endColumn": 58, "endOffset": 500 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2335, "endColumn": 73, "endOffset": 2404 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-pt/values-pt.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 505, "endColumn": 73, "endOffset": 574 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2409, "endColumn": 100, "endOffset": 2505 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-pt/values-pt.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2110, "endColumn": 100, "endOffset": 2206 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-ro.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-ro/values-ro.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 120, "endOffset": 171 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 120, "endOffset": 396 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 176, "endColumn": 107, "endOffset": 279 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 401, "endColumn": 107, "endOffset": 504 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 122, "endOffset": 402 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 509, "endColumn": 122, "endOffset": 627 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 407, "endColumn": 103, "endOffset": 506 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 632, "endColumn": 103, "endOffset": 731 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 511, "endColumn": 112, "endOffset": 619 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 736, "endColumn": 112, "endOffset": 844 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 624, "endColumn": 87, "endOffset": 707 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 849, "endColumn": 87, "endOffset": 932 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 712, "endColumn": 111, "endOffset": 819 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 937, "endColumn": 111, "endOffset": 1044 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 824, "endColumn": 120, "endOffset": 940 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1049, "endColumn": 120, "endOffset": 1165 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 945, "endColumn": 82, "endOffset": 1023 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1170, "endColumn": 82, "endOffset": 1248 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1028, "endColumn": 111, "endOffset": 1135 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1253, "endColumn": 111, "endOffset": 1360 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1140, "endColumn": 112, "endOffset": 1248 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1365, "endColumn": 112, "endOffset": 1473 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1253, "endColumn": 99, "endOffset": 1348 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1478, "endColumn": 99, "endOffset": 1573 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1353, "endColumn": 113, "endOffset": 1462 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1578, "endColumn": 113, "endOffset": 1687 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1467, "endColumn": 104, "endOffset": 1567 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1692, "endColumn": 104, "endOffset": 1792 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1572, "endColumn": 105, "endOffset": 1673 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1797, "endColumn": 105, "endOffset": 1898 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1678, "endColumn": 120, "endOffset": 1794 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1903, "endColumn": 120, "endOffset": 2019 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1799, "endColumn": 102, "endOffset": 1897 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2024, "endColumn": 102, "endOffset": 2122 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1902, "endColumn": 53, "endOffset": 1951 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ro/values-ro.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1956, "endColumn": 69, "endOffset": 2021 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ro/values-ro.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 69, "endOffset": 174 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 2026, "endColumn": 78, "endOffset": 2100 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ro/values-ro.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 179, "endColumn": 78, "endOffset": 253 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2105, "endColumn": 70, "endOffset": 2171 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ro/values-ro.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 258, "endColumn": 70, "endOffset": 324 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2176, "endColumn": 64, "endOffset": 2236 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ro/values-ro.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 329, "endColumn": 64, "endOffset": 389 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2241, "endColumn": 55, "endOffset": 2292 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ro/values-ro.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 394, "endColumn": 55, "endOffset": 445 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2297, "endColumn": 58, "endOffset": 2351 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ro/values-ro.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 450, "endColumn": 58, "endOffset": 504 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2356, "endColumn": 73, "endOffset": 2425 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ro/values-ro.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 509, "endColumn": 73, "endOffset": 578 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2430, "endColumn": 100, "endOffset": 2526 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ro/values-ro.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2127, "endColumn": 100, "endOffset": 2223 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-ru.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-ru/values-ru.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 114, "endOffset": 165 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 114, "endOffset": 390 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 170, "endColumn": 107, "endOffset": 273 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 395, "endColumn": 107, "endOffset": 498 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 278, "endColumn": 122, "endOffset": 396 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 503, "endColumn": 122, "endOffset": 621 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 401, "endColumn": 101, "endOffset": 498 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 626, "endColumn": 101, "endOffset": 723 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 503, "endColumn": 111, "endOffset": 610 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 728, "endColumn": 111, "endOffset": 835 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 615, "endColumn": 85, "endOffset": 696 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 840, "endColumn": 85, "endOffset": 921 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 701, "endColumn": 104, "endOffset": 801 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 926, "endColumn": 104, "endOffset": 1026 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 806, "endColumn": 119, "endOffset": 921 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1031, "endColumn": 119, "endOffset": 1146 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 926, "endColumn": 79, "endOffset": 1001 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1151, "endColumn": 79, "endOffset": 1226 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1006, "endColumn": 105, "endOffset": 1107 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1231, "endColumn": 105, "endOffset": 1332 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1112, "endColumn": 107, "endOffset": 1215 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1337, "endColumn": 107, "endOffset": 1440 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1220, "endColumn": 97, "endOffset": 1313 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1445, "endColumn": 97, "endOffset": 1538 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1318, "endColumn": 108, "endOffset": 1422 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1543, "endColumn": 108, "endOffset": 1647 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1427, "endColumn": 105, "endOffset": 1528 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1652, "endColumn": 105, "endOffset": 1753 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1533, "endColumn": 107, "endOffset": 1636 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1758, "endColumn": 107, "endOffset": 1861 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1641, "endColumn": 135, "endOffset": 1772 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1866, "endColumn": 135, "endOffset": 1997 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1777, "endColumn": 99, "endOffset": 1872 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2002, "endColumn": 99, "endOffset": 2097 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1877, "endColumn": 53, "endOffset": 1926 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ru/values-ru.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1931, "endColumn": 72, "endOffset": 1999 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ru/values-ru.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 72, "endOffset": 177 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 2004, "endColumn": 78, "endOffset": 2078 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ru/values-ru.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 182, "endColumn": 78, "endOffset": 256 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2083, "endColumn": 70, "endOffset": 2149 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ru/values-ru.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 261, "endColumn": 70, "endOffset": 327 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2154, "endColumn": 62, "endOffset": 2212 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ru/values-ru.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 332, "endColumn": 62, "endOffset": 390 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2217, "endColumn": 55, "endOffset": 2268 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ru/values-ru.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 395, "endColumn": 55, "endOffset": 446 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2273, "endColumn": 58, "endOffset": 2327 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ru/values-ru.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 451, "endColumn": 58, "endOffset": 505 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2332, "endColumn": 73, "endOffset": 2401 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-ru/values-ru.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 510, "endColumn": 73, "endOffset": 579 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2406, "endColumn": 100, "endOffset": 2502 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ru/values-ru.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2102, "endColumn": 100, "endOffset": 2198 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-si-rLK.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-si-rLK/values-si-rLK.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 109, "endOffset": 160 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 109, "endOffset": 389 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 165, "endColumn": 107, "endOffset": 268 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 394, "endColumn": 107, "endOffset": 497 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 273, "endColumn": 122, "endOffset": 391 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 502, "endColumn": 122, "endOffset": 620 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 396, "endColumn": 106, "endOffset": 498 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 625, "endColumn": 106, "endOffset": 727 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 503, "endColumn": 106, "endOffset": 605 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 732, "endColumn": 106, "endOffset": 834 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 610, "endColumn": 87, "endOffset": 693 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 839, "endColumn": 87, "endOffset": 922 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 698, "endColumn": 104, "endOffset": 798 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 927, "endColumn": 104, "endOffset": 1027 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 803, "endColumn": 115, "endOffset": 914 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1032, "endColumn": 115, "endOffset": 1143 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 919, "endColumn": 83, "endOffset": 998 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1148, "endColumn": 83, "endOffset": 1227 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1003, "endColumn": 108, "endOffset": 1107 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1232, "endColumn": 108, "endOffset": 1336 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1112, "endColumn": 104, "endOffset": 1212 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1341, "endColumn": 104, "endOffset": 1441 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1217, "endColumn": 97, "endOffset": 1310 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1446, "endColumn": 97, "endOffset": 1539 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1315, "endColumn": 109, "endOffset": 1420 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1544, "endColumn": 109, "endOffset": 1649 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1425, "endColumn": 98, "endOffset": 1519 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1654, "endColumn": 98, "endOffset": 1748 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1524, "endColumn": 105, "endOffset": 1625 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1753, "endColumn": 105, "endOffset": 1854 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1630, "endColumn": 120, "endOffset": 1746 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1859, "endColumn": 120, "endOffset": 1975 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1751, "endColumn": 98, "endOffset": 1845 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1980, "endColumn": 98, "endOffset": 2074 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1850, "endColumn": 100, "endOffset": 1946 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-si-rLK/values-si-rLK.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2079, "endColumn": 100, "endOffset": 2175 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-sk.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-sk/values-sk.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 106, "endOffset": 157 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 106, "endOffset": 382 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 162, "endColumn": 107, "endOffset": 265 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 387, "endColumn": 107, "endOffset": 490 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 270, "endColumn": 122, "endOffset": 388 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 495, "endColumn": 122, "endOffset": 613 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 393, "endColumn": 99, "endOffset": 488 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 618, "endColumn": 99, "endOffset": 713 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 493, "endColumn": 110, "endOffset": 599 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 718, "endColumn": 110, "endOffset": 824 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 604, "endColumn": 85, "endOffset": 685 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 829, "endColumn": 85, "endOffset": 910 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 690, "endColumn": 107, "endOffset": 793 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 915, "endColumn": 107, "endOffset": 1018 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 798, "endColumn": 117, "endOffset": 911 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1023, "endColumn": 117, "endOffset": 1136 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 916, "endColumn": 83, "endOffset": 995 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1141, "endColumn": 83, "endOffset": 1220 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1000, "endColumn": 104, "endOffset": 1100 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1225, "endColumn": 104, "endOffset": 1325 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1105, "endColumn": 108, "endOffset": 1209 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1330, "endColumn": 108, "endOffset": 1434 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1214, "endColumn": 98, "endOffset": 1308 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1439, "endColumn": 98, "endOffset": 1533 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1313, "endColumn": 105, "endOffset": 1414 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1538, "endColumn": 105, "endOffset": 1639 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1419, "endColumn": 110, "endOffset": 1525 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1644, "endColumn": 110, "endOffset": 1750 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1530, "endColumn": 108, "endOffset": 1634 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1755, "endColumn": 108, "endOffset": 1859 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1639, "endColumn": 123, "endOffset": 1758 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1864, "endColumn": 123, "endOffset": 1983 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1763, "endColumn": 97, "endOffset": 1856 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1988, "endColumn": 97, "endOffset": 2081 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1861, "endColumn": 100, "endOffset": 1957 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sk/values-sk.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2086, "endColumn": 100, "endOffset": 2182 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-sl.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-sl/values-sl.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 106, "endOffset": 157 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 106, "endOffset": 382 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 162, "endColumn": 107, "endOffset": 265 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 387, "endColumn": 107, "endOffset": 490 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 270, "endColumn": 122, "endOffset": 388 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 495, "endColumn": 122, "endOffset": 613 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 393, "endColumn": 106, "endOffset": 495 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 618, "endColumn": 106, "endOffset": 720 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 500, "endColumn": 107, "endOffset": 603 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 725, "endColumn": 107, "endOffset": 828 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 608, "endColumn": 86, "endOffset": 690 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 833, "endColumn": 86, "endOffset": 915 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 695, "endColumn": 102, "endOffset": 793 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 920, "endColumn": 102, "endOffset": 1018 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 798, "endColumn": 118, "endOffset": 912 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1023, "endColumn": 118, "endOffset": 1137 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 917, "endColumn": 83, "endOffset": 996 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1142, "endColumn": 83, "endOffset": 1221 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1001, "endColumn": 107, "endOffset": 1104 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1226, "endColumn": 107, "endOffset": 1329 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1109, "endColumn": 108, "endOffset": 1213 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1334, "endColumn": 108, "endOffset": 1438 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1218, "endColumn": 99, "endOffset": 1313 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1443, "endColumn": 99, "endOffset": 1538 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1318, "endColumn": 112, "endOffset": 1426 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1543, "endColumn": 112, "endOffset": 1651 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1431, "endColumn": 106, "endOffset": 1533 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1656, "endColumn": 106, "endOffset": 1758 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1538, "endColumn": 103, "endOffset": 1637 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1763, "endColumn": 103, "endOffset": 1862 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1642, "endColumn": 116, "endOffset": 1754 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1867, "endColumn": 116, "endOffset": 1979 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1759, "endColumn": 96, "endOffset": 1851 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1984, "endColumn": 96, "endOffset": 2076 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1856, "endColumn": 100, "endOffset": 1952 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sl/values-sl.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2081, "endColumn": 100, "endOffset": 2177 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-sq-rAL.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-sq-rAL/values-sq-rAL.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 113, "endOffset": 164 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 113, "endOffset": 393 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 169, "endColumn": 107, "endOffset": 272 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 398, "endColumn": 107, "endOffset": 501 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 277, "endColumn": 122, "endOffset": 395 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 506, "endColumn": 122, "endOffset": 624 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 400, "endColumn": 99, "endOffset": 495 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 629, "endColumn": 99, "endOffset": 724 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 500, "endColumn": 111, "endOffset": 607 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 729, "endColumn": 111, "endOffset": 836 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 612, "endColumn": 86, "endOffset": 694 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 841, "endColumn": 86, "endOffset": 923 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 699, "endColumn": 109, "endOffset": 804 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 928, "endColumn": 109, "endOffset": 1033 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 809, "endColumn": 122, "endOffset": 927 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1038, "endColumn": 122, "endOffset": 1156 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 932, "endColumn": 82, "endOffset": 1010 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1161, "endColumn": 82, "endOffset": 1239 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1015, "endColumn": 105, "endOffset": 1116 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1244, "endColumn": 105, "endOffset": 1345 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1121, "endColumn": 104, "endOffset": 1221 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1350, "endColumn": 104, "endOffset": 1450 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1226, "endColumn": 97, "endOffset": 1319 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1455, "endColumn": 97, "endOffset": 1548 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1324, "endColumn": 105, "endOffset": 1425 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1553, "endColumn": 105, "endOffset": 1654 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1430, "endColumn": 102, "endOffset": 1528 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1659, "endColumn": 102, "endOffset": 1757 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1533, "endColumn": 115, "endOffset": 1644 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1762, "endColumn": 115, "endOffset": 1873 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1649, "endColumn": 130, "endOffset": 1775 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1878, "endColumn": 130, "endOffset": 2004 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1780, "endColumn": 98, "endOffset": 1874 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2009, "endColumn": 98, "endOffset": 2103 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1879, "endColumn": 100, "endOffset": 1975 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sq-rAL/values-sq-rAL.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2108, "endColumn": 100, "endOffset": 2204 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-sr.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-sr/values-sr.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 108, "endOffset": 159 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 108, "endOffset": 384 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 164, "endColumn": 107, "endOffset": 267 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 389, "endColumn": 107, "endOffset": 492 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 272, "endColumn": 122, "endOffset": 390 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 497, "endColumn": 122, "endOffset": 615 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 395, "endColumn": 102, "endOffset": 493 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 620, "endColumn": 102, "endOffset": 718 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 498, "endColumn": 105, "endOffset": 599 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 723, "endColumn": 105, "endOffset": 824 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 604, "endColumn": 85, "endOffset": 685 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 829, "endColumn": 85, "endOffset": 910 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 690, "endColumn": 103, "endOffset": 789 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 915, "endColumn": 103, "endOffset": 1014 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 794, "endColumn": 117, "endOffset": 907 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1019, "endColumn": 117, "endOffset": 1132 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 912, "endColumn": 87, "endOffset": 995 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1137, "endColumn": 87, "endOffset": 1220 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1000, "endColumn": 104, "endOffset": 1100 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1225, "endColumn": 104, "endOffset": 1325 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1105, "endColumn": 107, "endOffset": 1208 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1330, "endColumn": 107, "endOffset": 1433 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1213, "endColumn": 100, "endOffset": 1309 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1438, "endColumn": 100, "endOffset": 1534 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1314, "endColumn": 103, "endOffset": 1413 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1539, "endColumn": 103, "endOffset": 1638 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1418, "endColumn": 107, "endOffset": 1521 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1643, "endColumn": 107, "endOffset": 1746 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1526, "endColumn": 100, "endOffset": 1622 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1751, "endColumn": 100, "endOffset": 1847 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1627, "endColumn": 127, "endOffset": 1750 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1852, "endColumn": 127, "endOffset": 1975 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1755, "endColumn": 96, "endOffset": 1847 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1980, "endColumn": 96, "endOffset": 2072 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1852, "endColumn": 100, "endOffset": 1948 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sr/values-sr.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2077, "endColumn": 100, "endOffset": 2173 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-sv.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-sv/values-sv.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 105, "endOffset": 156 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 105, "endOffset": 381 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 161, "endColumn": 107, "endOffset": 264 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 386, "endColumn": 107, "endOffset": 489 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 269, "endColumn": 122, "endOffset": 387 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 494, "endColumn": 122, "endOffset": 612 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 392, "endColumn": 102, "endOffset": 490 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 617, "endColumn": 102, "endOffset": 715 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 495, "endColumn": 110, "endOffset": 601 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 720, "endColumn": 110, "endOffset": 826 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 606, "endColumn": 84, "endOffset": 686 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 831, "endColumn": 84, "endOffset": 911 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 691, "endColumn": 101, "endOffset": 788 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 916, "endColumn": 101, "endOffset": 1013 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 793, "endColumn": 112, "endOffset": 901 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1018, "endColumn": 112, "endOffset": 1126 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 906, "endColumn": 79, "endOffset": 981 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1131, "endColumn": 79, "endOffset": 1206 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 986, "endColumn": 105, "endOffset": 1087 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1211, "endColumn": 105, "endOffset": 1312 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1092, "endColumn": 99, "endOffset": 1187 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1317, "endColumn": 99, "endOffset": 1412 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1192, "endColumn": 95, "endOffset": 1283 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1417, "endColumn": 95, "endOffset": 1508 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1288, "endColumn": 104, "endOffset": 1388 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1513, "endColumn": 104, "endOffset": 1613 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1393, "endColumn": 101, "endOffset": 1490 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1618, "endColumn": 101, "endOffset": 1715 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1495, "endColumn": 101, "endOffset": 1592 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1720, "endColumn": 101, "endOffset": 1817 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1597, "endColumn": 116, "endOffset": 1709 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1822, "endColumn": 116, "endOffset": 1934 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1714, "endColumn": 101, "endOffset": 1811 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1939, "endColumn": 101, "endOffset": 2036 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1816, "endColumn": 53, "endOffset": 1865 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-sv/values-sv.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1870, "endColumn": 73, "endOffset": 1939 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-sv/values-sv.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 73, "endOffset": 178 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1944, "endColumn": 78, "endOffset": 2018 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-sv/values-sv.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 183, "endColumn": 78, "endOffset": 257 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2023, "endColumn": 70, "endOffset": 2089 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-sv/values-sv.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 262, "endColumn": 70, "endOffset": 328 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2094, "endColumn": 59, "endOffset": 2149 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-sv/values-sv.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 333, "endColumn": 59, "endOffset": 388 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2154, "endColumn": 55, "endOffset": 2205 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-sv/values-sv.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 393, "endColumn": 55, "endOffset": 444 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2210, "endColumn": 58, "endOffset": 2264 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-sv/values-sv.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 449, "endColumn": 58, "endOffset": 503 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2269, "endColumn": 73, "endOffset": 2338 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-sv/values-sv.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 508, "endColumn": 73, "endOffset": 577 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2343, "endColumn": 100, "endOffset": 2439 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sv/values-sv.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2041, "endColumn": 100, "endOffset": 2137 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-sw.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-sw/values-sw.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 102, "endOffset": 153 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 102, "endOffset": 378 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 158, "endColumn": 107, "endOffset": 261 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 383, "endColumn": 107, "endOffset": 486 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 266, "endColumn": 122, "endOffset": 384 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 491, "endColumn": 122, "endOffset": 609 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 389, "endColumn": 97, "endOffset": 482 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 614, "endColumn": 97, "endOffset": 707 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 487, "endColumn": 107, "endOffset": 590 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 712, "endColumn": 107, "endOffset": 815 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 595, "endColumn": 89, "endOffset": 680 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 820, "endColumn": 89, "endOffset": 905 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 685, "endColumn": 104, "endOffset": 785 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 910, "endColumn": 104, "endOffset": 1010 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 790, "endColumn": 116, "endOffset": 902 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1015, "endColumn": 116, "endOffset": 1127 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 907, "endColumn": 81, "endOffset": 984 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1132, "endColumn": 81, "endOffset": 1209 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 989, "endColumn": 100, "endOffset": 1085 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1214, "endColumn": 100, "endOffset": 1310 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1090, "endColumn": 108, "endOffset": 1194 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1315, "endColumn": 108, "endOffset": 1419 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1199, "endColumn": 98, "endOffset": 1293 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1424, "endColumn": 98, "endOffset": 1518 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1298, "endColumn": 106, "endOffset": 1400 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1523, "endColumn": 106, "endOffset": 1625 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1405, "endColumn": 108, "endOffset": 1509 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1630, "endColumn": 108, "endOffset": 1734 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1514, "endColumn": 104, "endOffset": 1614 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1739, "endColumn": 104, "endOffset": 1839 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1619, "endColumn": 118, "endOffset": 1733 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1844, "endColumn": 118, "endOffset": 1958 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1738, "endColumn": 96, "endOffset": 1830 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1963, "endColumn": 96, "endOffset": 2055 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1835, "endColumn": 100, "endOffset": 1931 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw/values-sw.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2060, "endColumn": 100, "endOffset": 2156 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-sw600dp-v13.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-sw600dp-v13/values-sw600dp-v13.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 68, "endOffset": 119 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw600dp/values-sw600dp.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 68, "endOffset": 348 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 124, "endColumn": 69, "endOffset": 189 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw600dp/values-sw600dp.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 353, "endColumn": 69, "endOffset": 418 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 194, "endColumn": 73, "endOffset": 263 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw600dp/values-sw600dp.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 423, "endColumn": 73, "endOffset": 492 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 268, "endColumn": 75, "endOffset": 339 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw600dp/values-sw600dp.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 497, "endColumn": 75, "endOffset": 568 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 344, "endColumn": 58, "endOffset": 398 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw600dp/values-sw600dp.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 802, "endColumn": 58, "endOffset": 856 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 403, "endColumn": 70, "endOffset": 469 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw600dp/values-sw600dp.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1090, "endColumn": 70, "endOffset": 1156 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 474, "endColumn": 67, "endOffset": 537 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw600dp/values-sw600dp.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1161, "endColumn": 67, "endOffset": 1224 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 542, "endColumn": 54, "endOffset": 592 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-sw600dp/values-sw600dp.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1229, "endColumn": 54, "endOffset": 1279 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-ta-rIN.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-ta-rIN/values-ta-rIN.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 113, "endOffset": 164 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 113, "endOffset": 393 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 169, "endColumn": 107, "endOffset": 272 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 398, "endColumn": 107, "endOffset": 501 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 277, "endColumn": 122, "endOffset": 395 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 506, "endColumn": 122, "endOffset": 624 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 400, "endColumn": 104, "endOffset": 500 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 629, "endColumn": 104, "endOffset": 729 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 505, "endColumn": 114, "endOffset": 615 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 734, "endColumn": 114, "endOffset": 844 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 620, "endColumn": 88, "endOffset": 704 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 849, "endColumn": 88, "endOffset": 933 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 709, "endColumn": 106, "endOffset": 811 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 938, "endColumn": 106, "endOffset": 1040 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 816, "endColumn": 125, "endOffset": 937 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1045, "endColumn": 125, "endOffset": 1166 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 942, "endColumn": 81, "endOffset": 1019 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1171, "endColumn": 81, "endOffset": 1248 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1024, "endColumn": 101, "endOffset": 1121 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1253, "endColumn": 101, "endOffset": 1350 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1126, "endColumn": 103, "endOffset": 1225 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1355, "endColumn": 103, "endOffset": 1454 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1230, "endColumn": 96, "endOffset": 1322 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1459, "endColumn": 96, "endOffset": 1551 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1327, "endColumn": 109, "endOffset": 1432 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1556, "endColumn": 109, "endOffset": 1661 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1437, "endColumn": 101, "endOffset": 1534 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1666, "endColumn": 101, "endOffset": 1763 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1539, "endColumn": 106, "endOffset": 1641 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1768, "endColumn": 106, "endOffset": 1870 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1646, "endColumn": 118, "endOffset": 1760 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1875, "endColumn": 118, "endOffset": 1989 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1765, "endColumn": 99, "endOffset": 1860 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1994, "endColumn": 99, "endOffset": 2089 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1865, "endColumn": 100, "endOffset": 1961 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ta-rIN/values-ta-rIN.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2094, "endColumn": 100, "endOffset": 2190 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-te-rIN.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-te-rIN/values-te-rIN.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 113, "endOffset": 164 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 113, "endOffset": 393 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 169, "endColumn": 107, "endOffset": 272 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 398, "endColumn": 107, "endOffset": 501 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 277, "endColumn": 122, "endOffset": 395 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 506, "endColumn": 122, "endOffset": 624 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 400, "endColumn": 108, "endOffset": 504 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 629, "endColumn": 108, "endOffset": 733 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 509, "endColumn": 110, "endOffset": 615 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 738, "endColumn": 110, "endOffset": 844 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 620, "endColumn": 89, "endOffset": 705 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 849, "endColumn": 89, "endOffset": 934 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 710, "endColumn": 104, "endOffset": 810 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 939, "endColumn": 104, "endOffset": 1039 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 815, "endColumn": 124, "endOffset": 935 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1044, "endColumn": 124, "endOffset": 1164 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 940, "endColumn": 84, "endOffset": 1020 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1169, "endColumn": 84, "endOffset": 1249 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1025, "endColumn": 112, "endOffset": 1133 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1254, "endColumn": 112, "endOffset": 1362 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1138, "endColumn": 107, "endOffset": 1241 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1367, "endColumn": 107, "endOffset": 1470 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1246, "endColumn": 99, "endOffset": 1341 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1475, "endColumn": 99, "endOffset": 1570 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1346, "endColumn": 110, "endOffset": 1452 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1575, "endColumn": 110, "endOffset": 1681 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1457, "endColumn": 101, "endOffset": 1554 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1686, "endColumn": 101, "endOffset": 1783 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1559, "endColumn": 116, "endOffset": 1671 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1788, "endColumn": 116, "endOffset": 1900 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1676, "endColumn": 126, "endOffset": 1798 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1905, "endColumn": 126, "endOffset": 2027 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1803, "endColumn": 100, "endOffset": 1899 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2032, "endColumn": 100, "endOffset": 2128 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1904, "endColumn": 100, "endOffset": 2000 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-te-rIN/values-te-rIN.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2133, "endColumn": 100, "endOffset": 2229 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-th.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-th/values-th.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 104, "endOffset": 155 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 104, "endOffset": 380 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 160, "endColumn": 107, "endOffset": 263 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 385, "endColumn": 107, "endOffset": 488 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 268, "endColumn": 122, "endOffset": 386 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 493, "endColumn": 122, "endOffset": 611 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 391, "endColumn": 97, "endOffset": 484 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 616, "endColumn": 97, "endOffset": 709 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 489, "endColumn": 107, "endOffset": 592 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 714, "endColumn": 107, "endOffset": 817 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 597, "endColumn": 88, "endOffset": 681 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 822, "endColumn": 88, "endOffset": 906 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 686, "endColumn": 101, "endOffset": 783 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 911, "endColumn": 101, "endOffset": 1008 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 788, "endColumn": 109, "endOffset": 893 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1013, "endColumn": 109, "endOffset": 1118 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 898, "endColumn": 80, "endOffset": 974 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1123, "endColumn": 80, "endOffset": 1199 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 979, "endColumn": 107, "endOffset": 1082 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1204, "endColumn": 107, "endOffset": 1307 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1087, "endColumn": 103, "endOffset": 1186 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1312, "endColumn": 103, "endOffset": 1411 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1191, "endColumn": 97, "endOffset": 1284 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1416, "endColumn": 97, "endOffset": 1509 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1289, "endColumn": 107, "endOffset": 1392 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1514, "endColumn": 107, "endOffset": 1617 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1397, "endColumn": 104, "endOffset": 1497 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1622, "endColumn": 104, "endOffset": 1722 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1502, "endColumn": 100, "endOffset": 1598 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1727, "endColumn": 100, "endOffset": 1823 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1603, "endColumn": 115, "endOffset": 1714 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1828, "endColumn": 115, "endOffset": 1939 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1719, "endColumn": 94, "endOffset": 1809 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1944, "endColumn": 94, "endOffset": 2034 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1814, "endColumn": 53, "endOffset": 1863 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-th/values-th.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1868, "endColumn": 71, "endOffset": 1935 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-th/values-th.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 71, "endOffset": 176 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1940, "endColumn": 78, "endOffset": 2014 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-th/values-th.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 181, "endColumn": 78, "endOffset": 255 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2019, "endColumn": 70, "endOffset": 2085 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-th/values-th.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 260, "endColumn": 70, "endOffset": 326 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2090, "endColumn": 59, "endOffset": 2145 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-th/values-th.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 331, "endColumn": 59, "endOffset": 386 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2150, "endColumn": 55, "endOffset": 2201 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-th/values-th.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 391, "endColumn": 55, "endOffset": 442 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2206, "endColumn": 58, "endOffset": 2260 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-th/values-th.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 447, "endColumn": 58, "endOffset": 501 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2265, "endColumn": 73, "endOffset": 2334 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-th/values-th.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 506, "endColumn": 73, "endOffset": 575 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2339, "endColumn": 100, "endOffset": 2435 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-th/values-th.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2039, "endColumn": 100, "endOffset": 2135 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-tl.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-tl/values-tl.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 118, "endOffset": 169 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 118, "endOffset": 394 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 174, "endColumn": 107, "endOffset": 277 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 399, "endColumn": 107, "endOffset": 502 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 282, "endColumn": 122, "endOffset": 400 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 507, "endColumn": 122, "endOffset": 625 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 405, "endColumn": 107, "endOffset": 508 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 630, "endColumn": 107, "endOffset": 733 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 513, "endColumn": 116, "endOffset": 625 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 738, "endColumn": 116, "endOffset": 850 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 630, "endColumn": 87, "endOffset": 713 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 855, "endColumn": 87, "endOffset": 938 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 718, "endColumn": 105, "endOffset": 819 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 943, "endColumn": 105, "endOffset": 1044 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 824, "endColumn": 120, "endOffset": 940 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1049, "endColumn": 120, "endOffset": 1165 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 945, "endColumn": 83, "endOffset": 1024 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1170, "endColumn": 83, "endOffset": 1249 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1029, "endColumn": 108, "endOffset": 1133 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1254, "endColumn": 108, "endOffset": 1358 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1138, "endColumn": 110, "endOffset": 1244 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1363, "endColumn": 110, "endOffset": 1469 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1249, "endColumn": 100, "endOffset": 1345 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1474, "endColumn": 100, "endOffset": 1570 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1350, "endColumn": 109, "endOffset": 1455 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1575, "endColumn": 109, "endOffset": 1680 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1460, "endColumn": 116, "endOffset": 1572 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1685, "endColumn": 116, "endOffset": 1797 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1577, "endColumn": 107, "endOffset": 1680 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1802, "endColumn": 107, "endOffset": 1905 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1685, "endColumn": 122, "endOffset": 1803 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1910, "endColumn": 122, "endOffset": 2028 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1808, "endColumn": 101, "endOffset": 1905 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2033, "endColumn": 101, "endOffset": 2130 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1910, "endColumn": 100, "endOffset": 2006 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tl/values-tl.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2135, "endColumn": 100, "endOffset": 2231 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-tr.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-tr/values-tr.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 104, "endOffset": 155 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 104, "endOffset": 380 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 160, "endColumn": 107, "endOffset": 263 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 385, "endColumn": 107, "endOffset": 488 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 268, "endColumn": 122, "endOffset": 386 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 493, "endColumn": 122, "endOffset": 611 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 391, "endColumn": 98, "endOffset": 485 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 616, "endColumn": 98, "endOffset": 710 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 490, "endColumn": 111, "endOffset": 597 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 715, "endColumn": 111, "endOffset": 822 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 602, "endColumn": 89, "endOffset": 687 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 827, "endColumn": 89, "endOffset": 912 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 692, "endColumn": 105, "endOffset": 793 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 917, "endColumn": 105, "endOffset": 1018 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 798, "endColumn": 119, "endOffset": 913 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1023, "endColumn": 119, "endOffset": 1138 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 918, "endColumn": 78, "endOffset": 992 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1143, "endColumn": 78, "endOffset": 1217 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 997, "endColumn": 106, "endOffset": 1099 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1222, "endColumn": 106, "endOffset": 1324 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1104, "endColumn": 104, "endOffset": 1204 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1329, "endColumn": 104, "endOffset": 1429 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1209, "endColumn": 95, "endOffset": 1300 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1434, "endColumn": 95, "endOffset": 1525 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1305, "endColumn": 106, "endOffset": 1407 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1530, "endColumn": 106, "endOffset": 1632 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1412, "endColumn": 101, "endOffset": 1509 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1637, "endColumn": 101, "endOffset": 1734 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1514, "endColumn": 107, "endOffset": 1617 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1739, "endColumn": 107, "endOffset": 1842 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1622, "endColumn": 118, "endOffset": 1736 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1847, "endColumn": 118, "endOffset": 1961 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1741, "endColumn": 97, "endOffset": 1834 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1966, "endColumn": 97, "endOffset": 2059 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1839, "endColumn": 53, "endOffset": 1888 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-tr/values-tr.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1893, "endColumn": 68, "endOffset": 1957 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-tr/values-tr.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 68, "endOffset": 173 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1962, "endColumn": 78, "endOffset": 2036 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-tr/values-tr.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 178, "endColumn": 78, "endOffset": 252 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2041, "endColumn": 70, "endOffset": 2107 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-tr/values-tr.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 257, "endColumn": 70, "endOffset": 323 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2112, "endColumn": 68, "endOffset": 2176 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-tr/values-tr.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 328, "endColumn": 68, "endOffset": 392 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2181, "endColumn": 55, "endOffset": 2232 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-tr/values-tr.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 397, "endColumn": 55, "endOffset": 448 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2237, "endColumn": 58, "endOffset": 2291 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-tr/values-tr.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 453, "endColumn": 58, "endOffset": 507 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2296, "endColumn": 73, "endOffset": 2365 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-tr/values-tr.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 512, "endColumn": 73, "endOffset": 581 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2370, "endColumn": 100, "endOffset": 2466 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-tr/values-tr.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2064, "endColumn": 100, "endOffset": 2160 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-uk.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-uk/values-uk.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 109, "endOffset": 160 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 109, "endOffset": 385 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 165, "endColumn": 107, "endOffset": 268 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 390, "endColumn": 107, "endOffset": 493 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 273, "endColumn": 122, "endOffset": 391 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 498, "endColumn": 122, "endOffset": 616 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 396, "endColumn": 101, "endOffset": 493 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 621, "endColumn": 101, "endOffset": 718 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 498, "endColumn": 105, "endOffset": 599 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 723, "endColumn": 105, "endOffset": 824 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 604, "endColumn": 85, "endOffset": 685 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 829, "endColumn": 85, "endOffset": 910 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 690, "endColumn": 107, "endOffset": 793 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 915, "endColumn": 107, "endOffset": 1018 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 798, "endColumn": 117, "endOffset": 911 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1023, "endColumn": 117, "endOffset": 1136 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 916, "endColumn": 80, "endOffset": 992 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1141, "endColumn": 80, "endOffset": 1217 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 997, "endColumn": 105, "endOffset": 1098 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1222, "endColumn": 105, "endOffset": 1323 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1103, "endColumn": 106, "endOffset": 1205 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1328, "endColumn": 106, "endOffset": 1430 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1210, "endColumn": 97, "endOffset": 1303 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1435, "endColumn": 97, "endOffset": 1528 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1308, "endColumn": 107, "endOffset": 1411 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1533, "endColumn": 107, "endOffset": 1636 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1416, "endColumn": 105, "endOffset": 1517 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1641, "endColumn": 105, "endOffset": 1742 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1522, "endColumn": 108, "endOffset": 1626 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1747, "endColumn": 108, "endOffset": 1851 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1631, "endColumn": 123, "endOffset": 1750 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1856, "endColumn": 123, "endOffset": 1975 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1755, "endColumn": 99, "endOffset": 1850 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1980, "endColumn": 99, "endOffset": 2075 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1855, "endColumn": 100, "endOffset": 1951 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uk/values-uk.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2080, "endColumn": 100, "endOffset": 2176 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-ur-rPK.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-ur-rPK/values-ur-rPK.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 109, "endOffset": 160 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 109, "endOffset": 389 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 165, "endColumn": 107, "endOffset": 268 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 394, "endColumn": 107, "endOffset": 497 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 273, "endColumn": 122, "endOffset": 391 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 502, "endColumn": 122, "endOffset": 620 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 396, "endColumn": 105, "endOffset": 497 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 625, "endColumn": 105, "endOffset": 726 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 502, "endColumn": 108, "endOffset": 606 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 731, "endColumn": 108, "endOffset": 835 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 611, "endColumn": 85, "endOffset": 692 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 840, "endColumn": 85, "endOffset": 921 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 697, "endColumn": 103, "endOffset": 796 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 926, "endColumn": 103, "endOffset": 1025 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 801, "endColumn": 119, "endOffset": 916 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1030, "endColumn": 119, "endOffset": 1145 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 921, "endColumn": 84, "endOffset": 1001 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1150, "endColumn": 84, "endOffset": 1230 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1006, "endColumn": 107, "endOffset": 1109 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1235, "endColumn": 107, "endOffset": 1338 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1114, "endColumn": 108, "endOffset": 1218 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1343, "endColumn": 108, "endOffset": 1447 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1223, "endColumn": 101, "endOffset": 1320 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1452, "endColumn": 101, "endOffset": 1549 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1325, "endColumn": 110, "endOffset": 1431 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1554, "endColumn": 110, "endOffset": 1660 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1436, "endColumn": 99, "endOffset": 1531 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1665, "endColumn": 99, "endOffset": 1760 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1536, "endColumn": 107, "endOffset": 1639 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1765, "endColumn": 107, "endOffset": 1868 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1644, "endColumn": 128, "endOffset": 1768 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1873, "endColumn": 128, "endOffset": 1997 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1773, "endColumn": 97, "endOffset": 1866 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2002, "endColumn": 97, "endOffset": 2095 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1871, "endColumn": 102, "endOffset": 1969 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-ur-rPK/values-ur-rPK.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2100, "endColumn": 102, "endOffset": 2198 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-uz-rUZ.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-uz-rUZ/values-uz-rUZ.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 104, "endOffset": 155 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uz-rUZ/values-uz-rUZ.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 104, "endOffset": 384 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 160, "endColumn": 107, "endOffset": 263 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uz-rUZ/values-uz-rUZ.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 389, "endColumn": 107, "endOffset": 492 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 268, "endColumn": 122, "endOffset": 386 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uz-rUZ/values-uz-rUZ.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 497, "endColumn": 122, "endOffset": 615 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 391, "endColumn": 103, "endOffset": 490 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uz-rUZ/values-uz-rUZ.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 620, "endColumn": 103, "endOffset": 719 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 495, "endColumn": 116, "endOffset": 607 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uz-rUZ/values-uz-rUZ.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 724, "endColumn": 116, "endOffset": 836 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 612, "endColumn": 85, "endOffset": 693 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uz-rUZ/values-uz-rUZ.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 841, "endColumn": 85, "endOffset": 922 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 698, "endColumn": 110, "endOffset": 804 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uz-rUZ/values-uz-rUZ.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 927, "endColumn": 110, "endOffset": 1033 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 809, "endColumn": 115, "endOffset": 920 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uz-rUZ/values-uz-rUZ.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1038, "endColumn": 115, "endOffset": 1149 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 925, "endColumn": 83, "endOffset": 1004 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uz-rUZ/values-uz-rUZ.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1154, "endColumn": 83, "endOffset": 1233 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1009, "endColumn": 108, "endOffset": 1113 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uz-rUZ/values-uz-rUZ.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1238, "endColumn": 108, "endOffset": 1342 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1118, "endColumn": 106, "endOffset": 1220 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uz-rUZ/values-uz-rUZ.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1347, "endColumn": 106, "endOffset": 1449 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1225, "endColumn": 98, "endOffset": 1319 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uz-rUZ/values-uz-rUZ.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1454, "endColumn": 98, "endOffset": 1548 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1324, "endColumn": 107, "endOffset": 1427 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uz-rUZ/values-uz-rUZ.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1553, "endColumn": 107, "endOffset": 1656 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1432, "endColumn": 104, "endOffset": 1532 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uz-rUZ/values-uz-rUZ.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1661, "endColumn": 104, "endOffset": 1761 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1537, "endColumn": 104, "endOffset": 1637 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uz-rUZ/values-uz-rUZ.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1766, "endColumn": 104, "endOffset": 1866 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1642, "endColumn": 98, "endOffset": 1736 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uz-rUZ/values-uz-rUZ.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1871, "endColumn": 98, "endOffset": 1965 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1741, "endColumn": 100, "endOffset": 1837 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-uz-rUZ/values-uz-rUZ.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1970, "endColumn": 100, "endOffset": 2066 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-v11.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-v11/values-v11.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endLine": 7, "endColumn": 12, "endOffset": 469 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v11/values-v11.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 290, "endLine": 9, "endColumn": 12, "endOffset": 704 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 474, "endLine": 13, "endColumn": 12, "endOffset": 894 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v11/values-v11.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 709, "endLine": 15, "endColumn": 12, "endOffset": 1129 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 899, "endLine": 19, "endColumn": 12, "endOffset": 1322 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v11/values-v11.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1134, "endLine": 21, "endColumn": 12, "endOffset": 1557 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1327, "endLine": 25, "endColumn": 12, "endOffset": 1748 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v11/values-v11.xml", "position": { "startLine": 22, "startColumn": 4, "startOffset": 1562, "endLine": 27, "endColumn": 12, "endOffset": 1983 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 1753, "endLine": 31, "endColumn": 12, "endOffset": 2175 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v11/values-v11.xml", "position": { "startLine": 28, "startColumn": 4, "startOffset": 1988, "endLine": 33, "endColumn": 12, "endOffset": 2410 } } }, { "to": { "startLine": 32, "startColumn": 4, "startOffset": 2180, "endLine": 37, "endColumn": 12, "endOffset": 2600 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v11/values-v11.xml", "position": { "startLine": 34, "startColumn": 4, "startOffset": 2415, "endLine": 39, "endColumn": 12, "endOffset": 2835 } } }, { "to": { "startLine": 38, "startColumn": 4, "startOffset": 2605, "endColumn": 88, "endOffset": 2689 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v11/values-v11.xml", "position": { "startLine": 42, "startColumn": 4, "startOffset": 3070, "endColumn": 88, "endOffset": 3154 } } }, { "to": { "startLine": 39, "startColumn": 4, "startOffset": 2694, "endColumn": 100, "endOffset": 2790 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v11/values-v11.xml", "position": { "startLine": 43, "startColumn": 4, "startOffset": 3159, "endColumn": 100, "endOffset": 3255 } } }, { "to": { "startLine": 40, "startColumn": 4, "startOffset": 2795, "endLine": 44, "endColumn": 12, "endOffset": 3198 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v11/values-v11.xml", "position": { "startLine": 44, "startColumn": 4, "startOffset": 3260, "endLine": 48, "endColumn": 12, "endOffset": 3663 } } }, { "to": { "startLine": 45, "startColumn": 4, "startOffset": 3203, "endLine": 49, "endColumn": 12, "endOffset": 3618 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v11/values-v11.xml", "position": { "startLine": 49, "startColumn": 4, "startOffset": 3668, "endLine": 53, "endColumn": 12, "endOffset": 4083 } } }, { "to": { "startLine": 50, "startColumn": 4, "startOffset": 3623, "endLine": 51, "endColumn": 12, "endOffset": 3725 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v11/values-v11.xml", "position": { "startLine": 56, "startColumn": 4, "startOffset": 4318, "endLine": 57, "endColumn": 12, "endOffset": 4420 } } }, { "to": { "startLine": 52, "startColumn": 4, "startOffset": 3730, "endLine": 53, "endColumn": 12, "endOffset": 3854 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v11/values-v11.xml", "position": { "startLine": 58, "startColumn": 4, "startOffset": 4425, "endLine": 59, "endColumn": 12, "endOffset": 4549 } } }, { "to": { "startLine": 54, "startColumn": 4, "startOffset": 3859, "endColumn": 70, "endOffset": 3925 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v11/values-v11.xml", "position": { "startLine": 62, "startColumn": 4, "startOffset": 4784, "endColumn": 70, "endOffset": 4850 } } }, { "to": { "startLine": 55, "startColumn": 4, "startOffset": 3930, "endColumn": 82, "endOffset": 4008 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v11/values-v11.xml", "position": { "startLine": 63, "startColumn": 4, "startOffset": 4855, "endColumn": 82, "endOffset": 4933 } } }, { "to": { "startLine": 56, "startColumn": 4, "startOffset": 4013, "endLine": 106, "endColumn": 12, "endOffset": 7716 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v11/values-v11.xml", "position": { "startLine": 64, "startColumn": 4, "startOffset": 4938, "endLine": 114, "endColumn": 12, "endOffset": 8641 } } }, { "to": { "startLine": 107, "startColumn": 4, "startOffset": 7721, "endLine": 158, "endColumn": 12, "endOffset": 11564 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v11/values-v11.xml", "position": { "startLine": 115, "startColumn": 4, "startOffset": 8646, "endLine": 166, "endColumn": 12, "endOffset": 12489 } } }, { "to": { "startLine": 159, "startColumn": 4, "startOffset": 11569, "endColumn": 90, "endOffset": 11655 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v11/values-v11.xml", "position": { "startLine": 169, "startColumn": 4, "startOffset": 12724, "endColumn": 90, "endOffset": 12810 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-v12.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-v12/values-v12.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endLine": 4, "endColumn": 12, "endOffset": 274 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v12/values-v12.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 285, "endLine": 6, "endColumn": 12, "endOffset": 504 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 279, "endLine": 7, "endColumn": 12, "endOffset": 474 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v12/values-v12.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 509, "endLine": 9, "endColumn": 12, "endOffset": 704 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 479, "endColumn": 118, "endOffset": 593 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v12/values-v12.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 709, "endColumn": 118, "endOffset": 823 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 598, "endColumn": 94, "endOffset": 688 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v12/values-v12.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 828, "endColumn": 94, "endOffset": 918 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-v14.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-v14/values-v14.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endLine": 6, "endColumn": 12, "endOffset": 326 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v14/values-v14.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 290, "endLine": 8, "endColumn": 12, "endOffset": 561 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 331, "endColumn": 70, "endOffset": 397 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v14/values-v14.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 796, "endColumn": 70, "endOffset": 862 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 402, "endColumn": 82, "endOffset": 480 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v14/values-v14.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 867, "endColumn": 82, "endOffset": 945 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 485, "endLine": 14, "endColumn": 12, "endOffset": 890 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v14/values-v14.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 950, "endLine": 18, "endColumn": 12, "endOffset": 1355 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 895, "endLine": 20, "endColumn": 12, "endOffset": 1312 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v14/values-v14.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1360, "endLine": 24, "endColumn": 12, "endOffset": 1777 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1317, "endColumn": 119, "endOffset": 1432 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v14/values-v14.xml", "position": { "startLine": 27, "startColumn": 4, "startOffset": 2007, "endColumn": 119, "endOffset": 2122 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 1437, "endColumn": 62, "endOffset": 1495 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v14/values-v14.xml", "position": { "startLine": 28, "startColumn": 4, "startOffset": 2127, "endColumn": 62, "endOffset": 2185 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 1500, "endLine": 25, "endColumn": 12, "endOffset": 1649 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v14/values-v14.xml", "position": { "startLine": 29, "startColumn": 4, "startOffset": 2190, "endLine": 31, "endColumn": 12, "endOffset": 2339 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 1654, "endColumn": 62, "endOffset": 1712 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v14/values-v14.xml", "position": { "startLine": 32, "startColumn": 4, "startOffset": 2344, "endColumn": 62, "endOffset": 2402 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 1717, "endColumn": 131, "endOffset": 1844 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v14/values-v14.xml", "position": { "startLine": 33, "startColumn": 4, "startOffset": 2407, "endColumn": 131, "endOffset": 2534 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-v17.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-v17/values-v17.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endLine": 4, "endColumn": 12, "endOffset": 223 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v17/values-v17.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endLine": 6, "endColumn": 12, "endOffset": 452 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 228, "endLine": 8, "endColumn": 12, "endOffset": 451 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v17/values-v17.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 457, "endLine": 10, "endColumn": 12, "endOffset": 680 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 456, "endLine": 12, "endColumn": 12, "endOffset": 788 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v17/values-v17.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 685, "endLine": 14, "endColumn": 12, "endOffset": 1017 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 793, "endLine": 15, "endColumn": 12, "endOffset": 946 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v17/values-v17.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1022, "endLine": 17, "endColumn": 12, "endOffset": 1175 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 951, "endLine": 18, "endColumn": 12, "endOffset": 1096 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v17/values-v17.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1180, "endLine": 20, "endColumn": 12, "endOffset": 1325 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1101, "endLine": 21, "endColumn": 12, "endOffset": 1268 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v17/values-v17.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 1330, "endLine": 23, "endColumn": 12, "endOffset": 1497 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 1273, "endLine": 25, "endColumn": 12, "endOffset": 1496 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v17/values-v17.xml", "position": { "startLine": 24, "startColumn": 4, "startOffset": 1502, "endLine": 27, "endColumn": 12, "endOffset": 1725 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 1501, "endLine": 29, "endColumn": 12, "endOffset": 1738 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v17/values-v17.xml", "position": { "startLine": 28, "startColumn": 4, "startOffset": 1730, "endLine": 31, "endColumn": 12, "endOffset": 1967 } } }, { "to": { "startLine": 30, "startColumn": 4, "startOffset": 1743, "endLine": 32, "endColumn": 12, "endOffset": 1909 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v17/values-v17.xml", "position": { "startLine": 32, "startColumn": 4, "startOffset": 1972, "endLine": 34, "endColumn": 12, "endOffset": 2138 } } }, { "to": { "startLine": 33, "startColumn": 4, "startOffset": 1914, "endLine": 35, "endColumn": 12, "endOffset": 2083 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v17/values-v17.xml", "position": { "startLine": 35, "startColumn": 4, "startOffset": 2143, "endLine": 37, "endColumn": 12, "endOffset": 2312 } } }, { "to": { "startLine": 36, "startColumn": 4, "startOffset": 2088, "endLine": 38, "endColumn": 12, "endOffset": 2252 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v17/values-v17.xml", "position": { "startLine": 38, "startColumn": 4, "startOffset": 2317, "endLine": 40, "endColumn": 12, "endOffset": 2481 } } }, { "to": { "startLine": 39, "startColumn": 4, "startOffset": 2257, "endLine": 42, "endColumn": 12, "endOffset": 2525 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v17/values-v17.xml", "position": { "startLine": 41, "startColumn": 4, "startOffset": 2486, "endLine": 44, "endColumn": 12, "endOffset": 2754 } } }, { "to": { "startLine": 43, "startColumn": 4, "startOffset": 2530, "endLine": 45, "endColumn": 12, "endOffset": 2725 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v17/values-v17.xml", "position": { "startLine": 45, "startColumn": 4, "startOffset": 2759, "endLine": 47, "endColumn": 12, "endOffset": 2954 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-v18.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-v18/values-v18.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 48, "endOffset": 99 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v18/values-v18.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 48, "endOffset": 324 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-v21.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-v21/values-v21.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 90, "endOffset": 141 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 290, "endColumn": 90, "endOffset": 376 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 146, "endColumn": 102, "endOffset": 244 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 381, "endColumn": 102, "endOffset": 479 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 249, "endColumn": 102, "endOffset": 347 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 484, "endColumn": 102, "endOffset": 582 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 352, "endColumn": 104, "endOffset": 452 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 587, "endColumn": 104, "endOffset": 687 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 457, "endColumn": 106, "endOffset": 559 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 692, "endColumn": 106, "endOffset": 794 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 564, "endColumn": 108, "endOffset": 668 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 799, "endColumn": 108, "endOffset": 903 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 673, "endColumn": 108, "endOffset": 777 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 908, "endColumn": 108, "endOffset": 1012 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 782, "endColumn": 108, "endOffset": 886 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1017, "endColumn": 108, "endOffset": 1121 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 891, "endColumn": 108, "endOffset": 995 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1126, "endColumn": 108, "endOffset": 1230 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1000, "endColumn": 108, "endOffset": 1104 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1235, "endColumn": 108, "endOffset": 1339 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1109, "endColumn": 106, "endOffset": 1211 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1344, "endColumn": 106, "endOffset": 1446 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1216, "endColumn": 102, "endOffset": 1314 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1451, "endColumn": 102, "endOffset": 1549 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1319, "endColumn": 118, "endOffset": 1433 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1554, "endColumn": 118, "endOffset": 1668 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1438, "endLine": 16, "endColumn": 12, "endOffset": 1588 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1903, "endLine": 20, "endColumn": 12, "endOffset": 2053 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1593, "endLine": 18, "endColumn": 12, "endOffset": 1743 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2058, "endLine": 22, "endColumn": 12, "endOffset": 2208 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1748, "endColumn": 104, "endOffset": 1848 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 25, "startColumn": 4, "startOffset": 2448, "endColumn": 104, "endOffset": 2548 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1853, "endColumn": 120, "endOffset": 1969 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 26, "startColumn": 4, "startOffset": 2553, "endColumn": 120, "endOffset": 2669 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1974, "endColumn": 100, "endOffset": 2070 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 27, "startColumn": 4, "startOffset": 2674, "endColumn": 100, "endOffset": 2770 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2075, "endLine": 23, "endColumn": 12, "endOffset": 2217 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 30, "startColumn": 4, "startOffset": 3005, "endLine": 31, "endColumn": 12, "endOffset": 3147 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2222, "endLine": 25, "endColumn": 12, "endOffset": 2358 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 32, "startColumn": 4, "startOffset": 3152, "endLine": 33, "endColumn": 12, "endOffset": 3288 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2363, "endColumn": 102, "endOffset": 2461 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 36, "startColumn": 4, "startOffset": 3528, "endColumn": 102, "endOffset": 3626 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2466, "endColumn": 118, "endOffset": 2580 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 37, "startColumn": 4, "startOffset": 3631, "endColumn": 118, "endOffset": 3745 } } }, { "to": { "startLine": 28, "startColumn": 4, "startOffset": 2585, "endColumn": 106, "endOffset": 2687 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 38, "startColumn": 4, "startOffset": 3750, "endColumn": 106, "endOffset": 3852 } } }, { "to": { "startLine": 29, "startColumn": 4, "startOffset": 2692, "endColumn": 102, "endOffset": 2790 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 39, "startColumn": 4, "startOffset": 3857, "endColumn": 102, "endOffset": 3955 } } }, { "to": { "startLine": 30, "startColumn": 4, "startOffset": 2795, "endLine": 31, "endColumn": 12, "endOffset": 2937 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 42, "startColumn": 4, "startOffset": 4190, "endLine": 43, "endColumn": 12, "endOffset": 4332 } } }, { "to": { "startLine": 32, "startColumn": 4, "startOffset": 2942, "endLine": 33, "endColumn": 12, "endOffset": 3092 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 44, "startColumn": 4, "startOffset": 4337, "endLine": 45, "endColumn": 12, "endOffset": 4487 } } }, { "to": { "startLine": 34, "startColumn": 4, "startOffset": 3097, "endLine": 35, "endColumn": 12, "endOffset": 3263 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 46, "startColumn": 4, "startOffset": 4492, "endLine": 47, "endColumn": 12, "endOffset": 4658 } } }, { "to": { "startLine": 36, "startColumn": 4, "startOffset": 3268, "endLine": 37, "endColumn": 12, "endOffset": 3412 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 48, "startColumn": 4, "startOffset": 4663, "endLine": 49, "endColumn": 12, "endOffset": 4807 } } }, { "to": { "startLine": 38, "startColumn": 4, "startOffset": 3417, "endLine": 39, "endColumn": 12, "endOffset": 3577 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 50, "startColumn": 4, "startOffset": 4812, "endLine": 51, "endColumn": 12, "endOffset": 4972 } } }, { "to": { "startLine": 40, "startColumn": 4, "startOffset": 3582, "endLine": 41, "endColumn": 12, "endOffset": 3734 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 52, "startColumn": 4, "startOffset": 4977, "endLine": 53, "endColumn": 12, "endOffset": 5129 } } }, { "to": { "startLine": 42, "startColumn": 4, "startOffset": 3739, "endLine": 43, "endColumn": 12, "endOffset": 3885 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 54, "startColumn": 4, "startOffset": 5134, "endLine": 55, "endColumn": 12, "endOffset": 5280 } } }, { "to": { "startLine": 44, "startColumn": 4, "startOffset": 3890, "endColumn": 118, "endOffset": 4004 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 58, "startColumn": 4, "startOffset": 5520, "endColumn": 118, "endOffset": 5634 } } }, { "to": { "startLine": 45, "startColumn": 4, "startOffset": 4009, "endLine": 46, "endColumn": 12, "endOffset": 4153 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 61, "startColumn": 4, "startOffset": 5869, "endLine": 62, "endColumn": 12, "endOffset": 6013 } } }, { "to": { "startLine": 47, "startColumn": 4, "startOffset": 4158, "endLine": 48, "endColumn": 12, "endOffset": 4302 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 63, "startColumn": 4, "startOffset": 6018, "endLine": 64, "endColumn": 12, "endOffset": 6162 } } }, { "to": { "startLine": 49, "startColumn": 4, "startOffset": 4307, "endColumn": 111, "endOffset": 4414 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 67, "startColumn": 4, "startOffset": 6402, "endColumn": 111, "endOffset": 6509 } } }, { "to": { "startLine": 50, "startColumn": 4, "startOffset": 4419, "endColumn": 146, "endOffset": 4561 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 70, "startColumn": 4, "startOffset": 6744, "endColumn": 146, "endOffset": 6886 } } }, { "to": { "startLine": 51, "startColumn": 4, "startOffset": 4566, "endLine": 52, "endColumn": 12, "endOffset": 4714 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 71, "startColumn": 4, "startOffset": 6891, "endLine": 72, "endColumn": 12, "endOffset": 7039 } } }, { "to": { "startLine": 53, "startColumn": 4, "startOffset": 4719, "endLine": 54, "endColumn": 12, "endOffset": 4861 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 73, "startColumn": 4, "startOffset": 7044, "endLine": 74, "endColumn": 12, "endOffset": 7186 } } }, { "to": { "startLine": 55, "startColumn": 4, "startOffset": 4866, "endColumn": 74, "endOffset": 4936 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 77, "startColumn": 4, "startOffset": 7421, "endColumn": 74, "endOffset": 7491 } } }, { "to": { "startLine": 56, "startColumn": 4, "startOffset": 4941, "endColumn": 88, "endOffset": 5025 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 78, "startColumn": 4, "startOffset": 7496, "endColumn": 88, "endOffset": 7580 } } }, { "to": { "startLine": 57, "startColumn": 4, "startOffset": 5030, "endColumn": 86, "endOffset": 5112 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 79, "startColumn": 4, "startOffset": 7585, "endColumn": 86, "endOffset": 7667 } } }, { "to": { "startLine": 58, "startColumn": 4, "startOffset": 5117, "endColumn": 100, "endOffset": 5213 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 80, "startColumn": 4, "startOffset": 7672, "endColumn": 100, "endOffset": 7768 } } }, { "to": { "startLine": 59, "startColumn": 4, "startOffset": 5218, "endLine": 106, "endColumn": 12, "endOffset": 8619 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 81, "startColumn": 4, "startOffset": 7773, "endLine": 128, "endColumn": 12, "endOffset": 11174 } } }, { "to": { "startLine": 107, "startColumn": 4, "startOffset": 8624, "endLine": 109, "endColumn": 12, "endOffset": 8805 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 129, "startColumn": 4, "startOffset": 11179, "endLine": 131, "endColumn": 12, "endOffset": 11360 } } }, { "to": { "startLine": 110, "startColumn": 4, "startOffset": 8810, "endLine": 157, "endColumn": 12, "endOffset": 12223 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 132, "startColumn": 4, "startOffset": 11365, "endLine": 179, "endColumn": 12, "endOffset": 14778 } } }, { "to": { "startLine": 158, "startColumn": 4, "startOffset": 12228, "endLine": 160, "endColumn": 12, "endOffset": 12421 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 180, "startColumn": 4, "startOffset": 14783, "endLine": 182, "endColumn": 12, "endOffset": 14976 } } }, { "to": { "startLine": 161, "startColumn": 4, "startOffset": 12426, "endLine": 162, "endColumn": 12, "endOffset": 12544 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 185, "startColumn": 4, "startOffset": 15211, "endLine": 186, "endColumn": 12, "endOffset": 15329 } } }, { "to": { "startLine": 163, "startColumn": 4, "startOffset": 12549, "endLine": 164, "endColumn": 12, "endOffset": 12667 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 187, "startColumn": 4, "startOffset": 15334, "endLine": 188, "endColumn": 12, "endOffset": 15452 } } }, { "to": { "startLine": 165, "startColumn": 4, "startOffset": 12672, "endLine": 166, "endColumn": 12, "endOffset": 12780 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 189, "startColumn": 4, "startOffset": 15457, "endLine": 190, "endColumn": 12, "endOffset": 15565 } } }, { "to": { "startLine": 167, "startColumn": 4, "startOffset": 12785, "endLine": 169, "endColumn": 12, "endOffset": 12963 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 191, "startColumn": 4, "startOffset": 15570, "endLine": 193, "endColumn": 12, "endOffset": 15748 } } }, { "to": { "startLine": 170, "startColumn": 4, "startOffset": 12968, "endLine": 171, "endColumn": 12, "endOffset": 13094 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 194, "startColumn": 4, "startOffset": 15753, "endLine": 195, "endColumn": 12, "endOffset": 15879 } } }, { "to": { "startLine": 172, "startColumn": 4, "startOffset": 13099, "endColumn": 116, "endOffset": 13211 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 196, "startColumn": 4, "startOffset": 15884, "endColumn": 116, "endOffset": 15996 } } }, { "to": { "startLine": 173, "startColumn": 4, "startOffset": 13216, "endColumn": 88, "endOffset": 13300 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 197, "startColumn": 4, "startOffset": 16001, "endColumn": 88, "endOffset": 16085 } } }, { "to": { "startLine": 174, "startColumn": 4, "startOffset": 13305, "endColumn": 110, "endOffset": 13411 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 198, "startColumn": 4, "startOffset": 16090, "endColumn": 110, "endOffset": 16196 } } }, { "to": { "startLine": 175, "startColumn": 4, "startOffset": 13416, "endColumn": 126, "endOffset": 13538 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 199, "startColumn": 4, "startOffset": 16201, "endColumn": 126, "endOffset": 16323 } } }, { "to": { "startLine": 176, "startColumn": 4, "startOffset": 13543, "endColumn": 100, "endOffset": 13639 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 200, "startColumn": 4, "startOffset": 16328, "endColumn": 100, "endOffset": 16424 } } }, { "to": { "startLine": 177, "startColumn": 4, "startOffset": 13644, "endColumn": 94, "endOffset": 13734 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 201, "startColumn": 4, "startOffset": 16429, "endColumn": 94, "endOffset": 16519 } } }, { "to": { "startLine": 178, "startColumn": 4, "startOffset": 13739, "endColumn": 122, "endOffset": 13857 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 202, "startColumn": 4, "startOffset": 16524, "endColumn": 122, "endOffset": 16642 } } }, { "to": { "startLine": 179, "startColumn": 4, "startOffset": 13862, "endColumn": 128, "endOffset": 13986 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 203, "startColumn": 4, "startOffset": 16647, "endColumn": 128, "endOffset": 16771 } } }, { "to": { "startLine": 180, "startColumn": 4, "startOffset": 13991, "endColumn": 116, "endOffset": 14103 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 204, "startColumn": 4, "startOffset": 16776, "endColumn": 116, "endOffset": 16888 } } }, { "to": { "startLine": 181, "startColumn": 4, "startOffset": 14108, "endColumn": 92, "endOffset": 14196 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 205, "startColumn": 4, "startOffset": 16893, "endColumn": 92, "endOffset": 16981 } } }, { "to": { "startLine": 182, "startColumn": 4, "startOffset": 14201, "endLine": 183, "endColumn": 12, "endOffset": 14331 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 206, "startColumn": 4, "startOffset": 16986, "endLine": 207, "endColumn": 12, "endOffset": 17116 } } }, { "to": { "startLine": 184, "startColumn": 4, "startOffset": 14336, "endLine": 185, "endColumn": 12, "endOffset": 14474 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 208, "startColumn": 4, "startOffset": 17121, "endLine": 209, "endColumn": 12, "endOffset": 17259 } } }, { "to": { "startLine": 186, "startColumn": 4, "startOffset": 14479, "endLine": 187, "endColumn": 12, "endOffset": 14609 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 210, "startColumn": 4, "startOffset": 17264, "endLine": 211, "endColumn": 12, "endOffset": 17394 } } }, { "to": { "startLine": 188, "startColumn": 4, "startOffset": 14614, "endLine": 189, "endColumn": 12, "endOffset": 14728 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 212, "startColumn": 4, "startOffset": 17399, "endLine": 213, "endColumn": 12, "endOffset": 17513 } } }, { "to": { "startLine": 190, "startColumn": 4, "startOffset": 14733, "endLine": 193, "endColumn": 12, "endOffset": 14929 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 214, "startColumn": 4, "startOffset": 17518, "endLine": 217, "endColumn": 12, "endOffset": 17714 } } }, { "to": { "startLine": 194, "startColumn": 4, "startOffset": 14934, "endLine": 195, "endColumn": 12, "endOffset": 15048 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 218, "startColumn": 4, "startOffset": 17719, "endLine": 219, "endColumn": 12, "endOffset": 17833 } } }, { "to": { "startLine": 196, "startColumn": 4, "startOffset": 15053, "endColumn": 92, "endOffset": 15141 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 220, "startColumn": 4, "startOffset": 17838, "endColumn": 92, "endOffset": 17926 } } }, { "to": { "startLine": 197, "startColumn": 4, "startOffset": 15146, "endColumn": 110, "endOffset": 15252 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 221, "startColumn": 4, "startOffset": 17931, "endColumn": 110, "endOffset": 18037 } } }, { "to": { "startLine": 198, "startColumn": 4, "startOffset": 15257, "endColumn": 55, "endOffset": 15308 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 222, "startColumn": 4, "startOffset": 18042, "endColumn": 55, "endOffset": 18093 } } }, { "to": { "startLine": 199, "startColumn": 4, "startOffset": 15313, "endLine": 200, "endColumn": 12, "endOffset": 15415 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 223, "startColumn": 4, "startOffset": 18098, "endLine": 224, "endColumn": 12, "endOffset": 18200 } } }, { "to": { "startLine": 201, "startColumn": 4, "startOffset": 15420, "endLine": 204, "endColumn": 12, "endOffset": 15610 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 225, "startColumn": 4, "startOffset": 18205, "endLine": 228, "endColumn": 12, "endOffset": 18395 } } }, { "to": { "startLine": 205, "startColumn": 4, "startOffset": 15615, "endLine": 206, "endColumn": 12, "endOffset": 15721 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 229, "startColumn": 4, "startOffset": 18400, "endLine": 230, "endColumn": 12, "endOffset": 18506 } } }, { "to": { "startLine": 207, "startColumn": 4, "startOffset": 15726, "endLine": 208, "endColumn": 12, "endOffset": 15854 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 231, "startColumn": 4, "startOffset": 18511, "endLine": 232, "endColumn": 12, "endOffset": 18639 } } }, { "to": { "startLine": 209, "startColumn": 4, "startOffset": 15859, "endColumn": 94, "endOffset": 15949 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 233, "startColumn": 4, "startOffset": 18644, "endColumn": 94, "endOffset": 18734 } } }, { "to": { "startLine": 210, "startColumn": 4, "startOffset": 15954, "endColumn": 90, "endOffset": 16040 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 234, "startColumn": 4, "startOffset": 18739, "endColumn": 90, "endOffset": 18825 } } }, { "to": { "startLine": 211, "startColumn": 4, "startOffset": 16045, "endColumn": 112, "endOffset": 16153 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 235, "startColumn": 4, "startOffset": 18830, "endColumn": 112, "endOffset": 18938 } } }, { "to": { "startLine": 212, "startColumn": 4, "startOffset": 16158, "endColumn": 116, "endOffset": 16270 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 236, "startColumn": 4, "startOffset": 18943, "endColumn": 116, "endOffset": 19055 } } }, { "to": { "startLine": 213, "startColumn": 4, "startOffset": 16275, "endLine": 214, "endColumn": 12, "endOffset": 16409 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 237, "startColumn": 4, "startOffset": 19060, "endLine": 238, "endColumn": 12, "endOffset": 19194 } } }, { "to": { "startLine": 215, "startColumn": 4, "startOffset": 16414, "endLine": 221, "endColumn": 12, "endOffset": 16762 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 241, "startColumn": 4, "startOffset": 19429, "endLine": 247, "endColumn": 12, "endOffset": 19777 } } }, { "to": { "startLine": 222, "startColumn": 4, "startOffset": 16767, "endLine": 228, "endColumn": 12, "endOffset": 17127 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 248, "startColumn": 4, "startOffset": 19782, "endLine": 254, "endColumn": 12, "endOffset": 20142 } } }, { "to": { "startLine": 229, "startColumn": 4, "startOffset": 17132, "endLine": 238, "endColumn": 12, "endOffset": 17807 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 255, "startColumn": 4, "startOffset": 20147, "endLine": 264, "endColumn": 12, "endOffset": 20822 } } }, { "to": { "startLine": 239, "startColumn": 4, "startOffset": 17812, "endColumn": 56, "endOffset": 17864 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 265, "startColumn": 4, "startOffset": 20827, "endColumn": 56, "endOffset": 20879 } } }, { "to": { "startLine": 240, "startColumn": 4, "startOffset": 17869, "endColumn": 57, "endOffset": 17922 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml", "position": { "startLine": 266, "startColumn": 4, "startOffset": 20884, "endColumn": 57, "endOffset": 20937 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-v22.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-v22/values-v22.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 74, "endOffset": 125 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v22/values-v22.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 285, "endColumn": 74, "endOffset": 355 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 130, "endColumn": 86, "endOffset": 212 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v22/values-v22.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 360, "endColumn": 86, "endOffset": 442 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 217, "endLine": 6, "endColumn": 12, "endOffset": 393 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v22/values-v22.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 447, "endLine": 8, "endColumn": 12, "endOffset": 623 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 398, "endLine": 9, "endColumn": 12, "endOffset": 586 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v22/values-v22.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 628, "endLine": 11, "endColumn": 12, "endOffset": 816 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-v23.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-v23/values-v23.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 134, "endOffset": 185 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v23/values-v23.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 290, "endColumn": 134, "endOffset": 420 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 190, "endColumn": 74, "endOffset": 260 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v23/values-v23.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 655, "endColumn": 74, "endOffset": 725 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 265, "endColumn": 86, "endOffset": 347 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v23/values-v23.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 730, "endColumn": 86, "endOffset": 812 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 352, "endLine": 10, "endColumn": 12, "endOffset": 675 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v23/values-v23.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 817, "endLine": 14, "endColumn": 12, "endOffset": 1140 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 680, "endLine": 16, "endColumn": 12, "endOffset": 1015 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v23/values-v23.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1145, "endLine": 20, "endColumn": 12, "endOffset": 1480 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1020, "endColumn": 104, "endOffset": 1120 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v23/values-v23.xml", "position": { "startLine": 23, "startColumn": 4, "startOffset": 1715, "endColumn": 104, "endOffset": 1815 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-vi.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-vi/values-vi.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 113, "endOffset": 164 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 113, "endOffset": 389 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 169, "endColumn": 107, "endOffset": 272 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 394, "endColumn": 107, "endOffset": 497 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 277, "endColumn": 122, "endOffset": 395 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 502, "endColumn": 122, "endOffset": 620 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 400, "endColumn": 107, "endOffset": 503 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 625, "endColumn": 107, "endOffset": 728 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 508, "endColumn": 108, "endOffset": 612 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 733, "endColumn": 108, "endOffset": 837 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 617, "endColumn": 83, "endOffset": 696 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 842, "endColumn": 83, "endOffset": 921 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 701, "endColumn": 102, "endOffset": 799 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 926, "endColumn": 102, "endOffset": 1024 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 804, "endColumn": 118, "endOffset": 918 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1029, "endColumn": 118, "endOffset": 1143 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 923, "endColumn": 83, "endOffset": 1002 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1148, "endColumn": 83, "endOffset": 1227 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1007, "endColumn": 103, "endOffset": 1106 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1232, "endColumn": 103, "endOffset": 1331 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1111, "endColumn": 108, "endOffset": 1215 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1336, "endColumn": 108, "endOffset": 1440 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1220, "endColumn": 100, "endOffset": 1316 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1445, "endColumn": 100, "endOffset": 1541 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1321, "endColumn": 104, "endOffset": 1421 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1546, "endColumn": 104, "endOffset": 1646 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1426, "endColumn": 113, "endOffset": 1535 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1651, "endColumn": 113, "endOffset": 1760 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1540, "endColumn": 104, "endOffset": 1640 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1765, "endColumn": 104, "endOffset": 1865 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1645, "endColumn": 119, "endOffset": 1760 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1870, "endColumn": 119, "endOffset": 1985 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1765, "endColumn": 98, "endOffset": 1859 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1990, "endColumn": 98, "endOffset": 2084 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1864, "endColumn": 53, "endOffset": 1913 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-vi/values-vi.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1918, "endColumn": 71, "endOffset": 1985 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-vi/values-vi.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 71, "endOffset": 176 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1990, "endColumn": 78, "endOffset": 2064 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-vi/values-vi.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 181, "endColumn": 78, "endOffset": 255 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 2069, "endColumn": 70, "endOffset": 2135 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-vi/values-vi.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 260, "endColumn": 70, "endOffset": 326 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 2140, "endColumn": 65, "endOffset": 2201 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-vi/values-vi.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 331, "endColumn": 65, "endOffset": 392 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2206, "endColumn": 55, "endOffset": 2257 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-vi/values-vi.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 397, "endColumn": 55, "endOffset": 448 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2262, "endColumn": 58, "endOffset": 2316 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-vi/values-vi.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 453, "endColumn": 58, "endOffset": 507 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2321, "endColumn": 73, "endOffset": 2390 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-vi/values-vi.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 512, "endColumn": 73, "endOffset": 581 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2395, "endColumn": 100, "endOffset": 2491 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-vi/values-vi.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2089, "endColumn": 100, "endOffset": 2185 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-w360dp-v13.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-w360dp-v13/values-w360dp-v13.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 54, "endOffset": 105 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-w360dp/values-w360dp.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 283, "endColumn": 54, "endOffset": 333 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-w480dp-v13.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-w480dp-v13/values-w480dp-v13.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 61, "endOffset": 112 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-w480dp/values-w480dp.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 282, "endColumn": 61, "endOffset": 339 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 117, "endColumn": 71, "endOffset": 184 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-w480dp/values-w480dp.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 572, "endColumn": 71, "endOffset": 639 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-w500dp-v13.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-w500dp-v13/values-w500dp-v13.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 54, "endOffset": 105 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-w500dp/values-w500dp.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 283, "endColumn": 54, "endOffset": 333 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-w600dp-v13.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-w600dp-v13/values-w600dp-v13.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 63, "endOffset": 114 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-w600dp/values-w600dp.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 283, "endColumn": 63, "endOffset": 342 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 119, "endColumn": 54, "endOffset": 169 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-w600dp/values-w600dp.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 347, "endColumn": 54, "endOffset": 397 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-w720dp-v13.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-w720dp-v13/values-w720dp-v13.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 76, "endOffset": 127 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-w720dp/values-w720dp.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 282, "endColumn": 76, "endOffset": 354 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-xlarge-land-v4.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-xlarge-land-v4/values-xlarge-land-v4.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 63, "endOffset": 114 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-xlarge-land/values-xlarge-land.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 288, "endColumn": 63, "endOffset": 347 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-xlarge-v4.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-xlarge-v4/values-xlarge-v4.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 76, "endOffset": 127 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-xlarge/values-xlarge.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 282, "endColumn": 76, "endOffset": 354 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 132, "endColumn": 63, "endOffset": 191 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-xlarge/values-xlarge.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 587, "endColumn": 63, "endOffset": 646 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 196, "endColumn": 66, "endOffset": 258 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-xlarge/values-xlarge.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 651, "endColumn": 66, "endOffset": 713 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 263, "endColumn": 66, "endOffset": 325 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-xlarge/values-xlarge.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 718, "endColumn": 66, "endOffset": 780 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 330, "endColumn": 65, "endOffset": 391 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-xlarge/values-xlarge.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 785, "endColumn": 65, "endOffset": 846 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 396, "endColumn": 65, "endOffset": 457 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-xlarge/values-xlarge.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 851, "endColumn": 65, "endOffset": 912 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 462, "endColumn": 54, "endOffset": 512 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-xlarge/values-xlarge.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 917, "endColumn": 54, "endOffset": 967 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-zh-rCN.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-zh-rCN/values-zh-rCN.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 95, "endOffset": 146 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 95, "endOffset": 375 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 151, "endColumn": 106, "endOffset": 253 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 380, "endColumn": 106, "endOffset": 482 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 258, "endColumn": 122, "endOffset": 376 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 487, "endColumn": 122, "endOffset": 605 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 381, "endColumn": 94, "endOffset": 471 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 610, "endColumn": 94, "endOffset": 700 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 476, "endColumn": 99, "endOffset": 571 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 705, "endColumn": 99, "endOffset": 800 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 576, "endColumn": 81, "endOffset": 653 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 805, "endColumn": 81, "endOffset": 882 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 658, "endColumn": 96, "endOffset": 750 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 887, "endColumn": 96, "endOffset": 979 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 755, "endColumn": 105, "endOffset": 856 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 984, "endColumn": 105, "endOffset": 1085 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 861, "endColumn": 77, "endOffset": 934 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1090, "endColumn": 77, "endOffset": 1163 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 939, "endColumn": 95, "endOffset": 1030 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1168, "endColumn": 95, "endOffset": 1259 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1035, "endColumn": 95, "endOffset": 1126 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1264, "endColumn": 95, "endOffset": 1355 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1131, "endColumn": 94, "endOffset": 1221 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1360, "endColumn": 94, "endOffset": 1450 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1226, "endColumn": 96, "endOffset": 1318 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1455, "endColumn": 96, "endOffset": 1547 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1323, "endColumn": 94, "endOffset": 1413 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1552, "endColumn": 94, "endOffset": 1642 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1418, "endColumn": 97, "endOffset": 1511 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1647, "endColumn": 97, "endOffset": 1740 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1516, "endColumn": 111, "endOffset": 1623 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1745, "endColumn": 111, "endOffset": 1852 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1628, "endColumn": 93, "endOffset": 1717 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1857, "endColumn": 93, "endOffset": 1946 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1722, "endColumn": 53, "endOffset": 1771 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1776, "endColumn": 59, "endOffset": 1831 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 59, "endOffset": 164 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1836, "endColumn": 78, "endOffset": 1910 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 169, "endColumn": 78, "endOffset": 243 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 1915, "endColumn": 70, "endOffset": 1981 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 248, "endColumn": 70, "endOffset": 314 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 1986, "endColumn": 56, "endOffset": 2038 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 319, "endColumn": 56, "endOffset": 371 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2043, "endColumn": 55, "endOffset": 2094 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 376, "endColumn": 55, "endOffset": 427 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2099, "endColumn": 58, "endOffset": 2153 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 432, "endColumn": 58, "endOffset": 486 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2158, "endColumn": 73, "endOffset": 2227 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 491, "endColumn": 73, "endOffset": 560 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2232, "endColumn": 100, "endOffset": 2328 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rCN/values-zh-rCN.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 1951, "endColumn": 100, "endOffset": 2047 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-zh-rHK.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-zh-rHK/values-zh-rHK.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 94, "endOffset": 145 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 94, "endOffset": 374 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 150, "endColumn": 106, "endOffset": 252 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 379, "endColumn": 106, "endOffset": 481 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 257, "endColumn": 122, "endOffset": 375 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 486, "endColumn": 122, "endOffset": 604 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 380, "endColumn": 92, "endOffset": 468 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 609, "endColumn": 92, "endOffset": 697 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 473, "endColumn": 99, "endOffset": 568 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 702, "endColumn": 99, "endOffset": 797 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 573, "endColumn": 81, "endOffset": 650 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 802, "endColumn": 81, "endOffset": 879 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 655, "endColumn": 96, "endOffset": 747 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 884, "endColumn": 96, "endOffset": 976 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 752, "endColumn": 107, "endOffset": 855 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 981, "endColumn": 107, "endOffset": 1084 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 860, "endColumn": 77, "endOffset": 933 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1089, "endColumn": 77, "endOffset": 1162 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 938, "endColumn": 95, "endOffset": 1029 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1167, "endColumn": 95, "endOffset": 1258 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1034, "endColumn": 95, "endOffset": 1125 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1263, "endColumn": 95, "endOffset": 1354 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1130, "endColumn": 94, "endOffset": 1220 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1359, "endColumn": 94, "endOffset": 1449 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1225, "endColumn": 96, "endOffset": 1317 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1454, "endColumn": 96, "endOffset": 1546 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1322, "endColumn": 94, "endOffset": 1412 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1551, "endColumn": 94, "endOffset": 1641 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1417, "endColumn": 97, "endOffset": 1510 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1646, "endColumn": 97, "endOffset": 1739 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1515, "endColumn": 112, "endOffset": 1623 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1744, "endColumn": 112, "endOffset": 1852 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1628, "endColumn": 93, "endOffset": 1717 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1857, "endColumn": 93, "endOffset": 1946 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1722, "endColumn": 53, "endOffset": 1771 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1776, "endColumn": 59, "endOffset": 1831 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 59, "endOffset": 164 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1836, "endColumn": 78, "endOffset": 1910 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 169, "endColumn": 78, "endOffset": 243 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 1915, "endColumn": 70, "endOffset": 1981 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 248, "endColumn": 70, "endOffset": 314 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 1986, "endColumn": 55, "endOffset": 2037 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 319, "endColumn": 55, "endOffset": 370 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2042, "endColumn": 55, "endOffset": 2093 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 375, "endColumn": 55, "endOffset": 426 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2098, "endColumn": 58, "endOffset": 2152 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 431, "endColumn": 58, "endOffset": 485 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2157, "endColumn": 73, "endOffset": 2226 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 490, "endColumn": 73, "endOffset": 559 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2231, "endColumn": 101, "endOffset": 2328 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rHK/values-zh-rHK.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 1951, "endColumn": 101, "endOffset": 2048 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-zh-rTW.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-zh-rTW/values-zh-rTW.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 94, "endOffset": 145 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 284, "endColumn": 94, "endOffset": 374 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 150, "endColumn": 106, "endOffset": 252 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 379, "endColumn": 106, "endOffset": 481 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 257, "endColumn": 122, "endOffset": 375 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 486, "endColumn": 122, "endOffset": 604 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 380, "endColumn": 92, "endOffset": 468 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 609, "endColumn": 92, "endOffset": 697 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 473, "endColumn": 99, "endOffset": 568 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 702, "endColumn": 99, "endOffset": 797 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 573, "endColumn": 81, "endOffset": 650 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 802, "endColumn": 81, "endOffset": 879 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 655, "endColumn": 96, "endOffset": 747 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 884, "endColumn": 96, "endOffset": 976 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 752, "endColumn": 107, "endOffset": 855 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 981, "endColumn": 107, "endOffset": 1084 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 860, "endColumn": 77, "endOffset": 933 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1089, "endColumn": 77, "endOffset": 1162 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 938, "endColumn": 95, "endOffset": 1029 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1167, "endColumn": 95, "endOffset": 1258 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1034, "endColumn": 95, "endOffset": 1125 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1263, "endColumn": 95, "endOffset": 1354 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1130, "endColumn": 94, "endOffset": 1220 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1359, "endColumn": 94, "endOffset": 1449 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1225, "endColumn": 96, "endOffset": 1317 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1454, "endColumn": 96, "endOffset": 1546 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1322, "endColumn": 94, "endOffset": 1412 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1551, "endColumn": 94, "endOffset": 1641 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1417, "endColumn": 99, "endOffset": 1512 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1646, "endColumn": 99, "endOffset": 1741 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1517, "endColumn": 112, "endOffset": 1625 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1746, "endColumn": 112, "endOffset": 1854 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1630, "endColumn": 93, "endOffset": 1719 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1859, "endColumn": 93, "endOffset": 1948 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1724, "endColumn": 53, "endOffset": 1773 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 53, "endOffset": 104 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1778, "endColumn": 59, "endOffset": 1833 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 109, "endColumn": 59, "endOffset": 164 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1838, "endColumn": 78, "endOffset": 1912 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 169, "endColumn": 78, "endOffset": 243 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 1917, "endColumn": 70, "endOffset": 1983 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 248, "endColumn": 70, "endOffset": 314 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 1988, "endColumn": 55, "endOffset": 2039 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 319, "endColumn": 55, "endOffset": 370 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 2044, "endColumn": 55, "endOffset": 2095 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 375, "endColumn": 55, "endOffset": 426 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 2100, "endColumn": 58, "endOffset": 2154 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 431, "endColumn": 58, "endOffset": 485 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 2159, "endColumn": 73, "endOffset": 2228 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 490, "endColumn": 73, "endOffset": 559 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 2233, "endColumn": 100, "endOffset": 2329 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zh-rTW/values-zh-rTW.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 1953, "endColumn": 100, "endOffset": 2049 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values-zu.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values-zu/values-zu.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 107, "endOffset": 158 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 280, "endColumn": 107, "endOffset": 383 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 163, "endColumn": 107, "endOffset": 266 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 388, "endColumn": 107, "endOffset": 491 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 271, "endColumn": 122, "endOffset": 389 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 496, "endColumn": 122, "endOffset": 614 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 394, "endColumn": 106, "endOffset": 496 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 619, "endColumn": 106, "endOffset": 721 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 501, "endColumn": 113, "endOffset": 610 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 726, "endColumn": 113, "endOffset": 835 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 615, "endColumn": 87, "endOffset": 698 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 840, "endColumn": 87, "endOffset": 923 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 703, "endColumn": 102, "endOffset": 801 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 928, "endColumn": 102, "endOffset": 1026 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 806, "endColumn": 126, "endOffset": 928 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1031, "endColumn": 126, "endOffset": 1153 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 933, "endColumn": 85, "endOffset": 1014 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1158, "endColumn": 85, "endOffset": 1239 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 1019, "endColumn": 103, "endOffset": 1118 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1244, "endColumn": 103, "endOffset": 1343 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 1123, "endColumn": 105, "endOffset": 1224 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1348, "endColumn": 105, "endOffset": 1449 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 1229, "endColumn": 97, "endOffset": 1322 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1454, "endColumn": 97, "endOffset": 1547 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 1327, "endColumn": 106, "endOffset": 1429 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1552, "endColumn": 106, "endOffset": 1654 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 1434, "endColumn": 105, "endOffset": 1535 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1659, "endColumn": 105, "endOffset": 1760 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 1540, "endColumn": 105, "endOffset": 1641 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1765, "endColumn": 105, "endOffset": 1866 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1646, "endColumn": 119, "endOffset": 1761 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 1871, "endColumn": 119, "endOffset": 1986 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1766, "endColumn": 95, "endOffset": 1857 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1991, "endColumn": 95, "endOffset": 2082 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1862, "endColumn": 100, "endOffset": 1958 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-zu/values-zu.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2087, "endColumn": 100, "endOffset": 2183 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/multi/values.json ================================================ [ { "outputFile": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/values/values.xml", "map": [ { "to": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 54, "endOffset": 105 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 275, "endColumn": 54, "endOffset": 325 } } }, { "to": { "startLine": 3, "startColumn": 4, "startOffset": 110, "endColumn": 44, "endOffset": 150 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 330, "endColumn": 44, "endOffset": 370 } } }, { "to": { "startLine": 4, "startColumn": 4, "startOffset": 155, "endColumn": 48, "endOffset": 199 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 375, "endColumn": 48, "endOffset": 419 } } }, { "to": { "startLine": 5, "startColumn": 4, "startOffset": 204, "endColumn": 40, "endOffset": 240 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 424, "endColumn": 40, "endOffset": 460 } } }, { "to": { "startLine": 6, "startColumn": 4, "startOffset": 245, "endColumn": 54, "endOffset": 295 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 685, "endColumn": 54, "endOffset": 735 } } }, { "to": { "startLine": 7, "startColumn": 4, "startOffset": 300, "endColumn": 62, "endOffset": 358 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 740, "endColumn": 62, "endOffset": 798 } } }, { "to": { "startLine": 8, "startColumn": 4, "startOffset": 363, "endColumn": 75, "endOffset": 434 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 803, "endColumn": 75, "endOffset": 874 } } }, { "to": { "startLine": 9, "startColumn": 4, "startOffset": 439, "endColumn": 61, "endOffset": 496 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1100, "endColumn": 61, "endOffset": 1157 } } }, { "to": { "startLine": 10, "startColumn": 4, "startOffset": 501, "endColumn": 72, "endOffset": 569 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1162, "endColumn": 72, "endOffset": 1230 } } }, { "to": { "startLine": 11, "startColumn": 4, "startOffset": 574, "endColumn": 67, "endOffset": 637 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1235, "endColumn": 67, "endOffset": 1298 } } }, { "to": { "startLine": 12, "startColumn": 4, "startOffset": 642, "endColumn": 77, "endOffset": 715 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 1523, "endColumn": 77, "endOffset": 1596 } } }, { "to": { "startLine": 13, "startColumn": 4, "startOffset": 720, "endColumn": 80, "endOffset": 796 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 23, "startColumn": 4, "startOffset": 1822, "endColumn": 80, "endOffset": 1898 } } }, { "to": { "startLine": 14, "startColumn": 4, "startOffset": 801, "endColumn": 60, "endOffset": 857 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 24, "startColumn": 4, "startOffset": 1903, "endColumn": 60, "endOffset": 1959 } } }, { "to": { "startLine": 15, "startColumn": 4, "startOffset": 862, "endColumn": 74, "endOffset": 932 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 25, "startColumn": 4, "startOffset": 1964, "endColumn": 74, "endOffset": 2034 } } }, { "to": { "startLine": 16, "startColumn": 4, "startOffset": 937, "endColumn": 75, "endOffset": 1008 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 26, "startColumn": 4, "startOffset": 2039, "endColumn": 75, "endOffset": 2110 } } }, { "to": { "startLine": 17, "startColumn": 4, "startOffset": 1013, "endColumn": 76, "endOffset": 1085 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 29, "startColumn": 4, "startOffset": 2345, "endColumn": 76, "endOffset": 2417 } } }, { "to": { "startLine": 18, "startColumn": 4, "startOffset": 1090, "endColumn": 77, "endOffset": 1163 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 30, "startColumn": 4, "startOffset": 2422, "endColumn": 77, "endOffset": 2495 } } }, { "to": { "startLine": 19, "startColumn": 4, "startOffset": 1168, "endColumn": 84, "endOffset": 1248 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 31, "startColumn": 4, "startOffset": 2500, "endColumn": 84, "endOffset": 2580 } } }, { "to": { "startLine": 20, "startColumn": 4, "startOffset": 1253, "endColumn": 81, "endOffset": 1330 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 32, "startColumn": 4, "startOffset": 2585, "endColumn": 81, "endOffset": 2662 } } }, { "to": { "startLine": 21, "startColumn": 4, "startOffset": 1335, "endColumn": 75, "endOffset": 1406 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 33, "startColumn": 4, "startOffset": 2667, "endColumn": 75, "endOffset": 2738 } } }, { "to": { "startLine": 22, "startColumn": 4, "startOffset": 1411, "endColumn": 75, "endOffset": 1482 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 34, "startColumn": 4, "startOffset": 2743, "endColumn": 75, "endOffset": 2814 } } }, { "to": { "startLine": 23, "startColumn": 4, "startOffset": 1487, "endColumn": 76, "endOffset": 1559 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 35, "startColumn": 4, "startOffset": 2819, "endColumn": 76, "endOffset": 2891 } } }, { "to": { "startLine": 24, "startColumn": 4, "startOffset": 1564, "endColumn": 77, "endOffset": 1637 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 36, "startColumn": 4, "startOffset": 2896, "endColumn": 77, "endOffset": 2969 } } }, { "to": { "startLine": 25, "startColumn": 4, "startOffset": 1642, "endColumn": 105, "endOffset": 1743 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 37, "startColumn": 4, "startOffset": 2974, "endColumn": 105, "endOffset": 3075 } } }, { "to": { "startLine": 26, "startColumn": 4, "startOffset": 1748, "endColumn": 105, "endOffset": 1849 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 38, "startColumn": 4, "startOffset": 3080, "endColumn": 105, "endOffset": 3181 } } }, { "to": { "startLine": 27, "startColumn": 4, "startOffset": 1854, "endColumn": 78, "endOffset": 1928 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 39, "startColumn": 4, "startOffset": 3186, "endColumn": 78, "endOffset": 3260 } } }, { "to": { "startLine": 28, "startColumn": 4, "startOffset": 1933, "endColumn": 79, "endOffset": 2008 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 40, "startColumn": 4, "startOffset": 3265, "endColumn": 79, "endOffset": 3340 } } }, { "to": { "startLine": 29, "startColumn": 4, "startOffset": 2013, "endColumn": 56, "endOffset": 2065 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 41, "startColumn": 4, "startOffset": 3345, "endColumn": 56, "endOffset": 3397 } } }, { "to": { "startLine": 30, "startColumn": 4, "startOffset": 2070, "endColumn": 57, "endOffset": 2123 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 42, "startColumn": 4, "startOffset": 3402, "endColumn": 57, "endOffset": 3455 } } }, { "to": { "startLine": 31, "startColumn": 4, "startOffset": 2128, "endColumn": 62, "endOffset": 2186 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 2, "startColumn": 4, "startOffset": 55, "endColumn": 62, "endOffset": 113 } } }, { "to": { "startLine": 32, "startColumn": 4, "startOffset": 2191, "endColumn": 73, "endOffset": 2260 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 43, "startColumn": 4, "startOffset": 3460, "endColumn": 73, "endOffset": 3529 } } }, { "to": { "startLine": 33, "startColumn": 4, "startOffset": 2265, "endColumn": 74, "endOffset": 2335 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 44, "startColumn": 4, "startOffset": 3534, "endColumn": 74, "endOffset": 3604 } } }, { "to": { "startLine": 34, "startColumn": 4, "startOffset": 2340, "endColumn": 64, "endOffset": 2400 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 45, "startColumn": 4, "startOffset": 3609, "endColumn": 64, "endOffset": 3669 } } }, { "to": { "startLine": 35, "startColumn": 4, "startOffset": 2405, "endColumn": 65, "endOffset": 2466 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 46, "startColumn": 4, "startOffset": 3674, "endColumn": 65, "endOffset": 3735 } } }, { "to": { "startLine": 36, "startColumn": 4, "startOffset": 2471, "endColumn": 71, "endOffset": 2538 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 47, "startColumn": 4, "startOffset": 3740, "endColumn": 71, "endOffset": 3807 } } }, { "to": { "startLine": 37, "startColumn": 4, "startOffset": 2543, "endColumn": 72, "endOffset": 2611 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 48, "startColumn": 4, "startOffset": 3812, "endColumn": 72, "endOffset": 3880 } } }, { "to": { "startLine": 38, "startColumn": 4, "startOffset": 2616, "endColumn": 66, "endOffset": 2678 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 49, "startColumn": 4, "startOffset": 3885, "endColumn": 66, "endOffset": 3947 } } }, { "to": { "startLine": 39, "startColumn": 4, "startOffset": 2683, "endColumn": 67, "endOffset": 2746 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 50, "startColumn": 4, "startOffset": 3952, "endColumn": 67, "endOffset": 4015 } } }, { "to": { "startLine": 40, "startColumn": 4, "startOffset": 2751, "endColumn": 103, "endOffset": 2850 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 51, "startColumn": 4, "startOffset": 4020, "endColumn": 103, "endOffset": 4119 } } }, { "to": { "startLine": 41, "startColumn": 4, "startOffset": 2855, "endColumn": 105, "endOffset": 2956 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 52, "startColumn": 4, "startOffset": 4124, "endColumn": 105, "endOffset": 4225 } } }, { "to": { "startLine": 42, "startColumn": 4, "startOffset": 2961, "endColumn": 58, "endOffset": 3015 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 53, "startColumn": 4, "startOffset": 4230, "endColumn": 58, "endOffset": 4284 } } }, { "to": { "startLine": 43, "startColumn": 4, "startOffset": 3020, "endColumn": 58, "endOffset": 3074 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 54, "startColumn": 4, "startOffset": 4289, "endColumn": 58, "endOffset": 4343 } } }, { "to": { "startLine": 44, "startColumn": 4, "startOffset": 3079, "endColumn": 58, "endOffset": 3133 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 55, "startColumn": 4, "startOffset": 4348, "endColumn": 58, "endOffset": 4402 } } }, { "to": { "startLine": 45, "startColumn": 4, "startOffset": 3138, "endColumn": 58, "endOffset": 3192 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 56, "startColumn": 4, "startOffset": 4407, "endColumn": 58, "endOffset": 4461 } } }, { "to": { "startLine": 46, "startColumn": 4, "startOffset": 3197, "endColumn": 58, "endOffset": 3251 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 57, "startColumn": 4, "startOffset": 4466, "endColumn": 58, "endOffset": 4520 } } }, { "to": { "startLine": 47, "startColumn": 4, "startOffset": 3256, "endColumn": 53, "endOffset": 3305 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 58, "startColumn": 4, "startOffset": 4525, "endColumn": 53, "endOffset": 4574 } } }, { "to": { "startLine": 48, "startColumn": 4, "startOffset": 3310, "endColumn": 53, "endOffset": 3359 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 59, "startColumn": 4, "startOffset": 4579, "endColumn": 53, "endOffset": 4628 } } }, { "to": { "startLine": 49, "startColumn": 4, "startOffset": 3364, "endColumn": 52, "endOffset": 3412 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 60, "startColumn": 4, "startOffset": 4633, "endColumn": 52, "endOffset": 4681 } } }, { "to": { "startLine": 50, "startColumn": 4, "startOffset": 3417, "endColumn": 53, "endOffset": 3466 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 61, "startColumn": 4, "startOffset": 4686, "endColumn": 53, "endOffset": 4735 } } }, { "to": { "startLine": 51, "startColumn": 4, "startOffset": 3471, "endColumn": 53, "endOffset": 3520 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 62, "startColumn": 4, "startOffset": 4740, "endColumn": 53, "endOffset": 4789 } } }, { "to": { "startLine": 52, "startColumn": 4, "startOffset": 3525, "endColumn": 53, "endOffset": 3574 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 63, "startColumn": 4, "startOffset": 4794, "endColumn": 53, "endOffset": 4843 } } }, { "to": { "startLine": 53, "startColumn": 4, "startOffset": 3579, "endColumn": 53, "endOffset": 3628 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 64, "startColumn": 4, "startOffset": 4848, "endColumn": 53, "endOffset": 4897 } } }, { "to": { "startLine": 54, "startColumn": 4, "startOffset": 3633, "endColumn": 73, "endOffset": 3702 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 65, "startColumn": 4, "startOffset": 4902, "endColumn": 73, "endOffset": 4971 } } }, { "to": { "startLine": 55, "startColumn": 4, "startOffset": 3707, "endColumn": 78, "endOffset": 3781 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 66, "startColumn": 4, "startOffset": 4976, "endColumn": 78, "endOffset": 5050 } } }, { "to": { "startLine": 56, "startColumn": 4, "startOffset": 3786, "endColumn": 72, "endOffset": 3854 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 67, "startColumn": 4, "startOffset": 5055, "endColumn": 72, "endOffset": 5123 } } }, { "to": { "startLine": 57, "startColumn": 4, "startOffset": 3859, "endColumn": 73, "endOffset": 3928 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 68, "startColumn": 4, "startOffset": 5128, "endColumn": 73, "endOffset": 5197 } } }, { "to": { "startLine": 58, "startColumn": 4, "startOffset": 3933, "endColumn": 70, "endOffset": 3999 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 69, "startColumn": 4, "startOffset": 5202, "endColumn": 70, "endOffset": 5268 } } }, { "to": { "startLine": 59, "startColumn": 4, "startOffset": 4004, "endColumn": 71, "endOffset": 4071 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 70, "startColumn": 4, "startOffset": 5273, "endColumn": 71, "endOffset": 5340 } } }, { "to": { "startLine": 60, "startColumn": 4, "startOffset": 4076, "endColumn": 71, "endOffset": 4143 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 71, "startColumn": 4, "startOffset": 5345, "endColumn": 71, "endOffset": 5412 } } }, { "to": { "startLine": 61, "startColumn": 4, "startOffset": 4148, "endColumn": 72, "endOffset": 4216 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 72, "startColumn": 4, "startOffset": 5417, "endColumn": 72, "endOffset": 5485 } } }, { "to": { "startLine": 62, "startColumn": 4, "startOffset": 4221, "endColumn": 56, "endOffset": 4273 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 73, "startColumn": 4, "startOffset": 5490, "endColumn": 56, "endOffset": 5542 } } }, { "to": { "startLine": 63, "startColumn": 4, "startOffset": 4278, "endColumn": 57, "endOffset": 4331 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 74, "startColumn": 4, "startOffset": 5547, "endColumn": 57, "endOffset": 5600 } } }, { "to": { "startLine": 64, "startColumn": 4, "startOffset": 4336, "endColumn": 72, "endOffset": 4404 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 75, "startColumn": 4, "startOffset": 5605, "endColumn": 72, "endOffset": 5673 } } }, { "to": { "startLine": 65, "startColumn": 4, "startOffset": 4409, "endColumn": 73, "endOffset": 4478 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 76, "startColumn": 4, "startOffset": 5678, "endColumn": 73, "endOffset": 5747 } } }, { "to": { "startLine": 66, "startColumn": 4, "startOffset": 4483, "endColumn": 73, "endOffset": 4552 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 77, "startColumn": 4, "startOffset": 5752, "endColumn": 73, "endOffset": 5821 } } }, { "to": { "startLine": 67, "startColumn": 4, "startOffset": 4557, "endColumn": 74, "endOffset": 4627 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 78, "startColumn": 4, "startOffset": 5826, "endColumn": 74, "endOffset": 5896 } } }, { "to": { "startLine": 68, "startColumn": 4, "startOffset": 4632, "endColumn": 71, "endOffset": 4699 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 79, "startColumn": 4, "startOffset": 5901, "endColumn": 71, "endOffset": 5968 } } }, { "to": { "startLine": 69, "startColumn": 4, "startOffset": 4704, "endColumn": 72, "endOffset": 4772 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 80, "startColumn": 4, "startOffset": 5973, "endColumn": 72, "endOffset": 6041 } } }, { "to": { "startLine": 70, "startColumn": 4, "startOffset": 4777, "endColumn": 69, "endOffset": 4842 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 81, "startColumn": 4, "startOffset": 6046, "endColumn": 69, "endOffset": 6111 } } }, { "to": { "startLine": 71, "startColumn": 4, "startOffset": 4847, "endColumn": 70, "endOffset": 4913 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 82, "startColumn": 4, "startOffset": 6116, "endColumn": 70, "endOffset": 6182 } } }, { "to": { "startLine": 101, "startColumn": 4, "startOffset": 23585, "endColumn": 68, "endOffset": 23649 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 112, "startColumn": 4, "startOffset": 22125, "endColumn": 68, "endOffset": 22189 } } }, { "to": { "startLine": 102, "startColumn": 4, "startOffset": 23654, "endColumn": 69, "endOffset": 23719 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 113, "startColumn": 4, "startOffset": 22194, "endColumn": 69, "endOffset": 22259 } } }, { "to": { "startLine": 103, "startColumn": 4, "startOffset": 23724, "endColumn": 73, "endOffset": 23793 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 114, "startColumn": 4, "startOffset": 22264, "endColumn": 73, "endOffset": 22333 } } }, { "to": { "startLine": 104, "startColumn": 4, "startOffset": 23798, "endColumn": 75, "endOffset": 23869 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 115, "startColumn": 4, "startOffset": 22338, "endColumn": 75, "endOffset": 22409 } } }, { "to": { "startLine": 105, "startColumn": 4, "startOffset": 23874, "endColumn": 76, "endOffset": 23946 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 116, "startColumn": 4, "startOffset": 22414, "endColumn": 76, "endOffset": 22486 } } }, { "to": { "startLine": 106, "startColumn": 4, "startOffset": 23951, "endColumn": 75, "endOffset": 24022 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 117, "startColumn": 4, "startOffset": 22491, "endColumn": 75, "endOffset": 22562 } } }, { "to": { "startLine": 107, "startColumn": 4, "startOffset": 24027, "endColumn": 76, "endOffset": 24099 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 118, "startColumn": 4, "startOffset": 22567, "endColumn": 76, "endOffset": 22639 } } }, { "to": { "startLine": 108, "startColumn": 4, "startOffset": 24104, "endColumn": 63, "endOffset": 24163 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 121, "startColumn": 4, "startOffset": 22865, "endColumn": 63, "endOffset": 22924 } } }, { "to": { "startLine": 109, "startColumn": 4, "startOffset": 24168, "endColumn": 64, "endOffset": 24228 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 122, "startColumn": 4, "startOffset": 22929, "endColumn": 64, "endOffset": 22989 } } }, { "to": { "startLine": 110, "startColumn": 4, "startOffset": 24233, "endColumn": 68, "endOffset": 24297 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 123, "startColumn": 4, "startOffset": 22994, "endColumn": 68, "endOffset": 23058 } } }, { "to": { "startLine": 111, "startColumn": 4, "startOffset": 24302, "endColumn": 76, "endOffset": 24374 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 126, "startColumn": 4, "startOffset": 23293, "endColumn": 76, "endOffset": 23365 } } }, { "to": { "startLine": 112, "startColumn": 4, "startOffset": 24379, "endColumn": 74, "endOffset": 24449 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 127, "startColumn": 4, "startOffset": 23370, "endColumn": 74, "endOffset": 23440 } } }, { "to": { "startLine": 113, "startColumn": 4, "startOffset": 24454, "endColumn": 68, "endOffset": 24518 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 128, "startColumn": 4, "startOffset": 23445, "endColumn": 68, "endOffset": 23509 } } }, { "to": { "startLine": 114, "startColumn": 4, "startOffset": 24523, "endColumn": 67, "endOffset": 24586 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 129, "startColumn": 4, "startOffset": 23514, "endColumn": 67, "endOffset": 23577 } } }, { "to": { "startLine": 115, "startColumn": 4, "startOffset": 24591, "endColumn": 76, "endOffset": 24663 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 130, "startColumn": 4, "startOffset": 23582, "endColumn": 76, "endOffset": 23654 } } }, { "to": { "startLine": 116, "startColumn": 4, "startOffset": 24668, "endColumn": 65, "endOffset": 24729 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 133, "startColumn": 4, "startOffset": 23880, "endColumn": 65, "endOffset": 23941 } } }, { "to": { "startLine": 117, "startColumn": 4, "startOffset": 24734, "endColumn": 96, "endOffset": 24826 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 134, "startColumn": 4, "startOffset": 23946, "endColumn": 96, "endOffset": 24038 } } }, { "to": { "startLine": 118, "startColumn": 4, "startOffset": 24831, "endColumn": 64, "endOffset": 24891 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 135, "startColumn": 4, "startOffset": 24043, "endColumn": 64, "endOffset": 24103 } } }, { "to": { "startLine": 119, "startColumn": 4, "startOffset": 24896, "endColumn": 68, "endOffset": 24960 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 136, "startColumn": 4, "startOffset": 24108, "endColumn": 68, "endOffset": 24172 } } }, { "to": { "startLine": 120, "startColumn": 4, "startOffset": 24965, "endColumn": 98, "endOffset": 25059 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 137, "startColumn": 4, "startOffset": 24177, "endColumn": 98, "endOffset": 24271 } } }, { "to": { "startLine": 121, "startColumn": 4, "startOffset": 25064, "endColumn": 58, "endOffset": 25118 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 140, "startColumn": 4, "startOffset": 24497, "endColumn": 58, "endOffset": 24551 } } }, { "to": { "startLine": 122, "startColumn": 4, "startOffset": 25123, "endColumn": 57, "endOffset": 25176 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 143, "startColumn": 4, "startOffset": 24777, "endColumn": 57, "endOffset": 24830 } } }, { "to": { "startLine": 123, "startColumn": 4, "startOffset": 25181, "endColumn": 56, "endOffset": 25233 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 144, "startColumn": 4, "startOffset": 24835, "endColumn": 56, "endOffset": 24887 } } }, { "to": { "startLine": 124, "startColumn": 4, "startOffset": 25238, "endColumn": 58, "endOffset": 25292 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 145, "startColumn": 4, "startOffset": 24892, "endColumn": 58, "endOffset": 24946 } } }, { "to": { "startLine": 125, "startColumn": 4, "startOffset": 25297, "endColumn": 71, "endOffset": 25364 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 146, "startColumn": 4, "startOffset": 24951, "endColumn": 71, "endOffset": 25018 } } }, { "to": { "startLine": 126, "startColumn": 4, "startOffset": 25369, "endColumn": 67, "endOffset": 25432 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 147, "startColumn": 4, "startOffset": 25023, "endColumn": 67, "endOffset": 25086 } } }, { "to": { "startLine": 127, "startColumn": 4, "startOffset": 25437, "endColumn": 67, "endOffset": 25500 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 148, "startColumn": 4, "startOffset": 25091, "endColumn": 67, "endOffset": 25154 } } }, { "to": { "startLine": 128, "startColumn": 4, "startOffset": 25505, "endColumn": 58, "endOffset": 25559 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 149, "startColumn": 4, "startOffset": 25159, "endColumn": 58, "endOffset": 25213 } } }, { "to": { "startLine": 129, "startColumn": 4, "startOffset": 25564, "endColumn": 62, "endOffset": 25622 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 150, "startColumn": 4, "startOffset": 25218, "endColumn": 62, "endOffset": 25276 } } }, { "to": { "startLine": 130, "startColumn": 4, "startOffset": 25627, "endColumn": 89, "endOffset": 25712 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 153, "startColumn": 4, "startOffset": 25511, "endColumn": 89, "endOffset": 25596 } } }, { "to": { "startLine": 131, "startColumn": 4, "startOffset": 25717, "endColumn": 90, "endOffset": 25803 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 154, "startColumn": 4, "startOffset": 25601, "endColumn": 90, "endOffset": 25687 } } }, { "to": { "startLine": 132, "startColumn": 4, "startOffset": 25808, "endColumn": 59, "endOffset": 25863 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 157, "startColumn": 4, "startOffset": 25913, "endColumn": 59, "endOffset": 25968 } } }, { "to": { "startLine": 133, "startColumn": 4, "startOffset": 25868, "endColumn": 65, "endOffset": 25929 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 158, "startColumn": 4, "startOffset": 25973, "endColumn": 65, "endOffset": 26034 } } }, { "to": { "startLine": 134, "startColumn": 4, "startOffset": 25934, "endColumn": 66, "endOffset": 25996 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 159, "startColumn": 4, "startOffset": 26039, "endColumn": 66, "endOffset": 26101 } } }, { "to": { "startLine": 135, "startColumn": 4, "startOffset": 26001, "endColumn": 65, "endOffset": 26062 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 160, "startColumn": 4, "startOffset": 26106, "endColumn": 65, "endOffset": 26167 } } }, { "to": { "startLine": 136, "startColumn": 4, "startOffset": 26067, "endColumn": 69, "endOffset": 26132 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 161, "startColumn": 4, "startOffset": 26172, "endColumn": 69, "endOffset": 26237 } } }, { "to": { "startLine": 137, "startColumn": 4, "startOffset": 26137, "endColumn": 63, "endOffset": 26196 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 162, "startColumn": 4, "startOffset": 26242, "endColumn": 63, "endOffset": 26301 } } }, { "to": { "startLine": 138, "startColumn": 4, "startOffset": 26201, "endColumn": 52, "endOffset": 26249 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 165, "startColumn": 4, "startOffset": 26536, "endColumn": 52, "endOffset": 26584 } } }, { "to": { "startLine": 139, "startColumn": 4, "startOffset": 26254, "endColumn": 112, "endOffset": 26362 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 166, "startColumn": 4, "startOffset": 26589, "endColumn": 112, "endOffset": 26697 } } }, { "to": { "startLine": 140, "startColumn": 4, "startOffset": 26367, "endColumn": 57, "endOffset": 26420 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 169, "startColumn": 4, "startOffset": 26923, "endColumn": 57, "endOffset": 26976 } } }, { "to": { "startLine": 141, "startColumn": 4, "startOffset": 26425, "endColumn": 64, "endOffset": 26485 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 170, "startColumn": 4, "startOffset": 26981, "endColumn": 64, "endOffset": 27041 } } }, { "to": { "startLine": 142, "startColumn": 4, "startOffset": 26490, "endColumn": 63, "endOffset": 26549 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 171, "startColumn": 4, "startOffset": 27046, "endColumn": 63, "endOffset": 27105 } } }, { "to": { "startLine": 143, "startColumn": 4, "startOffset": 26554, "endColumn": 48, "endOffset": 26598 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 172, "startColumn": 4, "startOffset": 27110, "endColumn": 48, "endOffset": 27154 } } }, { "to": { "startLine": 144, "startColumn": 4, "startOffset": 26603, "endColumn": 60, "endOffset": 26659 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 175, "startColumn": 4, "startOffset": 27389, "endColumn": 60, "endOffset": 27445 } } }, { "to": { "startLine": 145, "startColumn": 4, "startOffset": 26664, "endColumn": 60, "endOffset": 26720 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 176, "startColumn": 4, "startOffset": 27450, "endColumn": 60, "endOffset": 27506 } } }, { "to": { "startLine": 146, "startColumn": 4, "startOffset": 26725, "endColumn": 60, "endOffset": 26781 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 177, "startColumn": 4, "startOffset": 27511, "endColumn": 60, "endOffset": 27567 } } }, { "to": { "startLine": 147, "startColumn": 4, "startOffset": 26786, "endColumn": 61, "endOffset": 26843 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 178, "startColumn": 4, "startOffset": 27572, "endColumn": 61, "endOffset": 27629 } } }, { "to": { "startLine": 148, "startColumn": 4, "startOffset": 26848, "endColumn": 63, "endOffset": 26907 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 179, "startColumn": 4, "startOffset": 27634, "endColumn": 63, "endOffset": 27693 } } }, { "to": { "startLine": 149, "startColumn": 4, "startOffset": 26912, "endColumn": 63, "endOffset": 26971 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 180, "startColumn": 4, "startOffset": 27698, "endColumn": 63, "endOffset": 27757 } } }, { "to": { "startLine": 150, "startColumn": 4, "startOffset": 26976, "endColumn": 63, "endOffset": 27035 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 181, "startColumn": 4, "startOffset": 27762, "endColumn": 63, "endOffset": 27821 } } }, { "to": { "startLine": 151, "startColumn": 4, "startOffset": 27040, "endColumn": 64, "endOffset": 27100 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 182, "startColumn": 4, "startOffset": 27826, "endColumn": 64, "endOffset": 27886 } } }, { "to": { "startLine": 152, "startColumn": 4, "startOffset": 27105, "endColumn": 62, "endOffset": 27163 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 183, "startColumn": 4, "startOffset": 27891, "endColumn": 62, "endOffset": 27949 } } }, { "to": { "startLine": 153, "startColumn": 4, "startOffset": 27168, "endColumn": 59, "endOffset": 27223 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 184, "startColumn": 4, "startOffset": 27954, "endColumn": 59, "endOffset": 28009 } } }, { "to": { "startLine": 154, "startColumn": 4, "startOffset": 27228, "endColumn": 60, "endOffset": 27284 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 185, "startColumn": 4, "startOffset": 28014, "endColumn": 60, "endOffset": 28070 } } }, { "to": { "startLine": 155, "startColumn": 4, "startOffset": 27289, "endColumn": 58, "endOffset": 27343 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 186, "startColumn": 4, "startOffset": 28075, "endColumn": 58, "endOffset": 28129 } } }, { "to": { "startLine": 156, "startColumn": 4, "startOffset": 27348, "endColumn": 59, "endOffset": 27403 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 187, "startColumn": 4, "startOffset": 28134, "endColumn": 59, "endOffset": 28189 } } }, { "to": { "startLine": 157, "startColumn": 4, "startOffset": 27408, "endColumn": 61, "endOffset": 27465 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 188, "startColumn": 4, "startOffset": 28194, "endColumn": 61, "endOffset": 28251 } } }, { "to": { "startLine": 158, "startColumn": 4, "startOffset": 27470, "endColumn": 70, "endOffset": 27536 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 189, "startColumn": 4, "startOffset": 28256, "endColumn": 70, "endOffset": 28322 } } }, { "to": { "startLine": 159, "startColumn": 4, "startOffset": 27541, "endColumn": 59, "endOffset": 27596 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 190, "startColumn": 4, "startOffset": 28327, "endColumn": 59, "endOffset": 28382 } } }, { "to": { "startLine": 160, "startColumn": 4, "startOffset": 27601, "endColumn": 67, "endOffset": 27664 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 191, "startColumn": 4, "startOffset": 28387, "endColumn": 67, "endOffset": 28450 } } }, { "to": { "startLine": 161, "startColumn": 4, "startOffset": 27669, "endColumn": 66, "endOffset": 27731 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 194, "startColumn": 4, "startOffset": 28676, "endColumn": 66, "endOffset": 28738 } } }, { "to": { "startLine": 162, "startColumn": 4, "startOffset": 27736, "endColumn": 67, "endOffset": 27799 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 195, "startColumn": 4, "startOffset": 28743, "endColumn": 67, "endOffset": 28806 } } }, { "to": { "startLine": 163, "startColumn": 4, "startOffset": 27804, "endColumn": 67, "endOffset": 27867 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 196, "startColumn": 4, "startOffset": 28811, "endColumn": 67, "endOffset": 28874 } } }, { "to": { "startLine": 164, "startColumn": 4, "startOffset": 27872, "endColumn": 67, "endOffset": 27935 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 197, "startColumn": 4, "startOffset": 28879, "endColumn": 67, "endOffset": 28942 } } }, { "to": { "startLine": 165, "startColumn": 4, "startOffset": 27940, "endColumn": 85, "endOffset": 28021 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 200, "startColumn": 4, "startOffset": 29177, "endColumn": 85, "endOffset": 29258 } } }, { "to": { "startLine": 166, "startColumn": 4, "startOffset": 28026, "endColumn": 86, "endOffset": 28108 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 201, "startColumn": 4, "startOffset": 29263, "endColumn": 86, "endOffset": 29345 } } }, { "to": { "startLine": 167, "startColumn": 4, "startOffset": 28113, "endColumn": 89, "endOffset": 28198 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 202, "startColumn": 4, "startOffset": 29350, "endColumn": 89, "endOffset": 29435 } } }, { "to": { "startLine": 168, "startColumn": 4, "startOffset": 28203, "endColumn": 86, "endOffset": 28285 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 203, "startColumn": 4, "startOffset": 29440, "endColumn": 86, "endOffset": 29522 } } }, { "to": { "startLine": 169, "startColumn": 4, "startOffset": 28290, "endColumn": 87, "endOffset": 28373 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 204, "startColumn": 4, "startOffset": 29527, "endColumn": 87, "endOffset": 29610 } } }, { "to": { "startLine": 170, "startColumn": 4, "startOffset": 28378, "endColumn": 74, "endOffset": 28448 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/23.0.1/res/values/values.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 551, "endColumn": 74, "endOffset": 621 } } }, { "to": { "startLine": 171, "startColumn": 4, "startOffset": 28453, "endColumn": 61, "endOffset": 28510 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 207, "startColumn": 4, "startOffset": 29836, "endColumn": 61, "endOffset": 29893 } } }, { "to": { "startLine": 172, "startColumn": 4, "startOffset": 28515, "endColumn": 60, "endOffset": 28571 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 208, "startColumn": 4, "startOffset": 29898, "endColumn": 60, "endOffset": 29954 } } }, { "to": { "startLine": 173, "startColumn": 4, "startOffset": 28576, "endColumn": 56, "endOffset": 28628 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 209, "startColumn": 4, "startOffset": 29959, "endColumn": 56, "endOffset": 30011 } } }, { "to": { "startLine": 174, "startColumn": 4, "startOffset": 28633, "endColumn": 71, "endOffset": 28700 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 212, "startColumn": 4, "startOffset": 30237, "endColumn": 71, "endOffset": 30304 } } }, { "to": { "startLine": 175, "startColumn": 4, "startOffset": 28705, "endColumn": 56, "endOffset": 28757 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 215, "startColumn": 4, "startOffset": 30527, "endColumn": 56, "endOffset": 30579 } } }, { "to": { "startLine": 176, "startColumn": 4, "startOffset": 28762, "endColumn": 47, "endOffset": 28805 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 216, "startColumn": 4, "startOffset": 30584, "endColumn": 47, "endOffset": 30627 } } }, { "to": { "startLine": 177, "startColumn": 4, "startOffset": 28810, "endColumn": 48, "endOffset": 28854 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 217, "startColumn": 4, "startOffset": 30632, "endColumn": 48, "endOffset": 30676 } } }, { "to": { "startLine": 178, "startColumn": 4, "startOffset": 28859, "endColumn": 50, "endOffset": 28905 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 218, "startColumn": 4, "startOffset": 30681, "endColumn": 50, "endOffset": 30727 } } }, { "to": { "startLine": 179, "startColumn": 4, "startOffset": 28910, "endColumn": 33, "endOffset": 28939 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 219, "startColumn": 4, "startOffset": 30732, "endColumn": 33, "endOffset": 30761 } } }, { "to": { "startLine": 180, "startColumn": 4, "startOffset": 28944, "endColumn": 65, "endOffset": 29005 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/23.0.1/res/values/values.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 847, "endColumn": 65, "endOffset": 908 } } }, { "to": { "startLine": 181, "startColumn": 4, "startOffset": 29010, "endColumn": 46, "endOffset": 29052 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 220, "startColumn": 4, "startOffset": 30766, "endColumn": 46, "endOffset": 30808 } } }, { "to": { "startLine": 182, "startColumn": 4, "startOffset": 29057, "endColumn": 48, "endOffset": 29101 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 221, "startColumn": 4, "startOffset": 30813, "endColumn": 48, "endOffset": 30857 } } }, { "to": { "startLine": 183, "startColumn": 4, "startOffset": 29106, "endColumn": 45, "endOffset": 29147 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 222, "startColumn": 4, "startOffset": 30862, "endColumn": 45, "endOffset": 30903 } } }, { "to": { "startLine": 184, "startColumn": 4, "startOffset": 29152, "endColumn": 31, "endOffset": 29179 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 223, "startColumn": 4, "startOffset": 30908, "endColumn": 31, "endOffset": 30935 } } }, { "to": { "startLine": 185, "startColumn": 4, "startOffset": 29184, "endColumn": 63, "endOffset": 29243 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 226, "startColumn": 4, "startOffset": 31161, "endColumn": 63, "endOffset": 31220 } } }, { "to": { "startLine": 186, "startColumn": 4, "startOffset": 29248, "endColumn": 61, "endOffset": 29305 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 227, "startColumn": 4, "startOffset": 31225, "endColumn": 61, "endOffset": 31282 } } }, { "to": { "startLine": 187, "startColumn": 4, "startOffset": 29310, "endColumn": 54, "endOffset": 29360 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 230, "startColumn": 4, "startOffset": 31508, "endColumn": 54, "endOffset": 31558 } } }, { "to": { "startLine": 188, "startColumn": 4, "startOffset": 29365, "endColumn": 59, "endOffset": 29420 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 233, "startColumn": 4, "startOffset": 31784, "endColumn": 59, "endOffset": 31839 } } }, { "to": { "startLine": 189, "startColumn": 4, "startOffset": 29425, "endColumn": 69, "endOffset": 29490 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 234, "startColumn": 4, "startOffset": 31844, "endColumn": 69, "endOffset": 31909 } } }, { "to": { "startLine": 190, "startColumn": 4, "startOffset": 29495, "endColumn": 73, "endOffset": 29564 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 237, "startColumn": 4, "startOffset": 32136, "endColumn": 73, "endOffset": 32205 } } }, { "to": { "startLine": 191, "startColumn": 4, "startOffset": 29569, "endColumn": 77, "endOffset": 29642 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 238, "startColumn": 4, "startOffset": 32210, "endColumn": 77, "endOffset": 32283 } } }, { "to": { "startLine": 192, "startColumn": 4, "startOffset": 29647, "endColumn": 92, "endOffset": 29735 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 239, "startColumn": 4, "startOffset": 32288, "endColumn": 92, "endOffset": 32376 } } }, { "to": { "startLine": 193, "startColumn": 4, "startOffset": 29740, "endColumn": 69, "endOffset": 29805 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 240, "startColumn": 4, "startOffset": 32381, "endColumn": 69, "endOffset": 32446 } } }, { "to": { "startLine": 194, "startColumn": 4, "startOffset": 29810, "endColumn": 77, "endOffset": 29883 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 241, "startColumn": 4, "startOffset": 32451, "endColumn": 77, "endOffset": 32524 } } }, { "to": { "startLine": 195, "startColumn": 4, "startOffset": 29888, "endColumn": 53, "endOffset": 29937 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 242, "startColumn": 4, "startOffset": 32529, "endColumn": 53, "endOffset": 32578 } } }, { "to": { "startLine": 196, "startColumn": 4, "startOffset": 29942, "endColumn": 69, "endOffset": 30007 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 243, "startColumn": 4, "startOffset": 32583, "endColumn": 69, "endOffset": 32648 } } }, { "to": { "startLine": 197, "startColumn": 4, "startOffset": 30012, "endColumn": 84, "endOffset": 30092 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 244, "startColumn": 4, "startOffset": 32653, "endColumn": 84, "endOffset": 32733 } } }, { "to": { "startLine": 198, "startColumn": 4, "startOffset": 30097, "endColumn": 51, "endOffset": 30144 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 245, "startColumn": 4, "startOffset": 32738, "endColumn": 51, "endOffset": 32785 } } }, { "to": { "startLine": 199, "startColumn": 4, "startOffset": 30149, "endColumn": 72, "endOffset": 30217 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 246, "startColumn": 4, "startOffset": 32790, "endColumn": 72, "endOffset": 32858 } } }, { "to": { "startLine": 200, "startColumn": 4, "startOffset": 30222, "endColumn": 73, "endOffset": 30291 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 247, "startColumn": 4, "startOffset": 32863, "endColumn": 73, "endOffset": 32932 } } }, { "to": { "startLine": 201, "startColumn": 4, "startOffset": 30296, "endColumn": 68, "endOffset": 30360 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 248, "startColumn": 4, "startOffset": 32937, "endColumn": 68, "endOffset": 33001 } } }, { "to": { "startLine": 202, "startColumn": 4, "startOffset": 30365, "endColumn": 74, "endOffset": 30435 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 249, "startColumn": 4, "startOffset": 33006, "endColumn": 74, "endOffset": 33076 } } }, { "to": { "startLine": 203, "startColumn": 4, "startOffset": 30440, "endColumn": 73, "endOffset": 30509 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 250, "startColumn": 4, "startOffset": 33081, "endColumn": 73, "endOffset": 33150 } } }, { "to": { "startLine": 204, "startColumn": 4, "startOffset": 30514, "endColumn": 73, "endOffset": 30583 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 251, "startColumn": 4, "startOffset": 33155, "endColumn": 73, "endOffset": 33224 } } }, { "to": { "startLine": 205, "startColumn": 4, "startOffset": 30588, "endColumn": 88, "endOffset": 30672 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 252, "startColumn": 4, "startOffset": 33229, "endColumn": 88, "endOffset": 33313 } } }, { "to": { "startLine": 206, "startColumn": 4, "startOffset": 30677, "endColumn": 69, "endOffset": 30742 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 253, "startColumn": 4, "startOffset": 33318, "endColumn": 69, "endOffset": 33383 } } }, { "to": { "startLine": 207, "startColumn": 4, "startOffset": 30747, "endColumn": 44, "endOffset": 30787 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/src/main/res/values/strings.xml", "position": { "startLine": 1, "startColumn": 4, "startOffset": 16, "endColumn": 44, "endOffset": 56 } } }, { "to": { "startLine": 208, "startColumn": 4, "startOffset": 30792, "endColumn": 102, "endOffset": 30890 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 118, "endColumn": 102, "endOffset": 216 } } }, { "to": { "startLine": 209, "startColumn": 4, "startOffset": 30895, "endColumn": 115, "endOffset": 31006 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 4, "startColumn": 4, "startOffset": 221, "endColumn": 115, "endOffset": 332 } } }, { "to": { "startLine": 210, "startColumn": 4, "startOffset": 31011, "endColumn": 109, "endOffset": 31116 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 5, "startColumn": 4, "startOffset": 337, "endColumn": 109, "endOffset": 442 } } }, { "to": { "startLine": 211, "startColumn": 4, "startOffset": 31121, "endColumn": 113, "endOffset": 31230 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 6, "startColumn": 4, "startOffset": 447, "endColumn": 113, "endOffset": 556 } } }, { "to": { "startLine": 212, "startColumn": 4, "startOffset": 31235, "endColumn": 120, "endOffset": 31351 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 7, "startColumn": 4, "startOffset": 561, "endColumn": 120, "endOffset": 677 } } }, { "to": { "startLine": 213, "startColumn": 4, "startOffset": 31356, "endColumn": 125, "endOffset": 31477 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 8, "startColumn": 4, "startOffset": 682, "endColumn": 125, "endOffset": 803 } } }, { "to": { "startLine": 214, "startColumn": 4, "startOffset": 31482, "endColumn": 190, "endOffset": 31668 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 9, "startColumn": 4, "startOffset": 808, "endColumn": 190, "endOffset": 994 } } }, { "to": { "startLine": 215, "startColumn": 4, "startOffset": 31673, "endColumn": 110, "endOffset": 31779 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 10, "startColumn": 4, "startOffset": 999, "endColumn": 110, "endOffset": 1105 } } }, { "to": { "startLine": 216, "startColumn": 4, "startOffset": 31784, "endColumn": 102, "endOffset": 31882 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 11, "startColumn": 4, "startOffset": 1110, "endColumn": 102, "endOffset": 1208 } } }, { "to": { "startLine": 217, "startColumn": 4, "startOffset": 31887, "endColumn": 107, "endOffset": 31990 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 12, "startColumn": 4, "startOffset": 1213, "endColumn": 107, "endOffset": 1316 } } }, { "to": { "startLine": 218, "startColumn": 4, "startOffset": 31995, "endColumn": 112, "endOffset": 32103 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 13, "startColumn": 4, "startOffset": 1321, "endColumn": 112, "endOffset": 1429 } } }, { "to": { "startLine": 219, "startColumn": 4, "startOffset": 32108, "endColumn": 109, "endOffset": 32213 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 14, "startColumn": 4, "startOffset": 1434, "endColumn": 109, "endOffset": 1539 } } }, { "to": { "startLine": 220, "startColumn": 4, "startOffset": 32218, "endColumn": 114, "endOffset": 32328 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 15, "startColumn": 4, "startOffset": 1544, "endColumn": 114, "endOffset": 1654 } } }, { "to": { "startLine": 221, "startColumn": 4, "startOffset": 32333, "endColumn": 95, "endOffset": 32424 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 16, "startColumn": 4, "startOffset": 1659, "endColumn": 95, "endOffset": 1750 } } }, { "to": { "startLine": 222, "startColumn": 4, "startOffset": 32429, "endColumn": 131, "endOffset": 32556 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 17, "startColumn": 4, "startOffset": 1755, "endColumn": 131, "endOffset": 1882 } } }, { "to": { "startLine": 223, "startColumn": 4, "startOffset": 32561, "endColumn": 124, "endOffset": 32681 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 18, "startColumn": 4, "startOffset": 1887, "endColumn": 124, "endOffset": 2007 } } }, { "to": { "startLine": 224, "startColumn": 4, "startOffset": 32686, "endColumn": 98, "endOffset": 32780 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 19, "startColumn": 4, "startOffset": 2012, "endColumn": 98, "endOffset": 2106 } } }, { "to": { "startLine": 225, "startColumn": 4, "startOffset": 32785, "endColumn": 113, "endOffset": 32894 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 20, "startColumn": 4, "startOffset": 2111, "endColumn": 113, "endOffset": 2220 } } }, { "to": { "startLine": 226, "startColumn": 4, "startOffset": 32899, "endColumn": 104, "endOffset": 32999 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 21, "startColumn": 4, "startOffset": 2225, "endColumn": 104, "endOffset": 2325 } } }, { "to": { "startLine": 227, "startColumn": 4, "startOffset": 33004, "endColumn": 102, "endOffset": 33102 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 22, "startColumn": 4, "startOffset": 2330, "endColumn": 102, "endOffset": 2428 } } }, { "to": { "startLine": 228, "startColumn": 4, "startOffset": 33107, "endColumn": 70, "endOffset": 33173 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 254, "startColumn": 4, "startOffset": 33388, "endColumn": 70, "endOffset": 33454 } } }, { "to": { "startLine": 229, "startColumn": 4, "startOffset": 33178, "endColumn": 77, "endOffset": 33251 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 257, "startColumn": 4, "startOffset": 33680, "endColumn": 77, "endOffset": 33753 } } }, { "to": { "startLine": 230, "startColumn": 4, "startOffset": 33256, "endColumn": 89, "endOffset": 33341 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 258, "startColumn": 4, "startOffset": 33758, "endColumn": 89, "endOffset": 33843 } } }, { "to": { "startLine": 231, "startColumn": 4, "startOffset": 33346, "endColumn": 87, "endOffset": 33429 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 259, "startColumn": 4, "startOffset": 33848, "endColumn": 87, "endOffset": 33931 } } }, { "to": { "startLine": 232, "startColumn": 4, "startOffset": 33434, "endColumn": 95, "endOffset": 33525 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 260, "startColumn": 4, "startOffset": 33936, "endColumn": 95, "endOffset": 34027 } } }, { "to": { "startLine": 233, "startColumn": 4, "startOffset": 33530, "endLine": 236, "endColumn": 10, "endOffset": 33773 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 23, "startColumn": 4, "startOffset": 2433, "endLine": 26, "endColumn": 10, "endOffset": 2676 } } }, { "to": { "startLine": 237, "startColumn": 4, "startOffset": 33778, "endLine": 239, "endColumn": 12, "endOffset": 33901 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/src/main/res/values/styles.xml", "position": { "startLine": 3, "startColumn": 4, "startOffset": 54, "endLine": 5, "endColumn": 12, "endOffset": 177 } } }, { "to": { "startLine": 240, "startColumn": 4, "startOffset": 33906, "endLine": 246, "endColumn": 12, "endOffset": 34402 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 263, "startColumn": 4, "startOffset": 34258, "endLine": 269, "endColumn": 12, "endOffset": 34754 } } }, { "to": { "startLine": 247, "startColumn": 4, "startOffset": 34407, "endColumn": 88, "endOffset": 34491 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 270, "startColumn": 4, "startOffset": 34759, "endColumn": 88, "endOffset": 34843 } } }, { "to": { "startLine": 248, "startColumn": 4, "startOffset": 34496, "endLine": 251, "endColumn": 12, "endOffset": 34738 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 271, "startColumn": 4, "startOffset": 34848, "endLine": 274, "endColumn": 12, "endOffset": 35090 } } }, { "to": { "startLine": 252, "startColumn": 4, "startOffset": 34743, "endLine": 255, "endColumn": 12, "endOffset": 35019 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 275, "startColumn": 4, "startOffset": 35095, "endLine": 278, "endColumn": 12, "endOffset": 35371 } } }, { "to": { "startLine": 256, "startColumn": 4, "startOffset": 35024, "endLine": 260, "endColumn": 12, "endOffset": 35304 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 279, "startColumn": 4, "startOffset": 35376, "endLine": 283, "endColumn": 12, "endOffset": 35656 } } }, { "to": { "startLine": 261, "startColumn": 4, "startOffset": 35309, "endLine": 266, "endColumn": 12, "endOffset": 35697 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 284, "startColumn": 4, "startOffset": 35661, "endLine": 289, "endColumn": 12, "endOffset": 36049 } } }, { "to": { "startLine": 267, "startColumn": 4, "startOffset": 35702, "endLine": 273, "endColumn": 12, "endOffset": 36174 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 292, "startColumn": 4, "startOffset": 36285, "endLine": 298, "endColumn": 12, "endOffset": 36757 } } }, { "to": { "startLine": 274, "startColumn": 4, "startOffset": 36179, "endLine": 277, "endColumn": 12, "endOffset": 36396 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 299, "startColumn": 4, "startOffset": 36762, "endLine": 302, "endColumn": 12, "endOffset": 36979 } } }, { "to": { "startLine": 278, "startColumn": 4, "startOffset": 36401, "endLine": 281, "endColumn": 12, "endOffset": 36618 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 303, "startColumn": 4, "startOffset": 36984, "endLine": 306, "endColumn": 12, "endOffset": 37201 } } }, { "to": { "startLine": 282, "startColumn": 4, "startOffset": 36623, "endLine": 286, "endColumn": 12, "endOffset": 36886 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 307, "startColumn": 4, "startOffset": 37206, "endLine": 311, "endColumn": 12, "endOffset": 37469 } } }, { "to": { "startLine": 287, "startColumn": 4, "startOffset": 36891, "endLine": 290, "endColumn": 12, "endOffset": 37113 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 312, "startColumn": 4, "startOffset": 37474, "endLine": 315, "endColumn": 12, "endOffset": 37696 } } }, { "to": { "startLine": 291, "startColumn": 4, "startOffset": 37118, "endLine": 294, "endColumn": 12, "endOffset": 37343 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 316, "startColumn": 4, "startOffset": 37701, "endLine": 319, "endColumn": 12, "endOffset": 37926 } } }, { "to": { "startLine": 295, "startColumn": 4, "startOffset": 37348, "endLine": 298, "endColumn": 12, "endOffset": 37573 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 320, "startColumn": 4, "startOffset": 37931, "endLine": 323, "endColumn": 12, "endOffset": 38156 } } }, { "to": { "startLine": 299, "startColumn": 4, "startOffset": 37578, "endLine": 302, "endColumn": 12, "endOffset": 37803 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 324, "startColumn": 4, "startOffset": 38161, "endLine": 327, "endColumn": 12, "endOffset": 38386 } } }, { "to": { "startLine": 303, "startColumn": 4, "startOffset": 37808, "endLine": 306, "endColumn": 12, "endOffset": 38033 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 328, "startColumn": 4, "startOffset": 38391, "endLine": 331, "endColumn": 12, "endOffset": 38616 } } }, { "to": { "startLine": 307, "startColumn": 4, "startOffset": 38038, "endLine": 310, "endColumn": 12, "endOffset": 38260 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 332, "startColumn": 4, "startOffset": 38621, "endLine": 335, "endColumn": 12, "endOffset": 38843 } } }, { "to": { "startLine": 311, "startColumn": 4, "startOffset": 38265, "endLine": 314, "endColumn": 12, "endOffset": 38499 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 336, "startColumn": 4, "startOffset": 38848, "endLine": 339, "endColumn": 12, "endOffset": 39082 } } }, { "to": { "startLine": 315, "startColumn": 4, "startOffset": 38504, "endLine": 318, "endColumn": 12, "endOffset": 38725 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 340, "startColumn": 4, "startOffset": 39087, "endLine": 343, "endColumn": 12, "endOffset": 39308 } } }, { "to": { "startLine": 319, "startColumn": 4, "startOffset": 38730, "endLine": 322, "endColumn": 12, "endOffset": 38970 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 344, "startColumn": 4, "startOffset": 39313, "endLine": 347, "endColumn": 12, "endOffset": 39553 } } }, { "to": { "startLine": 323, "startColumn": 4, "startOffset": 38975, "endLine": 324, "endColumn": 12, "endOffset": 39100 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 350, "startColumn": 4, "startOffset": 39784, "endLine": 351, "endColumn": 12, "endOffset": 39909 } } }, { "to": { "startLine": 325, "startColumn": 4, "startOffset": 39105, "endLine": 326, "endColumn": 12, "endOffset": 39230 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 352, "startColumn": 4, "startOffset": 39914, "endLine": 353, "endColumn": 12, "endOffset": 40039 } } }, { "to": { "startLine": 327, "startColumn": 4, "startOffset": 39235, "endLine": 330, "endColumn": 12, "endOffset": 39460 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 356, "startColumn": 4, "startOffset": 40275, "endLine": 359, "endColumn": 12, "endOffset": 40500 } } }, { "to": { "startLine": 331, "startColumn": 4, "startOffset": 39465, "endLine": 334, "endColumn": 12, "endOffset": 39708 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 360, "startColumn": 4, "startOffset": 40505, "endLine": 363, "endColumn": 12, "endOffset": 40748 } } }, { "to": { "startLine": 335, "startColumn": 4, "startOffset": 39713, "endLine": 338, "endColumn": 12, "endOffset": 39927 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 364, "startColumn": 4, "startOffset": 40753, "endLine": 367, "endColumn": 12, "endOffset": 40967 } } }, { "to": { "startLine": 339, "startColumn": 4, "startOffset": 39932, "endLine": 343, "endColumn": 12, "endOffset": 40210 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 370, "startColumn": 4, "startOffset": 41198, "endLine": 374, "endColumn": 12, "endOffset": 41476 } } }, { "to": { "startLine": 344, "startColumn": 4, "startOffset": 40215, "endLine": 347, "endColumn": 12, "endOffset": 40418 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 375, "startColumn": 4, "startOffset": 41481, "endLine": 378, "endColumn": 12, "endOffset": 41684 } } }, { "to": { "startLine": 348, "startColumn": 4, "startOffset": 40423, "endLine": 350, "endColumn": 12, "endOffset": 40549 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 379, "startColumn": 4, "startOffset": 41689, "endLine": 381, "endColumn": 12, "endOffset": 41815 } } }, { "to": { "startLine": 351, "startColumn": 4, "startOffset": 40554, "endLine": 354, "endColumn": 12, "endOffset": 40776 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 384, "startColumn": 4, "startOffset": 42051, "endLine": 387, "endColumn": 12, "endOffset": 42273 } } }, { "to": { "startLine": 355, "startColumn": 4, "startOffset": 40781, "endLine": 358, "endColumn": 12, "endOffset": 41022 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 388, "startColumn": 4, "startOffset": 42278, "endLine": 391, "endColumn": 12, "endOffset": 42519 } } }, { "to": { "startLine": 359, "startColumn": 4, "startOffset": 41027, "endLine": 362, "endColumn": 12, "endOffset": 41247 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 392, "startColumn": 4, "startOffset": 42524, "endLine": 395, "endColumn": 12, "endOffset": 42744 } } }, { "to": { "startLine": 363, "startColumn": 4, "startOffset": 41252, "endLine": 366, "endColumn": 12, "endOffset": 41494 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 396, "startColumn": 4, "startOffset": 42749, "endLine": 399, "endColumn": 12, "endOffset": 42991 } } }, { "to": { "startLine": 367, "startColumn": 4, "startOffset": 41499, "endLine": 370, "endColumn": 12, "endOffset": 41715 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 400, "startColumn": 4, "startOffset": 42996, "endLine": 403, "endColumn": 12, "endOffset": 43212 } } }, { "to": { "startLine": 371, "startColumn": 4, "startOffset": 41720, "endLine": 374, "endColumn": 12, "endOffset": 41960 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 404, "startColumn": 4, "startOffset": 43217, "endLine": 407, "endColumn": 12, "endOffset": 43457 } } }, { "to": { "startLine": 375, "startColumn": 4, "startOffset": 41965, "endLine": 378, "endColumn": 12, "endOffset": 42234 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 410, "startColumn": 4, "startOffset": 43688, "endLine": 413, "endColumn": 12, "endOffset": 43957 } } }, { "to": { "startLine": 379, "startColumn": 4, "startOffset": 42239, "endLine": 382, "endColumn": 12, "endOffset": 42535 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 414, "startColumn": 4, "startOffset": 43962, "endLine": 417, "endColumn": 12, "endOffset": 44258 } } }, { "to": { "startLine": 383, "startColumn": 4, "startOffset": 42540, "endLine": 386, "endColumn": 12, "endOffset": 42859 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 418, "startColumn": 4, "startOffset": 44263, "endLine": 421, "endColumn": 12, "endOffset": 44582 } } }, { "to": { "startLine": 387, "startColumn": 4, "startOffset": 42864, "endLine": 390, "endColumn": 12, "endOffset": 43150 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 422, "startColumn": 4, "startOffset": 44587, "endLine": 425, "endColumn": 12, "endOffset": 44873 } } }, { "to": { "startLine": 391, "startColumn": 4, "startOffset": 43155, "endLine": 394, "endColumn": 12, "endOffset": 43464 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 426, "startColumn": 4, "startOffset": 44878, "endLine": 429, "endColumn": 12, "endOffset": 45187 } } }, { "to": { "startLine": 395, "startColumn": 4, "startOffset": 43469, "endColumn": 136, "endOffset": 43601 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 430, "startColumn": 4, "startOffset": 45192, "endColumn": 136, "endOffset": 45324 } } }, { "to": { "startLine": 396, "startColumn": 4, "startOffset": 43606, "endColumn": 130, "endOffset": 43732 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 431, "startColumn": 4, "startOffset": 45329, "endColumn": 130, "endOffset": 45455 } } }, { "to": { "startLine": 397, "startColumn": 4, "startOffset": 43737, "endColumn": 104, "endOffset": 43837 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 434, "startColumn": 4, "startOffset": 45691, "endColumn": 104, "endOffset": 45791 } } }, { "to": { "startLine": 398, "startColumn": 4, "startOffset": 43842, "endLine": 400, "endColumn": 12, "endOffset": 44041 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 435, "startColumn": 4, "startOffset": 45796, "endLine": 437, "endColumn": 12, "endOffset": 45995 } } }, { "to": { "startLine": 401, "startColumn": 4, "startOffset": 44046, "endLine": 403, "endColumn": 12, "endOffset": 44249 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 440, "startColumn": 4, "startOffset": 46226, "endLine": 442, "endColumn": 12, "endOffset": 46429 } } }, { "to": { "startLine": 404, "startColumn": 4, "startOffset": 44254, "endLine": 405, "endColumn": 12, "endOffset": 44373 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 443, "startColumn": 4, "startOffset": 46434, "endLine": 444, "endColumn": 12, "endOffset": 46553 } } }, { "to": { "startLine": 406, "startColumn": 4, "startOffset": 44378, "endLine": 407, "endColumn": 12, "endOffset": 44497 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 445, "startColumn": 4, "startOffset": 46558, "endLine": 446, "endColumn": 12, "endOffset": 46677 } } }, { "to": { "startLine": 408, "startColumn": 4, "startOffset": 44502, "endColumn": 104, "endOffset": 44602 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 447, "startColumn": 4, "startOffset": 46682, "endColumn": 104, "endOffset": 46782 } } }, { "to": { "startLine": 409, "startColumn": 4, "startOffset": 44607, "endColumn": 116, "endOffset": 44719 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 448, "startColumn": 4, "startOffset": 46787, "endColumn": 116, "endOffset": 46899 } } }, { "to": { "startLine": 410, "startColumn": 4, "startOffset": 44724, "endLine": 412, "endColumn": 12, "endOffset": 44933 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 449, "startColumn": 4, "startOffset": 46904, "endLine": 451, "endColumn": 12, "endOffset": 47113 } } }, { "to": { "startLine": 413, "startColumn": 4, "startOffset": 44938, "endLine": 414, "endColumn": 12, "endOffset": 45079 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 452, "startColumn": 4, "startOffset": 47118, "endLine": 453, "endColumn": 12, "endOffset": 47259 } } }, { "to": { "startLine": 415, "startColumn": 4, "startOffset": 45084, "endLine": 416, "endColumn": 12, "endOffset": 45219 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 454, "startColumn": 4, "startOffset": 47264, "endLine": 455, "endColumn": 12, "endOffset": 47399 } } }, { "to": { "startLine": 417, "startColumn": 4, "startOffset": 45224, "endLine": 418, "endColumn": 12, "endOffset": 45305 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 458, "startColumn": 4, "startOffset": 47630, "endLine": 459, "endColumn": 12, "endOffset": 47711 } } }, { "to": { "startLine": 419, "startColumn": 4, "startOffset": 45310, "endLine": 423, "endColumn": 12, "endOffset": 45653 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 460, "startColumn": 4, "startOffset": 47716, "endLine": 464, "endColumn": 12, "endOffset": 48059 } } }, { "to": { "startLine": 424, "startColumn": 4, "startOffset": 45658, "endColumn": 87, "endOffset": 45741 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 465, "startColumn": 4, "startOffset": 48064, "endColumn": 87, "endOffset": 48147 } } }, { "to": { "startLine": 425, "startColumn": 4, "startOffset": 45746, "endLine": 428, "endColumn": 12, "endOffset": 45971 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 466, "startColumn": 4, "startOffset": 48152, "endLine": 469, "endColumn": 12, "endOffset": 48377 } } }, { "to": { "startLine": 429, "startColumn": 4, "startOffset": 45976, "endLine": 434, "endColumn": 12, "endOffset": 46373 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 470, "startColumn": 4, "startOffset": 48382, "endLine": 475, "endColumn": 12, "endOffset": 48779 } } }, { "to": { "startLine": 435, "startColumn": 4, "startOffset": 46378, "endLine": 438, "endColumn": 12, "endOffset": 46606 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 476, "startColumn": 4, "startOffset": 48784, "endLine": 479, "endColumn": 12, "endOffset": 49012 } } }, { "to": { "startLine": 439, "startColumn": 4, "startOffset": 46611, "endColumn": 81, "endOffset": 46688 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 480, "startColumn": 4, "startOffset": 49017, "endColumn": 81, "endOffset": 49094 } } }, { "to": { "startLine": 440, "startColumn": 4, "startOffset": 46693, "endLine": 441, "endColumn": 12, "endOffset": 46786 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 481, "startColumn": 4, "startOffset": 49099, "endLine": 482, "endColumn": 12, "endOffset": 49192 } } }, { "to": { "startLine": 442, "startColumn": 4, "startOffset": 46791, "endLine": 452, "endColumn": 12, "endOffset": 47403 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 483, "startColumn": 4, "startOffset": 49197, "endLine": 493, "endColumn": 12, "endOffset": 49809 } } }, { "to": { "startLine": 453, "startColumn": 4, "startOffset": 47408, "endColumn": 99, "endOffset": 47503 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 494, "startColumn": 4, "startOffset": 49814, "endColumn": 99, "endOffset": 49909 } } }, { "to": { "startLine": 454, "startColumn": 4, "startOffset": 47508, "endLine": 457, "endColumn": 12, "endOffset": 47739 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 495, "startColumn": 4, "startOffset": 49914, "endLine": 498, "endColumn": 12, "endOffset": 50145 } } }, { "to": { "startLine": 458, "startColumn": 4, "startOffset": 47744, "endLine": 463, "endColumn": 12, "endOffset": 48147 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 499, "startColumn": 4, "startOffset": 50150, "endLine": 504, "endColumn": 12, "endOffset": 50553 } } }, { "to": { "startLine": 464, "startColumn": 4, "startOffset": 48152, "endLine": 467, "endColumn": 12, "endOffset": 48386 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 505, "startColumn": 4, "startOffset": 50558, "endLine": 508, "endColumn": 12, "endOffset": 50792 } } }, { "to": { "startLine": 468, "startColumn": 4, "startOffset": 48391, "endColumn": 93, "endOffset": 48480 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 509, "startColumn": 4, "startOffset": 50797, "endColumn": 93, "endOffset": 50886 } } }, { "to": { "startLine": 469, "startColumn": 4, "startOffset": 48485, "endColumn": 88, "endOffset": 48569 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 510, "startColumn": 4, "startOffset": 50891, "endColumn": 88, "endOffset": 50975 } } }, { "to": { "startLine": 470, "startColumn": 4, "startOffset": 48574, "endLine": 473, "endColumn": 12, "endOffset": 48806 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 511, "startColumn": 4, "startOffset": 50980, "endLine": 514, "endColumn": 12, "endOffset": 51212 } } }, { "to": { "startLine": 474, "startColumn": 4, "startOffset": 48811, "endLine": 499, "endColumn": 12, "endOffset": 50757 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 515, "startColumn": 4, "startOffset": 51217, "endLine": 540, "endColumn": 12, "endOffset": 53163 } } }, { "to": { "startLine": 500, "startColumn": 4, "startOffset": 50762, "endLine": 503, "endColumn": 12, "endOffset": 50999 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 541, "startColumn": 4, "startOffset": 53168, "endLine": 544, "endColumn": 12, "endOffset": 53405 } } }, { "to": { "startLine": 504, "startColumn": 4, "startOffset": 51004, "endLine": 530, "endColumn": 12, "endOffset": 53081 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 545, "startColumn": 4, "startOffset": 53410, "endLine": 571, "endColumn": 12, "endOffset": 55487 } } }, { "to": { "startLine": 531, "startColumn": 4, "startOffset": 53086, "endLine": 678, "endColumn": 12, "endOffset": 62508 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 572, "startColumn": 4, "startOffset": 55492, "endLine": 719, "endColumn": 12, "endOffset": 64914 } } }, { "to": { "startLine": 679, "startColumn": 4, "startOffset": 62513, "endLine": 700, "endColumn": 12, "endOffset": 63775 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 720, "startColumn": 4, "startOffset": 64919, "endLine": 741, "endColumn": 12, "endOffset": 66181 } } }, { "to": { "startLine": 701, "startColumn": 4, "startOffset": 63780, "endLine": 848, "endColumn": 12, "endOffset": 73312 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 742, "startColumn": 4, "startOffset": 66186, "endLine": 889, "endColumn": 12, "endOffset": 75718 } } }, { "to": { "startLine": 849, "startColumn": 4, "startOffset": 73317, "endLine": 870, "endColumn": 12, "endOffset": 74593 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 890, "startColumn": 4, "startOffset": 75723, "endLine": 911, "endColumn": 12, "endOffset": 76999 } } }, { "to": { "startLine": 871, "startColumn": 4, "startOffset": 74598, "endLine": 877, "endColumn": 12, "endOffset": 75129 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 914, "startColumn": 4, "startOffset": 77230, "endLine": 920, "endColumn": 12, "endOffset": 77761 } } }, { "to": { "startLine": 878, "startColumn": 4, "startOffset": 75134, "endLine": 882, "endColumn": 12, "endOffset": 75459 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 921, "startColumn": 4, "startOffset": 77766, "endLine": 925, "endColumn": 12, "endOffset": 78091 } } }, { "to": { "startLine": 883, "startColumn": 4, "startOffset": 75464, "endLine": 903, "endColumn": 12, "endOffset": 76582 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 926, "startColumn": 4, "startOffset": 78096, "endLine": 946, "endColumn": 12, "endOffset": 79214 } } }, { "to": { "startLine": 904, "startColumn": 4, "startOffset": 76587, "endLine": 908, "endColumn": 12, "endOffset": 76838 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 947, "startColumn": 4, "startOffset": 79219, "endLine": 951, "endColumn": 12, "endOffset": 79470 } } }, { "to": { "startLine": 909, "startColumn": 4, "startOffset": 76843, "endLine": 913, "endColumn": 12, "endOffset": 77074 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 952, "startColumn": 4, "startOffset": 79475, "endLine": 956, "endColumn": 12, "endOffset": 79706 } } }, { "to": { "startLine": 914, "startColumn": 4, "startOffset": 77079, "endLine": 923, "endColumn": 12, "endOffset": 77621 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 957, "startColumn": 4, "startOffset": 79711, "endLine": 966, "endColumn": 12, "endOffset": 80253 } } }, { "to": { "startLine": 924, "startColumn": 4, "startOffset": 77626, "endLine": 932, "endColumn": 12, "endOffset": 78115 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 967, "startColumn": 4, "startOffset": 80258, "endLine": 975, "endColumn": 12, "endOffset": 80747 } } }, { "to": { "startLine": 933, "startColumn": 4, "startOffset": 78120, "endLine": 943, "endColumn": 12, "endOffset": 78788 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 976, "startColumn": 4, "startOffset": 80752, "endLine": 986, "endColumn": 12, "endOffset": 81420 } } }, { "to": { "startLine": 944, "startColumn": 4, "startOffset": 78793, "endLine": 946, "endColumn": 12, "endOffset": 78936 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 987, "startColumn": 4, "startOffset": 81425, "endLine": 989, "endColumn": 12, "endOffset": 81568 } } }, { "to": { "startLine": 947, "startColumn": 4, "startOffset": 78941, "endLine": 953, "endColumn": 12, "endOffset": 79464 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 990, "startColumn": 4, "startOffset": 81573, "endLine": 996, "endColumn": 12, "endOffset": 82096 } } }, { "to": { "startLine": 954, "startColumn": 4, "startOffset": 79469, "endLine": 961, "endColumn": 12, "endOffset": 80028 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 997, "startColumn": 4, "startOffset": 82101, "endLine": 1004, "endColumn": 12, "endOffset": 82660 } } }, { "to": { "startLine": 962, "startColumn": 4, "startOffset": 80033, "endLine": 968, "endColumn": 12, "endOffset": 80403 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1005, "startColumn": 4, "startOffset": 82665, "endLine": 1011, "endColumn": 12, "endOffset": 83035 } } }, { "to": { "startLine": 969, "startColumn": 4, "startOffset": 80408, "endColumn": 117, "endOffset": 80521 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1012, "startColumn": 4, "startOffset": 83040, "endColumn": 117, "endOffset": 83153 } } }, { "to": { "startLine": 970, "startColumn": 4, "startOffset": 80526, "endLine": 978, "endColumn": 12, "endOffset": 81059 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1013, "startColumn": 4, "startOffset": 83158, "endLine": 1021, "endColumn": 12, "endOffset": 83691 } } }, { "to": { "startLine": 979, "startColumn": 4, "startOffset": 81064, "endLine": 981, "endColumn": 12, "endOffset": 81216 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1022, "startColumn": 4, "startOffset": 83696, "endLine": 1024, "endColumn": 12, "endOffset": 83848 } } }, { "to": { "startLine": 982, "startColumn": 4, "startOffset": 81221, "endLine": 984, "endColumn": 12, "endOffset": 81360 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1025, "startColumn": 4, "startOffset": 83853, "endLine": 1027, "endColumn": 12, "endOffset": 83992 } } }, { "to": { "startLine": 985, "startColumn": 4, "startOffset": 81365, "endLine": 989, "endColumn": 12, "endOffset": 81680 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1028, "startColumn": 4, "startOffset": 83997, "endLine": 1032, "endColumn": 12, "endOffset": 84312 } } }, { "to": { "startLine": 990, "startColumn": 4, "startOffset": 81685, "endLine": 993, "endColumn": 12, "endOffset": 81936 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1033, "startColumn": 4, "startOffset": 84317, "endLine": 1036, "endColumn": 12, "endOffset": 84568 } } }, { "to": { "startLine": 994, "startColumn": 4, "startOffset": 81941, "endLine": 997, "endColumn": 12, "endOffset": 82106 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1037, "startColumn": 4, "startOffset": 84573, "endLine": 1040, "endColumn": 12, "endOffset": 84738 } } }, { "to": { "startLine": 998, "startColumn": 4, "startOffset": 82111, "endLine": 1000, "endColumn": 12, "endOffset": 82247 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1041, "startColumn": 4, "startOffset": 84743, "endLine": 1043, "endColumn": 12, "endOffset": 84879 } } }, { "to": { "startLine": 1001, "startColumn": 4, "startOffset": 82252, "endColumn": 63, "endOffset": 82311 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1044, "startColumn": 4, "startOffset": 84884, "endColumn": 63, "endOffset": 84943 } } }, { "to": { "startLine": 1002, "startColumn": 4, "startOffset": 82316, "endLine": 1005, "endColumn": 12, "endOffset": 82593 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1045, "startColumn": 4, "startOffset": 84948, "endLine": 1048, "endColumn": 12, "endOffset": 85225 } } }, { "to": { "startLine": 1006, "startColumn": 4, "startOffset": 82598, "endLine": 1009, "endColumn": 12, "endOffset": 82879 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1049, "startColumn": 4, "startOffset": 85230, "endLine": 1052, "endColumn": 12, "endOffset": 85511 } } }, { "to": { "startLine": 1010, "startColumn": 4, "startOffset": 82884, "endLine": 1017, "endColumn": 12, "endOffset": 83421 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1053, "startColumn": 4, "startOffset": 85516, "endLine": 1060, "endColumn": 12, "endOffset": 86053 } } }, { "to": { "startLine": 1018, "startColumn": 4, "startOffset": 83426, "endLine": 1022, "endColumn": 12, "endOffset": 83685 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1061, "startColumn": 4, "startOffset": 86058, "endLine": 1065, "endColumn": 12, "endOffset": 86317 } } }, { "to": { "startLine": 1023, "startColumn": 4, "startOffset": 83690, "endLine": 1029, "endColumn": 12, "endOffset": 84023 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1066, "startColumn": 4, "startOffset": 86322, "endLine": 1072, "endColumn": 12, "endOffset": 86655 } } }, { "to": { "startLine": 1030, "startColumn": 4, "startOffset": 84028, "endLine": 1035, "endColumn": 12, "endOffset": 84376 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1073, "startColumn": 4, "startOffset": 86660, "endLine": 1078, "endColumn": 12, "endOffset": 87008 } } }, { "to": { "startLine": 1036, "startColumn": 4, "startOffset": 84381, "endColumn": 93, "endOffset": 84470 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1079, "startColumn": 4, "startOffset": 87013, "endColumn": 93, "endOffset": 87102 } } }, { "to": { "startLine": 1037, "startColumn": 4, "startOffset": 84475, "endLine": 1040, "endColumn": 12, "endOffset": 84776 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1080, "startColumn": 4, "startOffset": 87107, "endLine": 1083, "endColumn": 12, "endOffset": 87408 } } }, { "to": { "startLine": 1041, "startColumn": 4, "startOffset": 84781, "endLine": 1045, "endColumn": 12, "endOffset": 85038 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1084, "startColumn": 4, "startOffset": 87413, "endLine": 1088, "endColumn": 12, "endOffset": 87670 } } }, { "to": { "startLine": 1046, "startColumn": 4, "startOffset": 85043, "endLine": 1047, "endColumn": 12, "endOffset": 85163 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1089, "startColumn": 4, "startOffset": 87675, "endLine": 1090, "endColumn": 12, "endOffset": 87795 } } }, { "to": { "startLine": 1048, "startColumn": 4, "startOffset": 85168, "endLine": 1049, "endColumn": 12, "endOffset": 85290 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1091, "startColumn": 4, "startOffset": 87800, "endLine": 1092, "endColumn": 12, "endOffset": 87922 } } }, { "to": { "startLine": 1050, "startColumn": 4, "startOffset": 85295, "endLine": 1052, "endColumn": 12, "endOffset": 85529 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1093, "startColumn": 4, "startOffset": 87927, "endLine": 1095, "endColumn": 12, "endOffset": 88161 } } }, { "to": { "startLine": 1053, "startColumn": 4, "startOffset": 85534, "endLine": 1055, "endColumn": 12, "endOffset": 85740 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1096, "startColumn": 4, "startOffset": 88166, "endLine": 1098, "endColumn": 12, "endOffset": 88372 } } }, { "to": { "startLine": 1056, "startColumn": 4, "startOffset": 85745, "endLine": 1057, "endColumn": 12, "endOffset": 85859 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1099, "startColumn": 4, "startOffset": 88377, "endLine": 1100, "endColumn": 12, "endOffset": 88491 } } }, { "to": { "startLine": 1058, "startColumn": 4, "startOffset": 85864, "endLine": 1061, "endColumn": 12, "endOffset": 86052 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1101, "startColumn": 4, "startOffset": 88496, "endLine": 1104, "endColumn": 12, "endOffset": 88684 } } }, { "to": { "startLine": 1062, "startColumn": 4, "startOffset": 86057, "endLine": 1068, "endColumn": 12, "endOffset": 86507 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1105, "startColumn": 4, "startOffset": 88689, "endLine": 1111, "endColumn": 12, "endOffset": 89139 } } }, { "to": { "startLine": 1069, "startColumn": 4, "startOffset": 86512, "endLine": 1071, "endColumn": 12, "endOffset": 86688 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1112, "startColumn": 4, "startOffset": 89144, "endLine": 1114, "endColumn": 12, "endOffset": 89320 } } }, { "to": { "startLine": 1072, "startColumn": 4, "startOffset": 86693, "endLine": 1074, "endColumn": 12, "endOffset": 86810 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1115, "startColumn": 4, "startOffset": 89325, "endLine": 1117, "endColumn": 12, "endOffset": 89442 } } }, { "to": { "startLine": 1075, "startColumn": 4, "startOffset": 86815, "endLine": 1078, "endColumn": 12, "endOffset": 87069 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1118, "startColumn": 4, "startOffset": 89447, "endLine": 1121, "endColumn": 12, "endOffset": 89701 } } }, { "to": { "startLine": 1079, "startColumn": 4, "startOffset": 87074, "endLine": 1080, "endColumn": 12, "endOffset": 87182 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1122, "startColumn": 4, "startOffset": 89706, "endLine": 1123, "endColumn": 12, "endOffset": 89814 } } }, { "to": { "startLine": 1081, "startColumn": 4, "startOffset": 87187, "endLine": 1084, "endColumn": 12, "endOffset": 87369 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1124, "startColumn": 4, "startOffset": 89819, "endLine": 1127, "endColumn": 12, "endOffset": 90001 } } }, { "to": { "startLine": 1085, "startColumn": 4, "startOffset": 87374, "endLine": 1086, "endColumn": 12, "endOffset": 87471 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1128, "startColumn": 4, "startOffset": 90006, "endLine": 1129, "endColumn": 12, "endOffset": 90103 } } }, { "to": { "startLine": 1087, "startColumn": 4, "startOffset": 87476, "endLine": 1092, "endColumn": 12, "endOffset": 87915 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1130, "startColumn": 4, "startOffset": 90108, "endLine": 1135, "endColumn": 12, "endOffset": 90547 } } }, { "to": { "startLine": 1093, "startColumn": 4, "startOffset": 87920, "endLine": 1094, "endColumn": 12, "endOffset": 88039 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1136, "startColumn": 4, "startOffset": 90552, "endLine": 1137, "endColumn": 12, "endOffset": 90671 } } }, { "to": { "startLine": 1095, "startColumn": 4, "startOffset": 88044, "endLine": 1098, "endColumn": 12, "endOffset": 88324 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1138, "startColumn": 4, "startOffset": 90676, "endLine": 1141, "endColumn": 12, "endOffset": 90956 } } }, { "to": { "startLine": 1099, "startColumn": 4, "startOffset": 88329, "endLine": 1110, "endColumn": 12, "endOffset": 89211 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1142, "startColumn": 4, "startOffset": 90961, "endLine": 1153, "endColumn": 12, "endOffset": 91843 } } }, { "to": { "startLine": 1111, "startColumn": 4, "startOffset": 89216, "endLine": 1116, "endColumn": 12, "endOffset": 89505 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1154, "startColumn": 4, "startOffset": 91848, "endLine": 1159, "endColumn": 12, "endOffset": 92137 } } }, { "to": { "startLine": 1117, "startColumn": 4, "startOffset": 89510, "endLine": 1127, "endColumn": 12, "endOffset": 90237 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1160, "startColumn": 4, "startOffset": 92142, "endLine": 1170, "endColumn": 12, "endOffset": 92869 } } }, { "to": { "startLine": 1128, "startColumn": 4, "startOffset": 90242, "endLine": 1130, "endColumn": 12, "endOffset": 90409 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1171, "startColumn": 4, "startOffset": 92874, "endLine": 1173, "endColumn": 12, "endOffset": 93041 } } }, { "to": { "startLine": 1131, "startColumn": 4, "startOffset": 90414, "endLine": 1135, "endColumn": 12, "endOffset": 90745 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1174, "startColumn": 4, "startOffset": 93046, "endLine": 1178, "endColumn": 12, "endOffset": 93377 } } }, { "to": { "startLine": 1136, "startColumn": 4, "startOffset": 90750, "endLine": 1147, "endColumn": 12, "endOffset": 91612 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1179, "startColumn": 4, "startOffset": 93382, "endLine": 1190, "endColumn": 12, "endOffset": 94244 } } }, { "to": { "startLine": 1148, "startColumn": 4, "startOffset": 91617, "endLine": 1152, "endColumn": 12, "endOffset": 91890 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1191, "startColumn": 4, "startOffset": 94249, "endLine": 1195, "endColumn": 12, "endOffset": 94522 } } }, { "to": { "startLine": 1153, "startColumn": 4, "startOffset": 91895, "endLine": 1156, "endColumn": 10, "endOffset": 92073 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 27, "startColumn": 4, "startOffset": 2681, "endLine": 30, "endColumn": 10, "endOffset": 2859 } } }, { "to": { "startLine": 1157, "startColumn": 4, "startOffset": 92078, "endLine": 1194, "endColumn": 12, "endOffset": 94935 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1198, "startColumn": 4, "startOffset": 94753, "endLine": 1235, "endColumn": 12, "endOffset": 97610 } } }, { "to": { "startLine": 1195, "startColumn": 4, "startOffset": 94940, "endLine": 1233, "endColumn": 12, "endOffset": 97937 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1236, "startColumn": 4, "startOffset": 97615, "endLine": 1274, "endColumn": 12, "endOffset": 100612 } } }, { "to": { "startLine": 1234, "startColumn": 4, "startOffset": 97942, "endColumn": 61, "endOffset": 97999 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1275, "startColumn": 4, "startOffset": 100617, "endColumn": 61, "endOffset": 100674 } } }, { "to": { "startLine": 1235, "startColumn": 4, "startOffset": 98004, "endLine": 1244, "endColumn": 12, "endOffset": 98629 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1276, "startColumn": 4, "startOffset": 100679, "endLine": 1285, "endColumn": 12, "endOffset": 101304 } } }, { "to": { "startLine": 1245, "startColumn": 4, "startOffset": 98634, "endLine": 1253, "endColumn": 12, "endOffset": 99243 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1286, "startColumn": 4, "startOffset": 101309, "endLine": 1294, "endColumn": 12, "endOffset": 101918 } } }, { "to": { "startLine": 1254, "startColumn": 4, "startOffset": 99248, "endColumn": 85, "endOffset": 99329 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1297, "startColumn": 4, "startOffset": 102149, "endColumn": 85, "endOffset": 102230 } } }, { "to": { "startLine": 1255, "startColumn": 4, "startOffset": 99334, "endLine": 1256, "endColumn": 12, "endOffset": 99442 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1300, "startColumn": 4, "startOffset": 102460, "endLine": 1301, "endColumn": 12, "endOffset": 102568 } } }, { "to": { "startLine": 1257, "startColumn": 4, "startOffset": 99447, "endLine": 1260, "endColumn": 12, "endOffset": 99671 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1302, "startColumn": 4, "startOffset": 102573, "endLine": 1305, "endColumn": 12, "endOffset": 102797 } } }, { "to": { "startLine": 1261, "startColumn": 4, "startOffset": 99676, "endLine": 1264, "endColumn": 12, "endOffset": 100009 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1306, "startColumn": 4, "startOffset": 102802, "endLine": 1309, "endColumn": 12, "endOffset": 103135 } } }, { "to": { "startLine": 1265, "startColumn": 4, "startOffset": 100014, "endLine": 1267, "endColumn": 12, "endOffset": 100169 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1310, "startColumn": 4, "startOffset": 103140, "endLine": 1312, "endColumn": 12, "endOffset": 103295 } } }, { "to": { "startLine": 1268, "startColumn": 4, "startOffset": 100174, "endLine": 1270, "endColumn": 12, "endOffset": 100321 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1313, "startColumn": 4, "startOffset": 103300, "endLine": 1315, "endColumn": 12, "endOffset": 103447 } } }, { "to": { "startLine": 1271, "startColumn": 4, "startOffset": 100326, "endLine": 1273, "endColumn": 12, "endOffset": 100492 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1316, "startColumn": 4, "startOffset": 103452, "endLine": 1318, "endColumn": 12, "endOffset": 103618 } } }, { "to": { "startLine": 1274, "startColumn": 4, "startOffset": 100497, "endLine": 1276, "endColumn": 12, "endOffset": 100659 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1319, "startColumn": 4, "startOffset": 103623, "endLine": 1321, "endColumn": 12, "endOffset": 103785 } } }, { "to": { "startLine": 1277, "startColumn": 4, "startOffset": 100664, "endLine": 1280, "endColumn": 12, "endOffset": 100902 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1322, "startColumn": 4, "startOffset": 103790, "endLine": 1325, "endColumn": 12, "endOffset": 104028 } } }, { "to": { "startLine": 1281, "startColumn": 4, "startOffset": 100907, "endLine": 1283, "endColumn": 12, "endOffset": 101072 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1326, "startColumn": 4, "startOffset": 104033, "endLine": 1328, "endColumn": 12, "endOffset": 104198 } } }, { "to": { "startLine": 1284, "startColumn": 4, "startOffset": 101077, "endLine": 1286, "endColumn": 12, "endOffset": 101245 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1329, "startColumn": 4, "startOffset": 104203, "endLine": 1331, "endColumn": 12, "endOffset": 104371 } } }, { "to": { "startLine": 1287, "startColumn": 4, "startOffset": 101250, "endLine": 1289, "endColumn": 12, "endOffset": 101416 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1332, "startColumn": 4, "startOffset": 104376, "endLine": 1334, "endColumn": 12, "endOffset": 104542 } } }, { "to": { "startLine": 1290, "startColumn": 4, "startOffset": 101421, "endLine": 1293, "endColumn": 12, "endOffset": 101690 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1335, "startColumn": 4, "startOffset": 104547, "endLine": 1338, "endColumn": 12, "endOffset": 104816 } } }, { "to": { "startLine": 1294, "startColumn": 4, "startOffset": 101695, "endLine": 1296, "endColumn": 12, "endOffset": 101889 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1339, "startColumn": 4, "startOffset": 104821, "endLine": 1341, "endColumn": 12, "endOffset": 105015 } } }, { "to": { "startLine": 1297, "startColumn": 4, "startOffset": 101894, "endColumn": 83, "endOffset": 101973 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1344, "startColumn": 4, "startOffset": 105241, "endColumn": 83, "endOffset": 105320 } } }, { "to": { "startLine": 1298, "startColumn": 4, "startOffset": 101978, "endColumn": 95, "endOffset": 102069 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1345, "startColumn": 4, "startOffset": 105325, "endColumn": 95, "endOffset": 105416 } } }, { "to": { "startLine": 1299, "startColumn": 4, "startOffset": 102074, "endColumn": 95, "endOffset": 102165 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1346, "startColumn": 4, "startOffset": 105421, "endColumn": 95, "endOffset": 105512 } } }, { "to": { "startLine": 1300, "startColumn": 4, "startOffset": 102170, "endColumn": 97, "endOffset": 102263 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1347, "startColumn": 4, "startOffset": 105517, "endColumn": 97, "endOffset": 105610 } } }, { "to": { "startLine": 1301, "startColumn": 4, "startOffset": 102268, "endColumn": 99, "endOffset": 102363 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1348, "startColumn": 4, "startOffset": 105615, "endColumn": 99, "endOffset": 105710 } } }, { "to": { "startLine": 1302, "startColumn": 4, "startOffset": 102368, "endColumn": 101, "endOffset": 102465 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1349, "startColumn": 4, "startOffset": 105715, "endColumn": 101, "endOffset": 105812 } } }, { "to": { "startLine": 1303, "startColumn": 4, "startOffset": 102470, "endColumn": 101, "endOffset": 102567 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1350, "startColumn": 4, "startOffset": 105817, "endColumn": 101, "endOffset": 105914 } } }, { "to": { "startLine": 1304, "startColumn": 4, "startOffset": 102572, "endColumn": 101, "endOffset": 102669 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1351, "startColumn": 4, "startOffset": 105919, "endColumn": 101, "endOffset": 106016 } } }, { "to": { "startLine": 1305, "startColumn": 4, "startOffset": 102674, "endColumn": 101, "endOffset": 102771 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1352, "startColumn": 4, "startOffset": 106021, "endColumn": 101, "endOffset": 106118 } } }, { "to": { "startLine": 1306, "startColumn": 4, "startOffset": 102776, "endColumn": 101, "endOffset": 102873 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1353, "startColumn": 4, "startOffset": 106123, "endColumn": 101, "endOffset": 106220 } } }, { "to": { "startLine": 1307, "startColumn": 4, "startOffset": 102878, "endColumn": 99, "endOffset": 102973 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1354, "startColumn": 4, "startOffset": 106225, "endColumn": 99, "endOffset": 106320 } } }, { "to": { "startLine": 1308, "startColumn": 4, "startOffset": 102978, "endColumn": 95, "endOffset": 103069 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1355, "startColumn": 4, "startOffset": 106325, "endColumn": 95, "endOffset": 106416 } } }, { "to": { "startLine": 1309, "startColumn": 4, "startOffset": 103074, "endColumn": 111, "endOffset": 103181 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1356, "startColumn": 4, "startOffset": 106421, "endColumn": 111, "endOffset": 106528 } } }, { "to": { "startLine": 1310, "startColumn": 4, "startOffset": 103186, "endColumn": 128, "endOffset": 103310 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1357, "startColumn": 4, "startOffset": 106533, "endColumn": 128, "endOffset": 106657 } } }, { "to": { "startLine": 1311, "startColumn": 4, "startOffset": 103315, "endColumn": 122, "endOffset": 103433 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1358, "startColumn": 4, "startOffset": 106662, "endColumn": 122, "endOffset": 106780 } } }, { "to": { "startLine": 1312, "startColumn": 4, "startOffset": 103438, "endLine": 1313, "endColumn": 12, "endOffset": 103587 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1359, "startColumn": 4, "startOffset": 106785, "endLine": 1360, "endColumn": 12, "endOffset": 106934 } } }, { "to": { "startLine": 1314, "startColumn": 4, "startOffset": 103592, "endLine": 1315, "endColumn": 12, "endOffset": 103741 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1361, "startColumn": 4, "startOffset": 106939, "endLine": 1362, "endColumn": 12, "endOffset": 107088 } } }, { "to": { "startLine": 1316, "startColumn": 4, "startOffset": 103746, "endColumn": 97, "endOffset": 103839 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1363, "startColumn": 4, "startOffset": 107093, "endColumn": 97, "endOffset": 107186 } } }, { "to": { "startLine": 1317, "startColumn": 4, "startOffset": 103844, "endColumn": 113, "endOffset": 103953 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1364, "startColumn": 4, "startOffset": 107191, "endColumn": 113, "endOffset": 107300 } } }, { "to": { "startLine": 1318, "startColumn": 4, "startOffset": 103958, "endColumn": 93, "endOffset": 104047 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1365, "startColumn": 4, "startOffset": 107305, "endColumn": 93, "endOffset": 107394 } } }, { "to": { "startLine": 1319, "startColumn": 4, "startOffset": 104052, "endLine": 1320, "endColumn": 12, "endOffset": 104187 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1366, "startColumn": 4, "startOffset": 107399, "endLine": 1367, "endColumn": 12, "endOffset": 107534 } } }, { "to": { "startLine": 1321, "startColumn": 4, "startOffset": 104192, "endLine": 1322, "endColumn": 12, "endOffset": 104321 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1368, "startColumn": 4, "startOffset": 107539, "endLine": 1369, "endColumn": 12, "endOffset": 107668 } } }, { "to": { "startLine": 1323, "startColumn": 4, "startOffset": 104326, "endColumn": 95, "endOffset": 104417 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1370, "startColumn": 4, "startOffset": 107673, "endColumn": 95, "endOffset": 107764 } } }, { "to": { "startLine": 1324, "startColumn": 4, "startOffset": 104422, "endColumn": 111, "endOffset": 104529 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1371, "startColumn": 4, "startOffset": 107769, "endColumn": 111, "endOffset": 107876 } } }, { "to": { "startLine": 1325, "startColumn": 4, "startOffset": 104534, "endColumn": 99, "endOffset": 104629 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1372, "startColumn": 4, "startOffset": 107881, "endColumn": 99, "endOffset": 107976 } } }, { "to": { "startLine": 1326, "startColumn": 4, "startOffset": 104634, "endColumn": 115, "endOffset": 104745 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1373, "startColumn": 4, "startOffset": 107981, "endColumn": 115, "endOffset": 108092 } } }, { "to": { "startLine": 1327, "startColumn": 4, "startOffset": 104750, "endColumn": 95, "endOffset": 104841 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1374, "startColumn": 4, "startOffset": 108097, "endColumn": 95, "endOffset": 108188 } } }, { "to": { "startLine": 1328, "startColumn": 4, "startOffset": 104846, "endColumn": 111, "endOffset": 104953 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1375, "startColumn": 4, "startOffset": 108193, "endColumn": 111, "endOffset": 108300 } } }, { "to": { "startLine": 1329, "startColumn": 4, "startOffset": 104958, "endLine": 1330, "endColumn": 12, "endOffset": 105093 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1376, "startColumn": 4, "startOffset": 108305, "endLine": 1377, "endColumn": 12, "endOffset": 108440 } } }, { "to": { "startLine": 1331, "startColumn": 4, "startOffset": 105098, "endColumn": 135, "endOffset": 105229 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1378, "startColumn": 4, "startOffset": 108445, "endColumn": 135, "endOffset": 108576 } } }, { "to": { "startLine": 1332, "startColumn": 4, "startOffset": 105234, "endLine": 1333, "endColumn": 12, "endOffset": 105393 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1379, "startColumn": 4, "startOffset": 108581, "endLine": 1380, "endColumn": 12, "endOffset": 108740 } } }, { "to": { "startLine": 1334, "startColumn": 4, "startOffset": 105398, "endColumn": 129, "endOffset": 105523 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1381, "startColumn": 4, "startOffset": 108745, "endColumn": 129, "endOffset": 108870 } } }, { "to": { "startLine": 1335, "startColumn": 4, "startOffset": 105528, "endLine": 1336, "endColumn": 12, "endOffset": 105681 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1382, "startColumn": 4, "startOffset": 108875, "endLine": 1383, "endColumn": 12, "endOffset": 109028 } } }, { "to": { "startLine": 1337, "startColumn": 4, "startOffset": 105686, "endLine": 1338, "endColumn": 12, "endOffset": 105831 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1384, "startColumn": 4, "startOffset": 109033, "endLine": 1385, "endColumn": 12, "endOffset": 109178 } } }, { "to": { "startLine": 1339, "startColumn": 4, "startOffset": 105836, "endColumn": 140, "endOffset": 105972 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1386, "startColumn": 4, "startOffset": 109183, "endColumn": 140, "endOffset": 109319 } } }, { "to": { "startLine": 1340, "startColumn": 4, "startOffset": 105977, "endLine": 1341, "endColumn": 12, "endOffset": 106116 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1387, "startColumn": 4, "startOffset": 109324, "endLine": 1388, "endColumn": 12, "endOffset": 109463 } } }, { "to": { "startLine": 1342, "startColumn": 4, "startOffset": 106121, "endColumn": 134, "endOffset": 106251 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1389, "startColumn": 4, "startOffset": 109468, "endColumn": 134, "endOffset": 109598 } } }, { "to": { "startLine": 1343, "startColumn": 4, "startOffset": 106256, "endColumn": 111, "endOffset": 106363 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1390, "startColumn": 4, "startOffset": 109603, "endColumn": 111, "endOffset": 109710 } } }, { "to": { "startLine": 1344, "startColumn": 4, "startOffset": 106368, "endColumn": 127, "endOffset": 106491 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1391, "startColumn": 4, "startOffset": 109715, "endColumn": 127, "endOffset": 109838 } } }, { "to": { "startLine": 1345, "startColumn": 4, "startOffset": 106496, "endLine": 1346, "endColumn": 12, "endOffset": 106627 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1392, "startColumn": 4, "startOffset": 109843, "endLine": 1393, "endColumn": 12, "endOffset": 109974 } } }, { "to": { "startLine": 1347, "startColumn": 4, "startOffset": 106632, "endLine": 1348, "endColumn": 12, "endOffset": 106769 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1394, "startColumn": 4, "startOffset": 109979, "endLine": 1395, "endColumn": 12, "endOffset": 110116 } } }, { "to": { "startLine": 1349, "startColumn": 4, "startOffset": 106774, "endLine": 1350, "endColumn": 12, "endOffset": 106911 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1396, "startColumn": 4, "startOffset": 110121, "endLine": 1397, "endColumn": 12, "endOffset": 110258 } } }, { "to": { "startLine": 1351, "startColumn": 4, "startOffset": 106916, "endColumn": 111, "endOffset": 107023 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1398, "startColumn": 4, "startOffset": 110263, "endColumn": 111, "endOffset": 110370 } } }, { "to": { "startLine": 1352, "startColumn": 4, "startOffset": 107028, "endColumn": 139, "endOffset": 107163 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1399, "startColumn": 4, "startOffset": 110375, "endColumn": 139, "endOffset": 110510 } } }, { "to": { "startLine": 1353, "startColumn": 4, "startOffset": 107168, "endColumn": 67, "endOffset": 107231 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1400, "startColumn": 4, "startOffset": 110515, "endColumn": 67, "endOffset": 110578 } } }, { "to": { "startLine": 1354, "startColumn": 4, "startOffset": 107236, "endColumn": 72, "endOffset": 107304 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1401, "startColumn": 4, "startOffset": 110583, "endColumn": 72, "endOffset": 110651 } } }, { "to": { "startLine": 1355, "startColumn": 4, "startOffset": 107309, "endColumn": 73, "endOffset": 107378 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1402, "startColumn": 4, "startOffset": 110656, "endColumn": 73, "endOffset": 110725 } } }, { "to": { "startLine": 1356, "startColumn": 4, "startOffset": 107383, "endColumn": 72, "endOffset": 107451 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1403, "startColumn": 4, "startOffset": 110730, "endColumn": 72, "endOffset": 110798 } } }, { "to": { "startLine": 1357, "startColumn": 4, "startOffset": 107456, "endColumn": 73, "endOffset": 107525 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1404, "startColumn": 4, "startOffset": 110803, "endColumn": 73, "endOffset": 110872 } } }, { "to": { "startLine": 1358, "startColumn": 4, "startOffset": 107530, "endLine": 1359, "endColumn": 12, "endOffset": 107671 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1405, "startColumn": 4, "startOffset": 110877, "endLine": 1406, "endColumn": 12, "endOffset": 111018 } } }, { "to": { "startLine": 1360, "startColumn": 4, "startOffset": 107676, "endLine": 1361, "endColumn": 12, "endOffset": 107815 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1407, "startColumn": 4, "startOffset": 111023, "endLine": 1408, "endColumn": 12, "endOffset": 111162 } } }, { "to": { "startLine": 1362, "startColumn": 4, "startOffset": 107820, "endLine": 1363, "endColumn": 12, "endOffset": 107953 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1409, "startColumn": 4, "startOffset": 111167, "endLine": 1410, "endColumn": 12, "endOffset": 111300 } } }, { "to": { "startLine": 1364, "startColumn": 4, "startOffset": 107958, "endColumn": 25, "endOffset": 107979 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 31, "startColumn": 4, "startOffset": 2864, "endColumn": 25, "endOffset": 2885 } } }, { "to": { "startLine": 1365, "startColumn": 4, "startOffset": 107984, "endColumn": 65, "endOffset": 108045 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1413, "startColumn": 4, "startOffset": 111526, "endColumn": 65, "endOffset": 111587 } } }, { "to": { "startLine": 1366, "startColumn": 4, "startOffset": 108050, "endColumn": 89, "endOffset": 108135 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1414, "startColumn": 4, "startOffset": 111592, "endColumn": 89, "endOffset": 111677 } } }, { "to": { "startLine": 1367, "startColumn": 4, "startOffset": 108140, "endColumn": 79, "endOffset": 108215 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1415, "startColumn": 4, "startOffset": 111682, "endColumn": 79, "endOffset": 111757 } } }, { "to": { "startLine": 1368, "startColumn": 4, "startOffset": 108220, "endColumn": 91, "endOffset": 108307 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1416, "startColumn": 4, "startOffset": 111762, "endColumn": 91, "endOffset": 111849 } } }, { "to": { "startLine": 1369, "startColumn": 4, "startOffset": 108312, "endColumn": 97, "endOffset": 108405 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1417, "startColumn": 4, "startOffset": 111854, "endColumn": 97, "endOffset": 111947 } } }, { "to": { "startLine": 1370, "startColumn": 4, "startOffset": 108410, "endLine": 1371, "endColumn": 12, "endOffset": 108515 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1418, "startColumn": 4, "startOffset": 111952, "endLine": 1419, "endColumn": 12, "endOffset": 112057 } } }, { "to": { "startLine": 1372, "startColumn": 4, "startOffset": 108520, "endColumn": 77, "endOffset": 108593 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1420, "startColumn": 4, "startOffset": 112062, "endColumn": 77, "endOffset": 112135 } } }, { "to": { "startLine": 1373, "startColumn": 4, "startOffset": 108598, "endColumn": 105, "endOffset": 108699 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1421, "startColumn": 4, "startOffset": 112140, "endColumn": 105, "endOffset": 112241 } } }, { "to": { "startLine": 1374, "startColumn": 4, "startOffset": 108704, "endColumn": 91, "endOffset": 108791 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1422, "startColumn": 4, "startOffset": 112246, "endColumn": 91, "endOffset": 112333 } } }, { "to": { "startLine": 1375, "startColumn": 4, "startOffset": 108796, "endColumn": 103, "endOffset": 108895 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1423, "startColumn": 4, "startOffset": 112338, "endColumn": 103, "endOffset": 112437 } } }, { "to": { "startLine": 1376, "startColumn": 4, "startOffset": 108900, "endColumn": 109, "endOffset": 109005 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1424, "startColumn": 4, "startOffset": 112442, "endColumn": 109, "endOffset": 112547 } } }, { "to": { "startLine": 1377, "startColumn": 4, "startOffset": 109010, "endLine": 1378, "endColumn": 12, "endOffset": 109127 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1425, "startColumn": 4, "startOffset": 112552, "endLine": 1426, "endColumn": 12, "endOffset": 112669 } } }, { "to": { "startLine": 1379, "startColumn": 4, "startOffset": 109132, "endLine": 1382, "endColumn": 12, "endOffset": 109290 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1427, "startColumn": 4, "startOffset": 112674, "endLine": 1430, "endColumn": 12, "endOffset": 112832 } } }, { "to": { "startLine": 1383, "startColumn": 4, "startOffset": 109295, "endLine": 1386, "endColumn": 12, "endOffset": 109447 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1431, "startColumn": 4, "startOffset": 112837, "endLine": 1434, "endColumn": 12, "endOffset": 112989 } } }, { "to": { "startLine": 1387, "startColumn": 4, "startOffset": 109452, "endColumn": 34, "endOffset": 109482 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 32, "startColumn": 4, "startOffset": 2890, "endColumn": 34, "endOffset": 2920 } } }, { "to": { "startLine": 1388, "startColumn": 4, "startOffset": 109487, "endLine": 1394, "endColumn": 10, "endOffset": 109948 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 33, "startColumn": 4, "startOffset": 2925, "endLine": 39, "endColumn": 10, "endOffset": 3386 } } }, { "to": { "startLine": 1395, "startColumn": 4, "startOffset": 109953, "endLine": 1399, "endColumn": 10, "endOffset": 110183 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 40, "startColumn": 4, "startOffset": 3391, "endLine": 44, "endColumn": 10, "endOffset": 3621 } } }, { "to": { "startLine": 1400, "startColumn": 4, "startOffset": 110188, "endLine": 1402, "endColumn": 10, "endOffset": 110352 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 45, "startColumn": 4, "startOffset": 3626, "endLine": 47, "endColumn": 10, "endOffset": 3790 } } }, { "to": { "startLine": 1403, "startColumn": 4, "startOffset": 110357, "endLine": 1405, "endColumn": 12, "endOffset": 110535 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 48, "startColumn": 4, "startOffset": 3795, "endLine": 50, "endColumn": 12, "endOffset": 3973 } } }, { "to": { "startLine": 1406, "startColumn": 4, "startOffset": 110540, "endLine": 1411, "endColumn": 12, "endOffset": 110900 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/values/values.xml", "position": { "startLine": 51, "startColumn": 4, "startOffset": 3978, "endLine": 56, "endColumn": 12, "endOffset": 4338 } } }, { "to": { "startLine": 1412, "startColumn": 4, "startOffset": 110905, "endColumn": 79, "endOffset": 110980 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1435, "startColumn": 4, "startOffset": 112994, "endColumn": 79, "endOffset": 113069 } } }, { "to": { "startLine": 1413, "startColumn": 4, "startOffset": 110985, "endColumn": 99, "endOffset": 111080 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1436, "startColumn": 4, "startOffset": 113074, "endColumn": 99, "endOffset": 113169 } } }, { "to": { "startLine": 1414, "startColumn": 4, "startOffset": 111085, "endColumn": 89, "endOffset": 111170 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1437, "startColumn": 4, "startOffset": 113174, "endColumn": 89, "endOffset": 113259 } } }, { "to": { "startLine": 1415, "startColumn": 4, "startOffset": 111175, "endColumn": 109, "endOffset": 111280 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1438, "startColumn": 4, "startOffset": 113264, "endColumn": 109, "endOffset": 113369 } } }, { "to": { "startLine": 1416, "startColumn": 4, "startOffset": 111285, "endColumn": 91, "endOffset": 111372 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1439, "startColumn": 4, "startOffset": 113374, "endColumn": 91, "endOffset": 113461 } } }, { "to": { "startLine": 1417, "startColumn": 4, "startOffset": 111377, "endLine": 1418, "endColumn": 12, "endOffset": 111472 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1442, "startColumn": 4, "startOffset": 113687, "endLine": 1443, "endColumn": 12, "endOffset": 113782 } } }, { "to": { "startLine": 1419, "startColumn": 4, "startOffset": 111477, "endLine": 1420, "endColumn": 12, "endOffset": 111584 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1444, "startColumn": 4, "startOffset": 113787, "endLine": 1445, "endColumn": 12, "endOffset": 113894 } } }, { "to": { "startLine": 1421, "startColumn": 4, "startOffset": 111589, "endLine": 1422, "endColumn": 12, "endOffset": 111698 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1446, "startColumn": 4, "startOffset": 113899, "endLine": 1447, "endColumn": 12, "endOffset": 114008 } } }, { "to": { "startLine": 1423, "startColumn": 4, "startOffset": 111703, "endLine": 1424, "endColumn": 12, "endOffset": 111814 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1448, "startColumn": 4, "startOffset": 114013, "endLine": 1449, "endColumn": 12, "endOffset": 114124 } } }, { "to": { "startLine": 1425, "startColumn": 4, "startOffset": 111819, "endLine": 1426, "endColumn": 12, "endOffset": 111930 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1450, "startColumn": 4, "startOffset": 114129, "endLine": 1451, "endColumn": 12, "endOffset": 114240 } } }, { "to": { "startLine": 1427, "startColumn": 4, "startOffset": 111935, "endColumn": 93, "endOffset": 112024 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1452, "startColumn": 4, "startOffset": 114245, "endColumn": 93, "endOffset": 114334 } } }, { "to": { "startLine": 1428, "startColumn": 4, "startOffset": 112029, "endColumn": 113, "endOffset": 112138 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1453, "startColumn": 4, "startOffset": 114339, "endColumn": 113, "endOffset": 114448 } } }, { "to": { "startLine": 1429, "startColumn": 4, "startOffset": 112143, "endColumn": 117, "endOffset": 112256 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1454, "startColumn": 4, "startOffset": 114453, "endColumn": 117, "endOffset": 114566 } } }, { "to": { "startLine": 1430, "startColumn": 4, "startOffset": 112261, "endLine": 1431, "endColumn": 12, "endOffset": 112358 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1455, "startColumn": 4, "startOffset": 114571, "endLine": 1456, "endColumn": 12, "endOffset": 114668 } } }, { "to": { "startLine": 1432, "startColumn": 4, "startOffset": 112363, "endLine": 1433, "endColumn": 12, "endOffset": 112478 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1457, "startColumn": 4, "startOffset": 114673, "endLine": 1458, "endColumn": 12, "endOffset": 114788 } } }, { "to": { "startLine": 1434, "startColumn": 4, "startOffset": 112483, "endLine": 1435, "endColumn": 12, "endOffset": 112600 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1459, "startColumn": 4, "startOffset": 114793, "endLine": 1460, "endColumn": 12, "endOffset": 114910 } } }, { "to": { "startLine": 1436, "startColumn": 4, "startOffset": 112605, "endColumn": 81, "endOffset": 112682 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1461, "startColumn": 4, "startOffset": 114915, "endColumn": 81, "endOffset": 114992 } } }, { "to": { "startLine": 1437, "startColumn": 4, "startOffset": 112687, "endColumn": 103, "endOffset": 112786 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1462, "startColumn": 4, "startOffset": 114997, "endColumn": 103, "endOffset": 115096 } } }, { "to": { "startLine": 1438, "startColumn": 4, "startOffset": 112791, "endColumn": 119, "endOffset": 112906 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1463, "startColumn": 4, "startOffset": 115101, "endColumn": 119, "endOffset": 115216 } } }, { "to": { "startLine": 1439, "startColumn": 4, "startOffset": 112911, "endColumn": 125, "endOffset": 113032 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1464, "startColumn": 4, "startOffset": 115221, "endColumn": 125, "endOffset": 115342 } } }, { "to": { "startLine": 1440, "startColumn": 4, "startOffset": 113037, "endColumn": 97, "endOffset": 113130 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1465, "startColumn": 4, "startOffset": 115347, "endColumn": 97, "endOffset": 115440 } } }, { "to": { "startLine": 1441, "startColumn": 4, "startOffset": 113135, "endColumn": 93, "endOffset": 113224 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1466, "startColumn": 4, "startOffset": 115445, "endColumn": 93, "endOffset": 115534 } } }, { "to": { "startLine": 1442, "startColumn": 4, "startOffset": 113229, "endColumn": 87, "endOffset": 113312 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1467, "startColumn": 4, "startOffset": 115539, "endColumn": 87, "endOffset": 115622 } } }, { "to": { "startLine": 1443, "startColumn": 4, "startOffset": 113317, "endColumn": 111, "endOffset": 113424 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1468, "startColumn": 4, "startOffset": 115627, "endColumn": 111, "endOffset": 115734 } } }, { "to": { "startLine": 1444, "startColumn": 4, "startOffset": 113429, "endColumn": 115, "endOffset": 113540 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1469, "startColumn": 4, "startOffset": 115739, "endColumn": 115, "endOffset": 115850 } } }, { "to": { "startLine": 1445, "startColumn": 4, "startOffset": 113545, "endColumn": 121, "endOffset": 113662 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1470, "startColumn": 4, "startOffset": 115855, "endColumn": 121, "endOffset": 115972 } } }, { "to": { "startLine": 1446, "startColumn": 4, "startOffset": 113667, "endColumn": 111, "endOffset": 113774 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1471, "startColumn": 4, "startOffset": 115977, "endColumn": 111, "endOffset": 116084 } } }, { "to": { "startLine": 1447, "startColumn": 4, "startOffset": 113779, "endLine": 1449, "endColumn": 12, "endOffset": 113949 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1472, "startColumn": 4, "startOffset": 116089, "endLine": 1474, "endColumn": 12, "endOffset": 116259 } } }, { "to": { "startLine": 1450, "startColumn": 4, "startOffset": 113954, "endColumn": 115, "endOffset": 114065 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1475, "startColumn": 4, "startOffset": 116264, "endColumn": 115, "endOffset": 116375 } } }, { "to": { "startLine": 1451, "startColumn": 4, "startOffset": 114070, "endColumn": 85, "endOffset": 114151 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1476, "startColumn": 4, "startOffset": 116380, "endColumn": 85, "endOffset": 116461 } } }, { "to": { "startLine": 1452, "startColumn": 4, "startOffset": 114156, "endLine": 1453, "endColumn": 12, "endOffset": 114263 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1477, "startColumn": 4, "startOffset": 116466, "endLine": 1478, "endColumn": 12, "endOffset": 116573 } } }, { "to": { "startLine": 1454, "startColumn": 4, "startOffset": 114268, "endLine": 1455, "endColumn": 12, "endOffset": 114387 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1479, "startColumn": 4, "startOffset": 116578, "endLine": 1480, "endColumn": 12, "endOffset": 116697 } } }, { "to": { "startLine": 1456, "startColumn": 4, "startOffset": 114392, "endColumn": 66, "endOffset": 114454 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1481, "startColumn": 4, "startOffset": 116702, "endColumn": 66, "endOffset": 116764 } } }, { "to": { "startLine": 1457, "startColumn": 4, "startOffset": 114459, "endLine": 1458, "endColumn": 12, "endOffset": 114580 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1482, "startColumn": 4, "startOffset": 116769, "endLine": 1483, "endColumn": 12, "endOffset": 116890 } } }, { "to": { "startLine": 1459, "startColumn": 4, "startOffset": 114585, "endColumn": 67, "endOffset": 114648 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1484, "startColumn": 4, "startOffset": 116895, "endColumn": 67, "endOffset": 116958 } } }, { "to": { "startLine": 1460, "startColumn": 4, "startOffset": 114653, "endLine": 1461, "endColumn": 12, "endOffset": 114776 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1485, "startColumn": 4, "startOffset": 116963, "endLine": 1486, "endColumn": 12, "endOffset": 117086 } } }, { "to": { "startLine": 1462, "startColumn": 4, "startOffset": 114781, "endLine": 1463, "endColumn": 12, "endOffset": 114920 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1487, "startColumn": 4, "startOffset": 117091, "endLine": 1488, "endColumn": 12, "endOffset": 117230 } } }, { "to": { "startLine": 1464, "startColumn": 4, "startOffset": 114925, "endLine": 1465, "endColumn": 12, "endOffset": 115048 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1489, "startColumn": 4, "startOffset": 117235, "endLine": 1490, "endColumn": 12, "endOffset": 117358 } } }, { "to": { "startLine": 1466, "startColumn": 4, "startOffset": 115053, "endColumn": 68, "endOffset": 115117 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1491, "startColumn": 4, "startOffset": 117363, "endColumn": 68, "endOffset": 117427 } } }, { "to": { "startLine": 1467, "startColumn": 4, "startOffset": 115122, "endColumn": 94, "endOffset": 115212 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1492, "startColumn": 4, "startOffset": 117432, "endColumn": 94, "endOffset": 117522 } } }, { "to": { "startLine": 1468, "startColumn": 4, "startOffset": 115217, "endColumn": 114, "endOffset": 115327 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1493, "startColumn": 4, "startOffset": 117527, "endColumn": 114, "endOffset": 117637 } } }, { "to": { "startLine": 1469, "startColumn": 4, "startOffset": 115332, "endColumn": 112, "endOffset": 115440 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1494, "startColumn": 4, "startOffset": 117642, "endColumn": 112, "endOffset": 117750 } } }, { "to": { "startLine": 1470, "startColumn": 4, "startOffset": 115445, "endColumn": 98, "endOffset": 115539 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1495, "startColumn": 4, "startOffset": 117755, "endColumn": 98, "endOffset": 117849 } } }, { "to": { "startLine": 1471, "startColumn": 4, "startOffset": 115544, "endColumn": 108, "endOffset": 115648 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1496, "startColumn": 4, "startOffset": 117854, "endColumn": 108, "endOffset": 117958 } } }, { "to": { "startLine": 1472, "startColumn": 4, "startOffset": 115653, "endColumn": 110, "endOffset": 115759 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1497, "startColumn": 4, "startOffset": 117963, "endColumn": 110, "endOffset": 118069 } } }, { "to": { "startLine": 1473, "startColumn": 4, "startOffset": 115764, "endColumn": 110, "endOffset": 115870 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1498, "startColumn": 4, "startOffset": 118074, "endColumn": 110, "endOffset": 118180 } } }, { "to": { "startLine": 1474, "startColumn": 4, "startOffset": 115875, "endColumn": 100, "endOffset": 115971 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1499, "startColumn": 4, "startOffset": 118185, "endColumn": 100, "endOffset": 118281 } } }, { "to": { "startLine": 1475, "startColumn": 4, "startOffset": 115976, "endColumn": 104, "endOffset": 116076 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1500, "startColumn": 4, "startOffset": 118286, "endColumn": 104, "endOffset": 118386 } } }, { "to": { "startLine": 1476, "startColumn": 4, "startOffset": 116081, "endLine": 1477, "endColumn": 12, "endOffset": 116188 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1501, "startColumn": 4, "startOffset": 118391, "endLine": 1502, "endColumn": 12, "endOffset": 118498 } } }, { "to": { "startLine": 1478, "startColumn": 4, "startOffset": 116193, "endLine": 1479, "endColumn": 12, "endOffset": 116318 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1503, "startColumn": 4, "startOffset": 118503, "endLine": 1504, "endColumn": 12, "endOffset": 118628 } } }, { "to": { "startLine": 1480, "startColumn": 4, "startOffset": 116323, "endColumn": 90, "endOffset": 116409 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1505, "startColumn": 4, "startOffset": 118633, "endColumn": 90, "endOffset": 118719 } } }, { "to": { "startLine": 1481, "startColumn": 4, "startOffset": 116414, "endColumn": 122, "endOffset": 116532 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1506, "startColumn": 4, "startOffset": 118724, "endColumn": 122, "endOffset": 118842 } } }, { "to": { "startLine": 1482, "startColumn": 4, "startOffset": 116537, "endLine": 1483, "endColumn": 12, "endOffset": 116644 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1507, "startColumn": 4, "startOffset": 118847, "endLine": 1508, "endColumn": 12, "endOffset": 118954 } } }, { "to": { "startLine": 1484, "startColumn": 4, "startOffset": 116649, "endColumn": 85, "endOffset": 116730 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1509, "startColumn": 4, "startOffset": 118959, "endColumn": 85, "endOffset": 119040 } } }, { "to": { "startLine": 1485, "startColumn": 4, "startOffset": 116735, "endColumn": 103, "endOffset": 116834 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1510, "startColumn": 4, "startOffset": 119045, "endColumn": 103, "endOffset": 119144 } } }, { "to": { "startLine": 1486, "startColumn": 4, "startOffset": 116839, "endLine": 1487, "endColumn": 12, "endOffset": 116942 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1511, "startColumn": 4, "startOffset": 119149, "endLine": 1512, "endColumn": 12, "endOffset": 119252 } } }, { "to": { "startLine": 1488, "startColumn": 4, "startOffset": 116947, "endLine": 1489, "endColumn": 12, "endOffset": 117042 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1513, "startColumn": 4, "startOffset": 119257, "endLine": 1514, "endColumn": 12, "endOffset": 119352 } } }, { "to": { "startLine": 1490, "startColumn": 4, "startOffset": 117047, "endLine": 1491, "endColumn": 12, "endOffset": 117160 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1515, "startColumn": 4, "startOffset": 119357, "endLine": 1516, "endColumn": 12, "endOffset": 119470 } } }, { "to": { "startLine": 1492, "startColumn": 4, "startOffset": 117165, "endLine": 1493, "endColumn": 12, "endOffset": 117264 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1517, "startColumn": 4, "startOffset": 119475, "endLine": 1518, "endColumn": 12, "endOffset": 119574 } } }, { "to": { "startLine": 1494, "startColumn": 4, "startOffset": 117269, "endLine": 1495, "endColumn": 12, "endOffset": 117368 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1519, "startColumn": 4, "startOffset": 119579, "endLine": 1520, "endColumn": 12, "endOffset": 119678 } } }, { "to": { "startLine": 1496, "startColumn": 4, "startOffset": 117373, "endLine": 1497, "endColumn": 12, "endOffset": 117494 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1521, "startColumn": 4, "startOffset": 119683, "endLine": 1522, "endColumn": 12, "endOffset": 119804 } } }, { "to": { "startLine": 1498, "startColumn": 4, "startOffset": 117499, "endColumn": 87, "endOffset": 117582 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1523, "startColumn": 4, "startOffset": 119809, "endColumn": 87, "endOffset": 119892 } } }, { "to": { "startLine": 1499, "startColumn": 4, "startOffset": 117587, "endColumn": 89, "endOffset": 117672 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1524, "startColumn": 4, "startOffset": 119897, "endColumn": 89, "endOffset": 119982 } } }, { "to": { "startLine": 1500, "startColumn": 4, "startOffset": 117677, "endColumn": 109, "endOffset": 117782 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1525, "startColumn": 4, "startOffset": 119987, "endColumn": 109, "endOffset": 120092 } } }, { "to": { "startLine": 1501, "startColumn": 4, "startOffset": 117787, "endColumn": 83, "endOffset": 117866 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1526, "startColumn": 4, "startOffset": 120097, "endColumn": 83, "endOffset": 120176 } } }, { "to": { "startLine": 1502, "startColumn": 4, "startOffset": 117871, "endColumn": 53, "endOffset": 117920 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1527, "startColumn": 4, "startOffset": 120181, "endColumn": 53, "endOffset": 120230 } } }, { "to": { "startLine": 1503, "startColumn": 4, "startOffset": 117925, "endColumn": 63, "endOffset": 117984 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1528, "startColumn": 4, "startOffset": 120235, "endColumn": 63, "endOffset": 120294 } } }, { "to": { "startLine": 1504, "startColumn": 4, "startOffset": 117989, "endColumn": 105, "endOffset": 118090 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1529, "startColumn": 4, "startOffset": 120299, "endColumn": 105, "endOffset": 120400 } } }, { "to": { "startLine": 1505, "startColumn": 4, "startOffset": 118095, "endColumn": 109, "endOffset": 118200 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1530, "startColumn": 4, "startOffset": 120405, "endColumn": 109, "endOffset": 120510 } } }, { "to": { "startLine": 1506, "startColumn": 4, "startOffset": 118205, "endColumn": 83, "endOffset": 118284 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1531, "startColumn": 4, "startOffset": 120515, "endColumn": 83, "endOffset": 120594 } } }, { "to": { "startLine": 1507, "startColumn": 4, "startOffset": 118289, "endColumn": 119, "endOffset": 118404 }, "from": { "file": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values/values.xml", "position": { "startLine": 1532, "startColumn": 4, "startOffset": 120599, "endColumn": 119, "endOffset": 120714 } } } ] } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/anim.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/anim/abc_fade_out.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_fade_out.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/anim/abc_slide_in_bottom.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_slide_in_bottom.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/anim/abc_popup_enter.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_popup_enter.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/anim/abc_slide_out_top.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_slide_out_top.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/anim/abc_slide_in_top.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_slide_in_top.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/anim/slide_up.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/anim/slide_up.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/anim/catalyst_push_up_in.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/anim/catalyst_push_up_in.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/anim/abc_fade_in.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_fade_in.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/anim/abc_slide_out_bottom.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_slide_out_bottom.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/anim/abc_grow_fade_in_from_bottom.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_grow_fade_in_from_bottom.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/anim/catalyst_push_up_out.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/anim/catalyst_push_up_out.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/anim/slide_down.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/anim/slide_down.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/anim/abc_popup_exit.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_popup_exit.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/anim/abc_shrink_fade_out_from_bottom.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_shrink_fade_out_from_bottom.xml" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/color-v11.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/color-v11/abc_background_cache_hint_selector_material_light.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color-v11/abc_background_cache_hint_selector_material_light.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/color-v11/abc_background_cache_hint_selector_material_dark.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color-v11/abc_background_cache_hint_selector_material_dark.xml" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/color-v23.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/color-v23/abc_color_highlight_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color-v23/abc_color_highlight_material.xml" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/color.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/color/abc_search_url_text.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/abc_search_url_text.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/color/abc_primary_text_material_dark.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/abc_primary_text_material_dark.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/color/abc_primary_text_material_light.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/abc_primary_text_material_light.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/color/abc_secondary_text_material_dark.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/abc_secondary_text_material_dark.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/color/abc_primary_text_disable_only_material_dark.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/abc_primary_text_disable_only_material_dark.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/color/switch_thumb_material_light.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/switch_thumb_material_light.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/color/abc_primary_text_disable_only_material_light.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/abc_primary_text_disable_only_material_light.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/color/abc_secondary_text_material_light.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/abc_secondary_text_material_light.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/color/switch_thumb_material_dark.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/switch_thumb_material_dark.xml" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/drawable-hdpi-v4.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_btn_check_to_on_mtrl_000.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_btn_check_to_on_mtrl_000.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_ic_commit_search_api_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_ic_menu_cut_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_ic_menu_cut_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_btn_radio_to_on_mtrl_015.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_btn_radio_to_on_mtrl_015.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_textfield_activated_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_textfield_activated_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_ic_go_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_ic_go_search_api_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_tab_indicator_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_tab_indicator_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_list_selector_disabled_holo_light.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_list_selector_disabled_holo_light.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_cab_background_top_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_cab_background_top_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_popup_background_mtrl_mult.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_popup_background_mtrl_mult.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_textfield_default_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_textfield_default_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_ic_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_ic_search_api_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_btn_check_to_on_mtrl_015.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_btn_check_to_on_mtrl_015.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_btn_rating_star_off_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_btn_rating_star_off_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_btn_radio_to_on_mtrl_000.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_btn_radio_to_on_mtrl_000.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_ic_menu_selectall_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_textfield_search_activated_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_ic_menu_paste_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_ic_ab_back_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_textfield_search_default_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_spinner_mtrl_am_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_spinner_mtrl_am_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_ic_menu_copy_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_btn_switch_to_on_mtrl_00012.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_switch_track_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_switch_track_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_btn_switch_to_on_mtrl_00001.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_ic_menu_moreoverflow_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_list_selector_disabled_holo_dark.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_list_selector_disabled_holo_dark.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_ab_share_pack_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_ab_share_pack_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_ic_menu_share_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_ic_menu_share_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_list_divider_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_list_divider_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_list_pressed_holo_light.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_list_pressed_holo_light.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_menu_hardkey_panel_mtrl_mult.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_ic_clear_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_ic_clear_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_list_longpressed_holo.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_list_longpressed_holo.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_ic_voice_search_api_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_list_pressed_holo_dark.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_list_pressed_holo_dark.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_btn_rating_star_on_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_btn_rating_star_on_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-hdpi-v4/abc_list_focused_holo.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-hdpi/abc_list_focused_holo.9.png" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/drawable-ldrtl-hdpi-v17.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-hdpi-v17/abc_spinner_mtrl_am_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-hdpi/abc_spinner_mtrl_am_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-hdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-hdpi/abc_ic_ab_back_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-hdpi-v17/abc_ic_menu_cut_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-hdpi/abc_ic_menu_cut_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-hdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-hdpi/abc_ic_menu_copy_mtrl_am_alpha.png" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/drawable-ldrtl-mdpi-v17.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-mdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-mdpi/abc_ic_menu_copy_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-mdpi-v17/abc_spinner_mtrl_am_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-mdpi/abc_spinner_mtrl_am_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-mdpi-v17/abc_ic_menu_cut_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-mdpi/abc_ic_menu_cut_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-mdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-mdpi/abc_ic_ab_back_mtrl_am_alpha.png" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/drawable-ldrtl-xhdpi-v17.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-xhdpi-v17/abc_ic_menu_cut_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-xhdpi/abc_ic_menu_cut_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-xhdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-xhdpi/abc_ic_ab_back_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-xhdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-xhdpi/abc_ic_menu_copy_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-xhdpi-v17/abc_spinner_mtrl_am_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-xhdpi/abc_spinner_mtrl_am_alpha.9.png" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/drawable-ldrtl-xxhdpi-v17.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-xxhdpi-v17/abc_ic_menu_cut_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-xxhdpi/abc_ic_menu_cut_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-xxhdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-xxhdpi/abc_ic_ab_back_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-xxhdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-xxhdpi/abc_ic_menu_copy_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-xxhdpi-v17/abc_spinner_mtrl_am_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-xxhdpi/abc_spinner_mtrl_am_alpha.9.png" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/drawable-ldrtl-xxxhdpi-v17.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-xxxhdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-xxxhdpi/abc_ic_menu_copy_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-xxxhdpi-v17/abc_ic_menu_cut_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-xxxhdpi/abc_ic_menu_cut_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-xxxhdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-xxxhdpi/abc_ic_ab_back_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-ldrtl-xxxhdpi-v17/abc_spinner_mtrl_am_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-ldrtl-xxxhdpi/abc_spinner_mtrl_am_alpha.9.png" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/drawable-mdpi-v4.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_ic_menu_moreoverflow_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_ic_menu_cut_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_ic_menu_cut_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_ic_ab_back_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_ic_menu_share_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_ic_menu_share_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_switch_track_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_switch_track_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_ic_go_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_ic_go_search_api_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_list_longpressed_holo.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_list_longpressed_holo.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_menu_hardkey_panel_mtrl_mult.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_popup_background_mtrl_mult.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_popup_background_mtrl_mult.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_textfield_search_default_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_list_pressed_holo_dark.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_list_pressed_holo_dark.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_tab_indicator_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_tab_indicator_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_ic_commit_search_api_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_ic_voice_search_api_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_ic_clear_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_ic_clear_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_ic_menu_paste_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_btn_rating_star_on_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_btn_rating_star_on_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_ab_share_pack_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_ab_share_pack_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_list_focused_holo.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_list_focused_holo.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_btn_switch_to_on_mtrl_00012.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_btn_radio_to_on_mtrl_015.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_btn_radio_to_on_mtrl_015.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_spinner_mtrl_am_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_spinner_mtrl_am_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_btn_check_to_on_mtrl_000.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_btn_check_to_on_mtrl_000.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_btn_rating_star_off_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_btn_rating_star_off_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_list_pressed_holo_light.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_list_pressed_holo_light.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_ic_menu_copy_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_textfield_activated_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_textfield_activated_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_btn_check_to_on_mtrl_015.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_btn_check_to_on_mtrl_015.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_list_divider_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_list_divider_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_btn_switch_to_on_mtrl_00001.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_textfield_default_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_textfield_default_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_list_selector_disabled_holo_dark.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_list_selector_disabled_holo_dark.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_ic_menu_selectall_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_textfield_search_activated_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_list_selector_disabled_holo_light.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_list_selector_disabled_holo_light.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_btn_radio_to_on_mtrl_000.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_btn_radio_to_on_mtrl_000.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_cab_background_top_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_cab_background_top_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-mdpi-v4/abc_ic_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-mdpi/abc_ic_search_api_mtrl_alpha.png" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/drawable-v21.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-v21/abc_btn_colored_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-v21/abc_btn_colored_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-v21/abc_action_bar_item_background_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-v21/abc_action_bar_item_background_material.xml" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/drawable-v23.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-v23/abc_control_background_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-v23/abc_control_background_material.xml" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/drawable-xhdpi-v4.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_btn_rating_star_off_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_btn_rating_star_off_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_list_divider_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_list_divider_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_menu_hardkey_panel_mtrl_mult.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_list_longpressed_holo.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_list_longpressed_holo.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_btn_radio_to_on_mtrl_015.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_btn_radio_to_on_mtrl_015.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_btn_check_to_on_mtrl_000.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_btn_check_to_on_mtrl_000.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_ic_menu_copy_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_btn_rating_star_on_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_btn_rating_star_on_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_switch_track_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_switch_track_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_spinner_mtrl_am_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_spinner_mtrl_am_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_list_selector_disabled_holo_dark.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_list_selector_disabled_holo_dark.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_ic_commit_search_api_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_ic_menu_moreoverflow_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_tab_indicator_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_tab_indicator_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_ab_share_pack_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_ab_share_pack_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_textfield_search_default_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_ic_menu_selectall_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_btn_switch_to_on_mtrl_00001.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_list_pressed_holo_dark.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_list_pressed_holo_dark.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_textfield_default_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_textfield_default_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_ic_menu_paste_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_list_focused_holo.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_list_focused_holo.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_textfield_search_activated_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_ic_voice_search_api_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_ic_clear_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_ic_clear_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_ic_ab_back_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_list_selector_disabled_holo_light.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_list_selector_disabled_holo_light.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_textfield_activated_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_textfield_activated_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_ic_menu_share_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_ic_menu_share_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_ic_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_ic_search_api_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_list_pressed_holo_light.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_list_pressed_holo_light.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_popup_background_mtrl_mult.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_popup_background_mtrl_mult.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_btn_radio_to_on_mtrl_000.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_btn_radio_to_on_mtrl_000.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_ic_go_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_ic_go_search_api_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_btn_switch_to_on_mtrl_00012.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_btn_check_to_on_mtrl_015.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_btn_check_to_on_mtrl_015.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_cab_background_top_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_cab_background_top_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xhdpi/abc_ic_menu_cut_mtrl_alpha.png" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/drawable-xxhdpi-v4.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_cab_background_top_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_cab_background_top_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_ic_menu_copy_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_btn_check_to_on_mtrl_015.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_btn_check_to_on_mtrl_015.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_ic_commit_search_api_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_list_selector_disabled_holo_dark.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_list_selector_disabled_holo_dark.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_list_pressed_holo_dark.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_list_pressed_holo_dark.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_ab_share_pack_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_ab_share_pack_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_list_longpressed_holo.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_list_longpressed_holo.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_switch_track_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_switch_track_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_btn_radio_to_on_mtrl_015.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_btn_radio_to_on_mtrl_015.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_textfield_search_activated_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_menu_hardkey_panel_mtrl_mult.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_list_focused_holo.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_list_focused_holo.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_ic_ab_back_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_ic_voice_search_api_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_ic_clear_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_ic_clear_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_popup_background_mtrl_mult.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_popup_background_mtrl_mult.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_ic_menu_share_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_ic_menu_share_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_ic_go_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_ic_go_search_api_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_btn_radio_to_on_mtrl_000.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_btn_radio_to_on_mtrl_000.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_ic_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_ic_search_api_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_ic_menu_selectall_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_list_selector_disabled_holo_light.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_list_selector_disabled_holo_light.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_btn_switch_to_on_mtrl_00012.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_ic_menu_moreoverflow_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_tab_indicator_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_tab_indicator_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_list_pressed_holo_light.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_list_pressed_holo_light.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_btn_switch_to_on_mtrl_00001.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_ic_menu_cut_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_textfield_default_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_textfield_default_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_btn_rating_star_off_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_btn_rating_star_off_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_btn_check_to_on_mtrl_000.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_btn_check_to_on_mtrl_000.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_list_divider_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_list_divider_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_textfield_activated_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_textfield_activated_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_spinner_mtrl_am_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_spinner_mtrl_am_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_ic_menu_paste_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_btn_rating_star_on_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_btn_rating_star_on_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxhdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxhdpi/abc_textfield_search_default_mtrl_alpha.9.png" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/drawable-xxxhdpi-v4.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_spinner_mtrl_am_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_spinner_mtrl_am_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_ic_ab_back_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_ic_menu_moreoverflow_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_btn_radio_to_on_mtrl_015.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_btn_radio_to_on_mtrl_015.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_ic_voice_search_api_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_btn_check_to_on_mtrl_000.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_btn_check_to_on_mtrl_000.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_ic_menu_copy_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_ic_menu_share_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_ic_menu_share_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_btn_radio_to_on_mtrl_000.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_btn_radio_to_on_mtrl_000.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_ic_menu_selectall_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_ic_search_api_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_ic_search_api_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_ic_clear_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_ic_clear_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_ic_menu_paste_mtrl_am_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_btn_check_to_on_mtrl_015.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_btn_check_to_on_mtrl_015.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_ic_menu_cut_mtrl_alpha.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_btn_switch_to_on_mtrl_00012.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_btn_switch_to_on_mtrl_00001.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_tab_indicator_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_tab_indicator_mtrl_alpha.9.png" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable-xxxhdpi-v4/abc_switch_track_mtrl_alpha.9.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-xxxhdpi/abc_switch_track_mtrl_alpha.9.png" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/drawable.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_dialog_material_background_light.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_dialog_material_background_light.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_btn_default_mtrl_shape.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_btn_default_mtrl_shape.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_list_selector_background_transition_holo_light.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_list_selector_background_transition_holo_light.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_spinner_textfield_background_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_spinner_textfield_background_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_list_selector_holo_light.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_list_selector_holo_light.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_list_selector_holo_dark.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_list_selector_holo_dark.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_btn_check_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_btn_check_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_edit_text_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_edit_text_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_cab_background_internal_bg.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_cab_background_internal_bg.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_item_background_holo_light.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_item_background_holo_light.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_list_selector_background_transition_holo_dark.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_list_selector_background_transition_holo_dark.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_tab_indicator_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_tab_indicator_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_btn_radio_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_btn_radio_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_ratingbar_full_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_ratingbar_full_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_btn_borderless_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_btn_borderless_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_btn_colored_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_btn_colored_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_switch_thumb_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_switch_thumb_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_item_background_holo_dark.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_item_background_holo_dark.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_cab_background_top_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_cab_background_top_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_dialog_material_background_dark.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_dialog_material_background_dark.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_textfield_search_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_textfield_search_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/drawable/abc_text_cursor_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_text_cursor_material.xml" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/layout.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_action_mode_bar.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_action_mode_bar.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/notification_template_part_time.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/notification_template_part_time.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_screen_simple_overlay_action_mode.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_screen_simple_overlay_action_mode.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_list_menu_item_checkbox.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_list_menu_item_checkbox.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/fps_view.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/layout/fps_view.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_search_dropdown_item_icons_2line.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_search_dropdown_item_icons_2line.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/select_dialog_item_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/select_dialog_item_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_search_view.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_search_view.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/select_dialog_multichoice_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/select_dialog_multichoice_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_activity_chooser_view.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_activity_chooser_view.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/redbox_item_title.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/layout/redbox_item_title.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/notification_template_big_media_narrow.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/notification_template_big_media_narrow.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/notification_media_cancel_action.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/notification_media_cancel_action.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_screen_toolbar.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_screen_toolbar.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/select_dialog_singlechoice_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/select_dialog_singlechoice_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_popup_menu_item_layout.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_popup_menu_item_layout.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_action_bar_view_list_nav_layout.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_action_bar_view_list_nav_layout.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_screen_simple.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_screen_simple.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/redbox_item_frame.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/layout/redbox_item_frame.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_alert_dialog_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_alert_dialog_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_action_menu_item_layout.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_action_menu_item_layout.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_action_mode_close_item_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_action_mode_close_item_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_action_bar_up_container.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_action_bar_up_container.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_dialog_title_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_dialog_title_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_expanded_menu_layout.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_expanded_menu_layout.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_activity_chooser_view_list_item.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_activity_chooser_view_list_item.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_action_menu_layout.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_action_menu_layout.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_list_menu_item_radio.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_list_menu_item_radio.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/notification_template_part_chronometer.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/notification_template_part_chronometer.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_list_menu_item_layout.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_list_menu_item_layout.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_screen_content_include.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_screen_content_include.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/notification_template_big_media.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/notification_template_big_media.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/redbox_view.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/layout/redbox_view.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_list_menu_item_icon.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_list_menu_item_icon.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/support_simple_spinner_dropdown_item.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/support_simple_spinner_dropdown_item.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_select_dialog_material.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_select_dialog_material.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/abc_action_bar_title_item.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_action_bar_title_item.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/notification_template_lines.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/notification_template_lines.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/notification_media_action.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/notification_media_action.xml" }, { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/layout/notification_template_media.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/notification_template_media.xml" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/mipmap-hdpi-v4.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/mipmap-hdpi-v4/ic_launcher.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/src/main/res/mipmap-hdpi/ic_launcher.png" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/mipmap-mdpi-v4.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/mipmap-mdpi-v4/ic_launcher.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/src/main/res/mipmap-mdpi/ic_launcher.png" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/mipmap-xhdpi-v4.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/mipmap-xhdpi-v4/ic_launcher.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/mipmap-xxhdpi-v4.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/mipmap-xxhdpi-v4/ic_launcher.png", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/blame/res/debug/single/xml.json ================================================ [ { "merged": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/res/merged/debug/xml/preferences.xml", "source": "/Users/Harini/Desktop/Dev Playground/thegaze/android/app/build/intermediates/exploded-aar/com.facebook.react/react-native/0.25.1/res/xml/preferences.xml" } ] ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/bundles/debug/instant-run/AndroidManifest.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/AndroidManifest.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/R.txt ================================================ int anim abc_fade_in 0x7f040000 int anim abc_fade_out 0x7f040001 int anim abc_grow_fade_in_from_bottom 0x7f040002 int anim abc_popup_enter 0x7f040003 int anim abc_popup_exit 0x7f040004 int anim abc_shrink_fade_out_from_bottom 0x7f040005 int anim abc_slide_in_bottom 0x7f040006 int anim abc_slide_in_top 0x7f040007 int anim abc_slide_out_bottom 0x7f040008 int anim abc_slide_out_top 0x7f040009 int attr actionBarDivider 0x7f010062 int attr actionBarItemBackground 0x7f010063 int attr actionBarPopupTheme 0x7f01005c int attr actionBarSize 0x7f010061 int attr actionBarSplitStyle 0x7f01005e int attr actionBarStyle 0x7f01005d int attr actionBarTabBarStyle 0x7f010058 int attr actionBarTabStyle 0x7f010057 int attr actionBarTabTextStyle 0x7f010059 int attr actionBarTheme 0x7f01005f int attr actionBarWidgetTheme 0x7f010060 int attr actionButtonStyle 0x7f01007c int attr actionDropDownStyle 0x7f010078 int attr actionLayout 0x7f010033 int attr actionMenuTextAppearance 0x7f010064 int attr actionMenuTextColor 0x7f010065 int attr actionModeBackground 0x7f010068 int attr actionModeCloseButtonStyle 0x7f010067 int attr actionModeCloseDrawable 0x7f01006a int attr actionModeCopyDrawable 0x7f01006c int attr actionModeCutDrawable 0x7f01006b int attr actionModeFindDrawable 0x7f010070 int attr actionModePasteDrawable 0x7f01006d int attr actionModePopupWindowStyle 0x7f010072 int attr actionModeSelectAllDrawable 0x7f01006e int attr actionModeShareDrawable 0x7f01006f int attr actionModeSplitBackground 0x7f010069 int attr actionModeStyle 0x7f010066 int attr actionModeWebSearchDrawable 0x7f010071 int attr actionOverflowButtonStyle 0x7f01005a int attr actionOverflowMenuStyle 0x7f01005b int attr actionProviderClass 0x7f010035 int attr actionViewClass 0x7f010034 int attr activityChooserViewStyle 0x7f010084 int attr alertDialogButtonGroupStyle 0x7f0100a6 int attr alertDialogCenterButtons 0x7f0100a7 int attr alertDialogStyle 0x7f0100a5 int attr alertDialogTheme 0x7f0100a8 int attr arrowHeadLength 0x7f01002b int attr arrowShaftLength 0x7f01002c int attr autoCompleteTextViewStyle 0x7f0100ad int attr background 0x7f01000c int attr backgroundSplit 0x7f01000e int attr backgroundStacked 0x7f01000d int attr backgroundTint 0x7f0100c9 int attr backgroundTintMode 0x7f0100ca int attr barLength 0x7f01002d int attr borderlessButtonStyle 0x7f010081 int attr buttonBarButtonStyle 0x7f01007e int attr buttonBarNegativeButtonStyle 0x7f0100ab int attr buttonBarNeutralButtonStyle 0x7f0100ac int attr buttonBarPositiveButtonStyle 0x7f0100aa int attr buttonBarStyle 0x7f01007d int attr buttonPanelSideLayout 0x7f01001f int attr buttonStyle 0x7f0100ae int attr buttonStyleSmall 0x7f0100af int attr buttonTint 0x7f010025 int attr buttonTintMode 0x7f010026 int attr checkboxStyle 0x7f0100b0 int attr checkedTextViewStyle 0x7f0100b1 int attr closeIcon 0x7f01003d int attr closeItemLayout 0x7f01001c int attr collapseContentDescription 0x7f0100c0 int attr collapseIcon 0x7f0100bf int attr color 0x7f010027 int attr colorAccent 0x7f01009e int attr colorButtonNormal 0x7f0100a2 int attr colorControlActivated 0x7f0100a0 int attr colorControlHighlight 0x7f0100a1 int attr colorControlNormal 0x7f01009f int attr colorPrimary 0x7f01009c int attr colorPrimaryDark 0x7f01009d int attr colorSwitchThumbNormal 0x7f0100a3 int attr commitIcon 0x7f010042 int attr contentInsetEnd 0x7f010017 int attr contentInsetLeft 0x7f010018 int attr contentInsetRight 0x7f010019 int attr contentInsetStart 0x7f010016 int attr controlBackground 0x7f0100a4 int attr customNavigationLayout 0x7f01000f int attr defaultQueryHint 0x7f01003c int attr dialogPreferredPadding 0x7f010076 int attr dialogTheme 0x7f010075 int attr displayOptions 0x7f010005 int attr divider 0x7f01000b int attr dividerHorizontal 0x7f010083 int attr dividerPadding 0x7f010031 int attr dividerVertical 0x7f010082 int attr drawableSize 0x7f010029 int attr drawerArrowStyle 0x7f010000 int attr dropDownListViewStyle 0x7f010094 int attr dropdownListPreferredItemHeight 0x7f010079 int attr editTextBackground 0x7f01008a int attr editTextColor 0x7f010089 int attr editTextStyle 0x7f0100b2 int attr elevation 0x7f01001a int attr expandActivityOverflowButtonDrawable 0x7f01001e int attr gapBetweenBars 0x7f01002a int attr goIcon 0x7f01003e int attr height 0x7f010001 int attr hideOnContentScroll 0x7f010015 int attr homeAsUpIndicator 0x7f01007b int attr homeLayout 0x7f010010 int attr icon 0x7f010009 int attr iconifiedByDefault 0x7f01003a int attr indeterminateProgressStyle 0x7f010012 int attr initialActivityCount 0x7f01001d int attr isLightTheme 0x7f010002 int attr itemPadding 0x7f010014 int attr layout 0x7f010039 int attr listChoiceBackgroundIndicator 0x7f01009b int attr listDividerAlertDialog 0x7f010077 int attr listItemLayout 0x7f010023 int attr listLayout 0x7f010020 int attr listPopupWindowStyle 0x7f010095 int attr listPreferredItemHeight 0x7f01008f int attr listPreferredItemHeightLarge 0x7f010091 int attr listPreferredItemHeightSmall 0x7f010090 int attr listPreferredItemPaddingLeft 0x7f010092 int attr listPreferredItemPaddingRight 0x7f010093 int attr logo 0x7f01000a int attr logoDescription 0x7f0100c3 int attr maxButtonHeight 0x7f0100be int attr measureWithLargestChild 0x7f01002f int attr multiChoiceItemLayout 0x7f010021 int attr navigationContentDescription 0x7f0100c2 int attr navigationIcon 0x7f0100c1 int attr navigationMode 0x7f010004 int attr overlapAnchor 0x7f010037 int attr paddingEnd 0x7f0100c7 int attr paddingStart 0x7f0100c6 int attr panelBackground 0x7f010098 int attr panelMenuListTheme 0x7f01009a int attr panelMenuListWidth 0x7f010099 int attr popupMenuStyle 0x7f010087 int attr popupTheme 0x7f01001b int attr popupWindowStyle 0x7f010088 int attr preserveIconSpacing 0x7f010036 int attr progressBarPadding 0x7f010013 int attr progressBarStyle 0x7f010011 int attr queryBackground 0x7f010044 int attr queryHint 0x7f01003b int attr radioButtonStyle 0x7f0100b3 int attr ratingBarStyle 0x7f0100b4 int attr searchHintIcon 0x7f010040 int attr searchIcon 0x7f01003f int attr searchViewStyle 0x7f01008e int attr selectableItemBackground 0x7f01007f int attr selectableItemBackgroundBorderless 0x7f010080 int attr showAsAction 0x7f010032 int attr showDividers 0x7f010030 int attr showText 0x7f01004c int attr singleChoiceItemLayout 0x7f010022 int attr spinBars 0x7f010028 int attr spinnerDropDownItemStyle 0x7f01007a int attr spinnerStyle 0x7f0100b5 int attr splitTrack 0x7f01004b int attr state_above_anchor 0x7f010038 int attr submitBackground 0x7f010045 int attr subtitle 0x7f010006 int attr subtitleTextAppearance 0x7f0100b8 int attr subtitleTextColor 0x7f0100c5 int attr subtitleTextStyle 0x7f010008 int attr suggestionRowLayout 0x7f010043 int attr switchMinWidth 0x7f010049 int attr switchPadding 0x7f01004a int attr switchStyle 0x7f0100b6 int attr switchTextAppearance 0x7f010048 int attr textAllCaps 0x7f010024 int attr textAppearanceLargePopupMenu 0x7f010073 int attr textAppearanceListItem 0x7f010096 int attr textAppearanceListItemSmall 0x7f010097 int attr textAppearanceSearchResultSubtitle 0x7f01008c int attr textAppearanceSearchResultTitle 0x7f01008b int attr textAppearanceSmallPopupMenu 0x7f010074 int attr textColorAlertDialogListItem 0x7f0100a9 int attr textColorSearchUrl 0x7f01008d int attr theme 0x7f0100c8 int attr thickness 0x7f01002e int attr thumbTextPadding 0x7f010047 int attr title 0x7f010003 int attr titleMarginBottom 0x7f0100bd int attr titleMarginEnd 0x7f0100bb int attr titleMarginStart 0x7f0100ba int attr titleMarginTop 0x7f0100bc int attr titleMargins 0x7f0100b9 int attr titleTextAppearance 0x7f0100b7 int attr titleTextColor 0x7f0100c4 int attr titleTextStyle 0x7f010007 int attr toolbarNavigationButtonStyle 0x7f010086 int attr toolbarStyle 0x7f010085 int attr track 0x7f010046 int attr voiceIcon 0x7f010041 int attr windowActionBar 0x7f01004d int attr windowActionBarOverlay 0x7f01004f int attr windowActionModeOverlay 0x7f010050 int attr windowFixedHeightMajor 0x7f010054 int attr windowFixedHeightMinor 0x7f010052 int attr windowFixedWidthMajor 0x7f010051 int attr windowFixedWidthMinor 0x7f010053 int attr windowMinWidthMajor 0x7f010055 int attr windowMinWidthMinor 0x7f010056 int attr windowNoTitle 0x7f01004e int bool abc_action_bar_embed_tabs 0x7f080002 int bool abc_action_bar_embed_tabs_pre_jb 0x7f080000 int bool abc_action_bar_expanded_action_views_exclusive 0x7f080003 int bool abc_config_actionMenuItemAllCaps 0x7f080004 int bool abc_config_allowActionMenuItemTextWithIcon 0x7f080001 int bool abc_config_closeDialogWhenTouchOutside 0x7f080005 int bool abc_config_showMenuShortcutsWhenKeyboardPresent 0x7f080006 int color abc_background_cache_hint_selector_material_dark 0x7f0a003a int color abc_background_cache_hint_selector_material_light 0x7f0a003b int color abc_color_highlight_material 0x7f0a003c int color abc_input_method_navigation_guard 0x7f0a0000 int color abc_primary_text_disable_only_material_dark 0x7f0a003d int color abc_primary_text_disable_only_material_light 0x7f0a003e int color abc_primary_text_material_dark 0x7f0a003f int color abc_primary_text_material_light 0x7f0a0040 int color abc_search_url_text 0x7f0a0041 int color abc_search_url_text_normal 0x7f0a0001 int color abc_search_url_text_pressed 0x7f0a0002 int color abc_search_url_text_selected 0x7f0a0003 int color abc_secondary_text_material_dark 0x7f0a0042 int color abc_secondary_text_material_light 0x7f0a0043 int color accent_material_dark 0x7f0a0004 int color accent_material_light 0x7f0a0005 int color background_floating_material_dark 0x7f0a0006 int color background_floating_material_light 0x7f0a0007 int color background_material_dark 0x7f0a0008 int color background_material_light 0x7f0a0009 int color bright_foreground_disabled_material_dark 0x7f0a000a int color bright_foreground_disabled_material_light 0x7f0a000b int color bright_foreground_inverse_material_dark 0x7f0a000c int color bright_foreground_inverse_material_light 0x7f0a000d int color bright_foreground_material_dark 0x7f0a000e int color bright_foreground_material_light 0x7f0a000f int color button_material_dark 0x7f0a0010 int color button_material_light 0x7f0a0011 int color dim_foreground_disabled_material_dark 0x7f0a0012 int color dim_foreground_disabled_material_light 0x7f0a0013 int color dim_foreground_material_dark 0x7f0a0014 int color dim_foreground_material_light 0x7f0a0015 int color foreground_material_dark 0x7f0a0016 int color foreground_material_light 0x7f0a0017 int color highlighted_text_material_dark 0x7f0a0018 int color highlighted_text_material_light 0x7f0a0019 int color hint_foreground_material_dark 0x7f0a001a int color hint_foreground_material_light 0x7f0a001b int color material_blue_grey_800 0x7f0a001c int color material_blue_grey_900 0x7f0a001d int color material_blue_grey_950 0x7f0a001e int color material_deep_teal_200 0x7f0a001f int color material_deep_teal_500 0x7f0a0020 int color material_grey_100 0x7f0a0021 int color material_grey_300 0x7f0a0022 int color material_grey_50 0x7f0a0023 int color material_grey_600 0x7f0a0024 int color material_grey_800 0x7f0a0025 int color material_grey_850 0x7f0a0026 int color material_grey_900 0x7f0a0027 int color primary_dark_material_dark 0x7f0a0028 int color primary_dark_material_light 0x7f0a0029 int color primary_material_dark 0x7f0a002a int color primary_material_light 0x7f0a002b int color primary_text_default_material_dark 0x7f0a002c int color primary_text_default_material_light 0x7f0a002d int color primary_text_disabled_material_dark 0x7f0a002e int color primary_text_disabled_material_light 0x7f0a002f int color ripple_material_dark 0x7f0a0030 int color ripple_material_light 0x7f0a0031 int color secondary_text_default_material_dark 0x7f0a0032 int color secondary_text_default_material_light 0x7f0a0033 int color secondary_text_disabled_material_dark 0x7f0a0034 int color secondary_text_disabled_material_light 0x7f0a0035 int color switch_thumb_disabled_material_dark 0x7f0a0036 int color switch_thumb_disabled_material_light 0x7f0a0037 int color switch_thumb_material_dark 0x7f0a0044 int color switch_thumb_material_light 0x7f0a0045 int color switch_thumb_normal_material_dark 0x7f0a0038 int color switch_thumb_normal_material_light 0x7f0a0039 int dimen abc_action_bar_content_inset_material 0x7f06000b int dimen abc_action_bar_default_height_material 0x7f060001 int dimen abc_action_bar_default_padding_end_material 0x7f06000c int dimen abc_action_bar_default_padding_start_material 0x7f06000d int dimen abc_action_bar_icon_vertical_padding_material 0x7f06000f int dimen abc_action_bar_overflow_padding_end_material 0x7f060010 int dimen abc_action_bar_overflow_padding_start_material 0x7f060011 int dimen abc_action_bar_progress_bar_size 0x7f060002 int dimen abc_action_bar_stacked_max_height 0x7f060012 int dimen abc_action_bar_stacked_tab_max_width 0x7f060013 int dimen abc_action_bar_subtitle_bottom_margin_material 0x7f060014 int dimen abc_action_bar_subtitle_top_margin_material 0x7f060015 int dimen abc_action_button_min_height_material 0x7f060016 int dimen abc_action_button_min_width_material 0x7f060017 int dimen abc_action_button_min_width_overflow_material 0x7f060018 int dimen abc_alert_dialog_button_bar_height 0x7f060000 int dimen abc_button_inset_horizontal_material 0x7f060019 int dimen abc_button_inset_vertical_material 0x7f06001a int dimen abc_button_padding_horizontal_material 0x7f06001b int dimen abc_button_padding_vertical_material 0x7f06001c int dimen abc_config_prefDialogWidth 0x7f060005 int dimen abc_control_corner_material 0x7f06001d int dimen abc_control_inset_material 0x7f06001e int dimen abc_control_padding_material 0x7f06001f int dimen abc_dialog_list_padding_vertical_material 0x7f060020 int dimen abc_dialog_min_width_major 0x7f060021 int dimen abc_dialog_min_width_minor 0x7f060022 int dimen abc_dialog_padding_material 0x7f060023 int dimen abc_dialog_padding_top_material 0x7f060024 int dimen abc_disabled_alpha_material_dark 0x7f060025 int dimen abc_disabled_alpha_material_light 0x7f060026 int dimen abc_dropdownitem_icon_width 0x7f060027 int dimen abc_dropdownitem_text_padding_left 0x7f060028 int dimen abc_dropdownitem_text_padding_right 0x7f060029 int dimen abc_edit_text_inset_bottom_material 0x7f06002a int dimen abc_edit_text_inset_horizontal_material 0x7f06002b int dimen abc_edit_text_inset_top_material 0x7f06002c int dimen abc_floating_window_z 0x7f06002d int dimen abc_list_item_padding_horizontal_material 0x7f06002e int dimen abc_panel_menu_list_width 0x7f06002f int dimen abc_search_view_preferred_width 0x7f060030 int dimen abc_search_view_text_min_width 0x7f060006 int dimen abc_switch_padding 0x7f06000e int dimen abc_text_size_body_1_material 0x7f060031 int dimen abc_text_size_body_2_material 0x7f060032 int dimen abc_text_size_button_material 0x7f060033 int dimen abc_text_size_caption_material 0x7f060034 int dimen abc_text_size_display_1_material 0x7f060035 int dimen abc_text_size_display_2_material 0x7f060036 int dimen abc_text_size_display_3_material 0x7f060037 int dimen abc_text_size_display_4_material 0x7f060038 int dimen abc_text_size_headline_material 0x7f060039 int dimen abc_text_size_large_material 0x7f06003a int dimen abc_text_size_medium_material 0x7f06003b int dimen abc_text_size_menu_material 0x7f06003c int dimen abc_text_size_small_material 0x7f06003d int dimen abc_text_size_subhead_material 0x7f06003e int dimen abc_text_size_subtitle_material_toolbar 0x7f060003 int dimen abc_text_size_title_material 0x7f06003f int dimen abc_text_size_title_material_toolbar 0x7f060004 int dimen dialog_fixed_height_major 0x7f060007 int dimen dialog_fixed_height_minor 0x7f060008 int dimen dialog_fixed_width_major 0x7f060009 int dimen dialog_fixed_width_minor 0x7f06000a int dimen disabled_alpha_material_dark 0x7f060040 int dimen disabled_alpha_material_light 0x7f060041 int dimen highlight_alpha_material_colored 0x7f060042 int dimen highlight_alpha_material_dark 0x7f060043 int dimen highlight_alpha_material_light 0x7f060044 int dimen notification_large_icon_height 0x7f060045 int dimen notification_large_icon_width 0x7f060046 int dimen notification_subtext_size 0x7f060047 int drawable abc_ab_share_pack_mtrl_alpha 0x7f020000 int drawable abc_action_bar_item_background_material 0x7f020001 int drawable abc_btn_borderless_material 0x7f020002 int drawable abc_btn_check_material 0x7f020003 int drawable abc_btn_check_to_on_mtrl_000 0x7f020004 int drawable abc_btn_check_to_on_mtrl_015 0x7f020005 int drawable abc_btn_colored_material 0x7f020006 int drawable abc_btn_default_mtrl_shape 0x7f020007 int drawable abc_btn_radio_material 0x7f020008 int drawable abc_btn_radio_to_on_mtrl_000 0x7f020009 int drawable abc_btn_radio_to_on_mtrl_015 0x7f02000a int drawable abc_btn_rating_star_off_mtrl_alpha 0x7f02000b int drawable abc_btn_rating_star_on_mtrl_alpha 0x7f02000c int drawable abc_btn_switch_to_on_mtrl_00001 0x7f02000d int drawable abc_btn_switch_to_on_mtrl_00012 0x7f02000e int drawable abc_cab_background_internal_bg 0x7f02000f int drawable abc_cab_background_top_material 0x7f020010 int drawable abc_cab_background_top_mtrl_alpha 0x7f020011 int drawable abc_control_background_material 0x7f020012 int drawable abc_dialog_material_background_dark 0x7f020013 int drawable abc_dialog_material_background_light 0x7f020014 int drawable abc_edit_text_material 0x7f020015 int drawable abc_ic_ab_back_mtrl_am_alpha 0x7f020016 int drawable abc_ic_clear_mtrl_alpha 0x7f020017 int drawable abc_ic_commit_search_api_mtrl_alpha 0x7f020018 int drawable abc_ic_go_search_api_mtrl_alpha 0x7f020019 int drawable abc_ic_menu_copy_mtrl_am_alpha 0x7f02001a int drawable abc_ic_menu_cut_mtrl_alpha 0x7f02001b int drawable abc_ic_menu_moreoverflow_mtrl_alpha 0x7f02001c int drawable abc_ic_menu_paste_mtrl_am_alpha 0x7f02001d int drawable abc_ic_menu_selectall_mtrl_alpha 0x7f02001e int drawable abc_ic_menu_share_mtrl_alpha 0x7f02001f int drawable abc_ic_search_api_mtrl_alpha 0x7f020020 int drawable abc_ic_voice_search_api_mtrl_alpha 0x7f020021 int drawable abc_item_background_holo_dark 0x7f020022 int drawable abc_item_background_holo_light 0x7f020023 int drawable abc_list_divider_mtrl_alpha 0x7f020024 int drawable abc_list_focused_holo 0x7f020025 int drawable abc_list_longpressed_holo 0x7f020026 int drawable abc_list_pressed_holo_dark 0x7f020027 int drawable abc_list_pressed_holo_light 0x7f020028 int drawable abc_list_selector_background_transition_holo_dark 0x7f020029 int drawable abc_list_selector_background_transition_holo_light 0x7f02002a int drawable abc_list_selector_disabled_holo_dark 0x7f02002b int drawable abc_list_selector_disabled_holo_light 0x7f02002c int drawable abc_list_selector_holo_dark 0x7f02002d int drawable abc_list_selector_holo_light 0x7f02002e int drawable abc_menu_hardkey_panel_mtrl_mult 0x7f02002f int drawable abc_popup_background_mtrl_mult 0x7f020030 int drawable abc_ratingbar_full_material 0x7f020031 int drawable abc_spinner_mtrl_am_alpha 0x7f020032 int drawable abc_spinner_textfield_background_material 0x7f020033 int drawable abc_switch_thumb_material 0x7f020034 int drawable abc_switch_track_mtrl_alpha 0x7f020035 int drawable abc_tab_indicator_material 0x7f020036 int drawable abc_tab_indicator_mtrl_alpha 0x7f020037 int drawable abc_text_cursor_material 0x7f020038 int drawable abc_textfield_activated_mtrl_alpha 0x7f020039 int drawable abc_textfield_default_mtrl_alpha 0x7f02003a int drawable abc_textfield_search_activated_mtrl_alpha 0x7f02003b int drawable abc_textfield_search_default_mtrl_alpha 0x7f02003c int drawable abc_textfield_search_material 0x7f02003d int drawable notification_template_icon_bg 0x7f02003e int id action0 0x7f0b004d int id action_bar 0x7f0b003e int id action_bar_activity_content 0x7f0b0000 int id action_bar_container 0x7f0b003d int id action_bar_root 0x7f0b0039 int id action_bar_spinner 0x7f0b0001 int id action_bar_subtitle 0x7f0b0022 int id action_bar_title 0x7f0b0021 int id action_context_bar 0x7f0b003f int id action_divider 0x7f0b0051 int id action_menu_divider 0x7f0b0002 int id action_menu_presenter 0x7f0b0003 int id action_mode_bar 0x7f0b003b int id action_mode_bar_stub 0x7f0b003a int id action_mode_close_button 0x7f0b0023 int id activity_chooser_view_content 0x7f0b0024 int id alertTitle 0x7f0b002e int id always 0x7f0b001b int id beginning 0x7f0b0018 int id buttonPanel 0x7f0b0034 int id cancel_action 0x7f0b004e int id checkbox 0x7f0b0036 int id chronometer 0x7f0b0054 int id collapseActionView 0x7f0b001c int id contentPanel 0x7f0b002f int id custom 0x7f0b0033 int id customPanel 0x7f0b0032 int id decor_content_parent 0x7f0b003c int id default_activity_button 0x7f0b0027 int id disableHome 0x7f0b000c int id edit_query 0x7f0b0040 int id end 0x7f0b0019 int id end_padder 0x7f0b0059 int id expand_activities_button 0x7f0b0025 int id expanded_menu 0x7f0b0035 int id home 0x7f0b0004 int id homeAsUp 0x7f0b000d int id icon 0x7f0b0029 int id ifRoom 0x7f0b001d int id image 0x7f0b0026 int id info 0x7f0b0058 int id line1 0x7f0b0052 int id line3 0x7f0b0056 int id listMode 0x7f0b0009 int id list_item 0x7f0b0028 int id media_actions 0x7f0b0050 int id middle 0x7f0b001a int id multiply 0x7f0b0013 int id never 0x7f0b001e int id none 0x7f0b000e int id normal 0x7f0b000a int id parentPanel 0x7f0b002b int id progress_circular 0x7f0b0005 int id progress_horizontal 0x7f0b0006 int id radio 0x7f0b0038 int id screen 0x7f0b0014 int id scrollView 0x7f0b0030 int id search_badge 0x7f0b0042 int id search_bar 0x7f0b0041 int id search_button 0x7f0b0043 int id search_close_btn 0x7f0b0048 int id search_edit_frame 0x7f0b0044 int id search_go_btn 0x7f0b004a int id search_mag_icon 0x7f0b0045 int id search_plate 0x7f0b0046 int id search_src_text 0x7f0b0047 int id search_voice_btn 0x7f0b004b int id select_dialog_listview 0x7f0b004c int id shortcut 0x7f0b0037 int id showCustom 0x7f0b000f int id showHome 0x7f0b0010 int id showTitle 0x7f0b0011 int id split_action_bar 0x7f0b0007 int id src_atop 0x7f0b0015 int id src_in 0x7f0b0016 int id src_over 0x7f0b0017 int id status_bar_latest_event_content 0x7f0b004f int id submit_area 0x7f0b0049 int id tabMode 0x7f0b000b int id text 0x7f0b0057 int id text2 0x7f0b0055 int id textSpacerNoButtons 0x7f0b0031 int id time 0x7f0b0053 int id title 0x7f0b002a int id title_template 0x7f0b002d int id topPanel 0x7f0b002c int id up 0x7f0b0008 int id useLogo 0x7f0b0012 int id withText 0x7f0b001f int id wrap_content 0x7f0b0020 int integer abc_config_activityDefaultDur 0x7f090001 int integer abc_config_activityShortDur 0x7f090002 int integer abc_max_action_buttons 0x7f090000 int integer cancel_button_image_alpha 0x7f090003 int integer status_bar_notification_info_maxnum 0x7f090004 int layout abc_action_bar_title_item 0x7f030000 int layout abc_action_bar_up_container 0x7f030001 int layout abc_action_bar_view_list_nav_layout 0x7f030002 int layout abc_action_menu_item_layout 0x7f030003 int layout abc_action_menu_layout 0x7f030004 int layout abc_action_mode_bar 0x7f030005 int layout abc_action_mode_close_item_material 0x7f030006 int layout abc_activity_chooser_view 0x7f030007 int layout abc_activity_chooser_view_list_item 0x7f030008 int layout abc_alert_dialog_material 0x7f030009 int layout abc_dialog_title_material 0x7f03000a int layout abc_expanded_menu_layout 0x7f03000b int layout abc_list_menu_item_checkbox 0x7f03000c int layout abc_list_menu_item_icon 0x7f03000d int layout abc_list_menu_item_layout 0x7f03000e int layout abc_list_menu_item_radio 0x7f03000f int layout abc_popup_menu_item_layout 0x7f030010 int layout abc_screen_content_include 0x7f030011 int layout abc_screen_simple 0x7f030012 int layout abc_screen_simple_overlay_action_mode 0x7f030013 int layout abc_screen_toolbar 0x7f030014 int layout abc_search_dropdown_item_icons_2line 0x7f030015 int layout abc_search_view 0x7f030016 int layout abc_select_dialog_material 0x7f030017 int layout notification_media_action 0x7f030018 int layout notification_media_cancel_action 0x7f030019 int layout notification_template_big_media 0x7f03001a int layout notification_template_big_media_narrow 0x7f03001b int layout notification_template_lines 0x7f03001c int layout notification_template_media 0x7f03001d int layout notification_template_part_chronometer 0x7f03001e int layout notification_template_part_time 0x7f03001f int layout select_dialog_item_material 0x7f030020 int layout select_dialog_multichoice_material 0x7f030021 int layout select_dialog_singlechoice_material 0x7f030022 int layout support_simple_spinner_dropdown_item 0x7f030023 int string abc_action_bar_home_description 0x7f050000 int string abc_action_bar_home_description_format 0x7f050001 int string abc_action_bar_home_subtitle_description_format 0x7f050002 int string abc_action_bar_up_description 0x7f050003 int string abc_action_menu_overflow_description 0x7f050004 int string abc_action_mode_done 0x7f050005 int string abc_activity_chooser_view_see_all 0x7f050006 int string abc_activitychooserview_choose_application 0x7f050007 int string abc_search_hint 0x7f050008 int string abc_searchview_description_clear 0x7f050009 int string abc_searchview_description_query 0x7f05000a int string abc_searchview_description_search 0x7f05000b int string abc_searchview_description_submit 0x7f05000c int string abc_searchview_description_voice 0x7f05000d int string abc_shareactionprovider_share_with 0x7f05000e int string abc_shareactionprovider_share_with_application 0x7f05000f int string abc_toolbar_collapse_description 0x7f050010 int string status_bar_notification_info_overflow 0x7f050011 int style AlertDialog_AppCompat 0x7f07007a int style AlertDialog_AppCompat_Light 0x7f07007b int style Animation_AppCompat_Dialog 0x7f07007c int style Animation_AppCompat_DropDownUp 0x7f07007d int style Base_AlertDialog_AppCompat 0x7f07007e int style Base_AlertDialog_AppCompat_Light 0x7f07007f int style Base_Animation_AppCompat_Dialog 0x7f070080 int style Base_Animation_AppCompat_DropDownUp 0x7f070081 int style Base_DialogWindowTitle_AppCompat 0x7f070082 int style Base_DialogWindowTitleBackground_AppCompat 0x7f070083 int style Base_TextAppearance_AppCompat 0x7f07002d int style Base_TextAppearance_AppCompat_Body1 0x7f07002e int style Base_TextAppearance_AppCompat_Body2 0x7f07002f int style Base_TextAppearance_AppCompat_Button 0x7f070018 int style Base_TextAppearance_AppCompat_Caption 0x7f070030 int style Base_TextAppearance_AppCompat_Display1 0x7f070031 int style Base_TextAppearance_AppCompat_Display2 0x7f070032 int style Base_TextAppearance_AppCompat_Display3 0x7f070033 int style Base_TextAppearance_AppCompat_Display4 0x7f070034 int style Base_TextAppearance_AppCompat_Headline 0x7f070035 int style Base_TextAppearance_AppCompat_Inverse 0x7f070003 int style Base_TextAppearance_AppCompat_Large 0x7f070036 int style Base_TextAppearance_AppCompat_Large_Inverse 0x7f070004 int style Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Large 0x7f070037 int style Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Small 0x7f070038 int style Base_TextAppearance_AppCompat_Medium 0x7f070039 int style Base_TextAppearance_AppCompat_Medium_Inverse 0x7f070005 int style Base_TextAppearance_AppCompat_Menu 0x7f07003a int style Base_TextAppearance_AppCompat_SearchResult 0x7f070084 int style Base_TextAppearance_AppCompat_SearchResult_Subtitle 0x7f07003b int style Base_TextAppearance_AppCompat_SearchResult_Title 0x7f07003c int style Base_TextAppearance_AppCompat_Small 0x7f07003d int style Base_TextAppearance_AppCompat_Small_Inverse 0x7f070006 int style Base_TextAppearance_AppCompat_Subhead 0x7f07003e int style Base_TextAppearance_AppCompat_Subhead_Inverse 0x7f070007 int style Base_TextAppearance_AppCompat_Title 0x7f07003f int style Base_TextAppearance_AppCompat_Title_Inverse 0x7f070008 int style Base_TextAppearance_AppCompat_Widget_ActionBar_Menu 0x7f070040 int style Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle 0x7f070041 int style Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse 0x7f070042 int style Base_TextAppearance_AppCompat_Widget_ActionBar_Title 0x7f070043 int style Base_TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse 0x7f070044 int style Base_TextAppearance_AppCompat_Widget_ActionMode_Subtitle 0x7f070045 int style Base_TextAppearance_AppCompat_Widget_ActionMode_Title 0x7f070046 int style Base_TextAppearance_AppCompat_Widget_Button 0x7f070047 int style Base_TextAppearance_AppCompat_Widget_Button_Inverse 0x7f070076 int style Base_TextAppearance_AppCompat_Widget_DropDownItem 0x7f070085 int style Base_TextAppearance_AppCompat_Widget_PopupMenu_Large 0x7f070048 int style Base_TextAppearance_AppCompat_Widget_PopupMenu_Small 0x7f070049 int style Base_TextAppearance_AppCompat_Widget_Switch 0x7f07004a int style Base_TextAppearance_AppCompat_Widget_TextView_SpinnerItem 0x7f07004b int style Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item 0x7f070086 int style Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle 0x7f07004c int style Base_TextAppearance_Widget_AppCompat_Toolbar_Title 0x7f07004d int style Base_Theme_AppCompat 0x7f07004e int style Base_Theme_AppCompat_CompactMenu 0x7f070087 int style Base_Theme_AppCompat_Dialog 0x7f070009 int style Base_Theme_AppCompat_Dialog_Alert 0x7f070088 int style Base_Theme_AppCompat_Dialog_FixedSize 0x7f070089 int style Base_Theme_AppCompat_Dialog_MinWidth 0x7f07008a int style Base_Theme_AppCompat_DialogWhenLarge 0x7f070001 int style Base_Theme_AppCompat_Light 0x7f07004f int style Base_Theme_AppCompat_Light_DarkActionBar 0x7f07008b int style Base_Theme_AppCompat_Light_Dialog 0x7f07000a int style Base_Theme_AppCompat_Light_Dialog_Alert 0x7f07008c int style Base_Theme_AppCompat_Light_Dialog_FixedSize 0x7f07008d int style Base_Theme_AppCompat_Light_Dialog_MinWidth 0x7f07008e int style Base_Theme_AppCompat_Light_DialogWhenLarge 0x7f070002 int style Base_ThemeOverlay_AppCompat 0x7f07008f int style Base_ThemeOverlay_AppCompat_ActionBar 0x7f070090 int style Base_ThemeOverlay_AppCompat_Dark 0x7f070091 int style Base_ThemeOverlay_AppCompat_Dark_ActionBar 0x7f070092 int style Base_ThemeOverlay_AppCompat_Light 0x7f070093 int style Base_V11_Theme_AppCompat_Dialog 0x7f07000b int style Base_V11_Theme_AppCompat_Light_Dialog 0x7f07000c int style Base_V12_Widget_AppCompat_AutoCompleteTextView 0x7f070014 int style Base_V12_Widget_AppCompat_EditText 0x7f070015 int style Base_V21_Theme_AppCompat 0x7f070050 int style Base_V21_Theme_AppCompat_Dialog 0x7f070051 int style Base_V21_Theme_AppCompat_Light 0x7f070052 int style Base_V21_Theme_AppCompat_Light_Dialog 0x7f070053 int style Base_V22_Theme_AppCompat 0x7f070074 int style Base_V22_Theme_AppCompat_Light 0x7f070075 int style Base_V23_Theme_AppCompat 0x7f070077 int style Base_V23_Theme_AppCompat_Light 0x7f070078 int style Base_V7_Theme_AppCompat 0x7f070094 int style Base_V7_Theme_AppCompat_Dialog 0x7f070095 int style Base_V7_Theme_AppCompat_Light 0x7f070096 int style Base_V7_Theme_AppCompat_Light_Dialog 0x7f070097 int style Base_V7_Widget_AppCompat_AutoCompleteTextView 0x7f070098 int style Base_V7_Widget_AppCompat_EditText 0x7f070099 int style Base_Widget_AppCompat_ActionBar 0x7f07009a int style Base_Widget_AppCompat_ActionBar_Solid 0x7f07009b int style Base_Widget_AppCompat_ActionBar_TabBar 0x7f07009c int style Base_Widget_AppCompat_ActionBar_TabText 0x7f070054 int style Base_Widget_AppCompat_ActionBar_TabView 0x7f070055 int style Base_Widget_AppCompat_ActionButton 0x7f070056 int style Base_Widget_AppCompat_ActionButton_CloseMode 0x7f070057 int style Base_Widget_AppCompat_ActionButton_Overflow 0x7f070058 int style Base_Widget_AppCompat_ActionMode 0x7f07009d int style Base_Widget_AppCompat_ActivityChooserView 0x7f07009e int style Base_Widget_AppCompat_AutoCompleteTextView 0x7f070016 int style Base_Widget_AppCompat_Button 0x7f070059 int style Base_Widget_AppCompat_Button_Borderless 0x7f07005a int style Base_Widget_AppCompat_Button_Borderless_Colored 0x7f07005b int style Base_Widget_AppCompat_Button_ButtonBar_AlertDialog 0x7f07009f int style Base_Widget_AppCompat_Button_Colored 0x7f070079 int style Base_Widget_AppCompat_Button_Small 0x7f07005c int style Base_Widget_AppCompat_ButtonBar 0x7f07005d int style Base_Widget_AppCompat_ButtonBar_AlertDialog 0x7f0700a0 int style Base_Widget_AppCompat_CompoundButton_CheckBox 0x7f07005e int style Base_Widget_AppCompat_CompoundButton_RadioButton 0x7f07005f int style Base_Widget_AppCompat_CompoundButton_Switch 0x7f0700a1 int style Base_Widget_AppCompat_DrawerArrowToggle 0x7f070000 int style Base_Widget_AppCompat_DrawerArrowToggle_Common 0x7f0700a2 int style Base_Widget_AppCompat_DropDownItem_Spinner 0x7f070060 int style Base_Widget_AppCompat_EditText 0x7f070017 int style Base_Widget_AppCompat_Light_ActionBar 0x7f0700a3 int style Base_Widget_AppCompat_Light_ActionBar_Solid 0x7f0700a4 int style Base_Widget_AppCompat_Light_ActionBar_TabBar 0x7f0700a5 int style Base_Widget_AppCompat_Light_ActionBar_TabText 0x7f070061 int style Base_Widget_AppCompat_Light_ActionBar_TabText_Inverse 0x7f070062 int style Base_Widget_AppCompat_Light_ActionBar_TabView 0x7f070063 int style Base_Widget_AppCompat_Light_PopupMenu 0x7f070064 int style Base_Widget_AppCompat_Light_PopupMenu_Overflow 0x7f070065 int style Base_Widget_AppCompat_ListPopupWindow 0x7f070066 int style Base_Widget_AppCompat_ListView 0x7f070067 int style Base_Widget_AppCompat_ListView_DropDown 0x7f070068 int style Base_Widget_AppCompat_ListView_Menu 0x7f070069 int style Base_Widget_AppCompat_PopupMenu 0x7f07006a int style Base_Widget_AppCompat_PopupMenu_Overflow 0x7f07006b int style Base_Widget_AppCompat_PopupWindow 0x7f0700a6 int style Base_Widget_AppCompat_ProgressBar 0x7f07000d int style Base_Widget_AppCompat_ProgressBar_Horizontal 0x7f07000e int style Base_Widget_AppCompat_RatingBar 0x7f07006c int style Base_Widget_AppCompat_SearchView 0x7f0700a7 int style Base_Widget_AppCompat_SearchView_ActionBar 0x7f0700a8 int style Base_Widget_AppCompat_Spinner 0x7f07006d int style Base_Widget_AppCompat_Spinner_Underlined 0x7f07006e int style Base_Widget_AppCompat_TextView_SpinnerItem 0x7f07006f int style Base_Widget_AppCompat_Toolbar 0x7f0700a9 int style Base_Widget_AppCompat_Toolbar_Button_Navigation 0x7f070070 int style Platform_AppCompat 0x7f07000f int style Platform_AppCompat_Light 0x7f070010 int style Platform_ThemeOverlay_AppCompat 0x7f070071 int style Platform_ThemeOverlay_AppCompat_Dark 0x7f070072 int style Platform_ThemeOverlay_AppCompat_Light 0x7f070073 int style Platform_V11_AppCompat 0x7f070011 int style Platform_V11_AppCompat_Light 0x7f070012 int style Platform_V14_AppCompat 0x7f070019 int style Platform_V14_AppCompat_Light 0x7f07001a int style Platform_Widget_AppCompat_Spinner 0x7f070013 int style RtlOverlay_DialogWindowTitle_AppCompat 0x7f070020 int style RtlOverlay_Widget_AppCompat_ActionBar_TitleItem 0x7f070021 int style RtlOverlay_Widget_AppCompat_ActionButton_Overflow 0x7f070022 int style RtlOverlay_Widget_AppCompat_DialogTitle_Icon 0x7f070023 int style RtlOverlay_Widget_AppCompat_PopupMenuItem 0x7f070024 int style RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup 0x7f070025 int style RtlOverlay_Widget_AppCompat_PopupMenuItem_Text 0x7f070026 int style RtlOverlay_Widget_AppCompat_Search_DropDown 0x7f070027 int style RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1 0x7f070028 int style RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2 0x7f070029 int style RtlOverlay_Widget_AppCompat_Search_DropDown_Query 0x7f07002a int style RtlOverlay_Widget_AppCompat_Search_DropDown_Text 0x7f07002b int style RtlOverlay_Widget_AppCompat_SearchView_MagIcon 0x7f07002c int style TextAppearance_AppCompat 0x7f0700aa int style TextAppearance_AppCompat_Body1 0x7f0700ab int style TextAppearance_AppCompat_Body2 0x7f0700ac int style TextAppearance_AppCompat_Button 0x7f0700ad int style TextAppearance_AppCompat_Caption 0x7f0700ae int style TextAppearance_AppCompat_Display1 0x7f0700af int style TextAppearance_AppCompat_Display2 0x7f0700b0 int style TextAppearance_AppCompat_Display3 0x7f0700b1 int style TextAppearance_AppCompat_Display4 0x7f0700b2 int style TextAppearance_AppCompat_Headline 0x7f0700b3 int style TextAppearance_AppCompat_Inverse 0x7f0700b4 int style TextAppearance_AppCompat_Large 0x7f0700b5 int style TextAppearance_AppCompat_Large_Inverse 0x7f0700b6 int style TextAppearance_AppCompat_Light_SearchResult_Subtitle 0x7f0700b7 int style TextAppearance_AppCompat_Light_SearchResult_Title 0x7f0700b8 int style TextAppearance_AppCompat_Light_Widget_PopupMenu_Large 0x7f0700b9 int style TextAppearance_AppCompat_Light_Widget_PopupMenu_Small 0x7f0700ba int style TextAppearance_AppCompat_Medium 0x7f0700bb int style TextAppearance_AppCompat_Medium_Inverse 0x7f0700bc int style TextAppearance_AppCompat_Menu 0x7f0700bd int style TextAppearance_AppCompat_SearchResult_Subtitle 0x7f0700be int style TextAppearance_AppCompat_SearchResult_Title 0x7f0700bf int style TextAppearance_AppCompat_Small 0x7f0700c0 int style TextAppearance_AppCompat_Small_Inverse 0x7f0700c1 int style TextAppearance_AppCompat_Subhead 0x7f0700c2 int style TextAppearance_AppCompat_Subhead_Inverse 0x7f0700c3 int style TextAppearance_AppCompat_Title 0x7f0700c4 int style TextAppearance_AppCompat_Title_Inverse 0x7f0700c5 int style TextAppearance_AppCompat_Widget_ActionBar_Menu 0x7f0700c6 int style TextAppearance_AppCompat_Widget_ActionBar_Subtitle 0x7f0700c7 int style TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse 0x7f0700c8 int style TextAppearance_AppCompat_Widget_ActionBar_Title 0x7f0700c9 int style TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse 0x7f0700ca int style TextAppearance_AppCompat_Widget_ActionMode_Subtitle 0x7f0700cb int style TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse 0x7f0700cc int style TextAppearance_AppCompat_Widget_ActionMode_Title 0x7f0700cd int style TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse 0x7f0700ce int style TextAppearance_AppCompat_Widget_Button 0x7f0700cf int style TextAppearance_AppCompat_Widget_Button_Inverse 0x7f0700d0 int style TextAppearance_AppCompat_Widget_DropDownItem 0x7f0700d1 int style TextAppearance_AppCompat_Widget_PopupMenu_Large 0x7f0700d2 int style TextAppearance_AppCompat_Widget_PopupMenu_Small 0x7f0700d3 int style TextAppearance_AppCompat_Widget_Switch 0x7f0700d4 int style TextAppearance_AppCompat_Widget_TextView_SpinnerItem 0x7f0700d5 int style TextAppearance_StatusBar_EventContent 0x7f07001b int style TextAppearance_StatusBar_EventContent_Info 0x7f07001c int style TextAppearance_StatusBar_EventContent_Line2 0x7f07001d int style TextAppearance_StatusBar_EventContent_Time 0x7f07001e int style TextAppearance_StatusBar_EventContent_Title 0x7f07001f int style TextAppearance_Widget_AppCompat_ExpandedMenu_Item 0x7f0700d6 int style TextAppearance_Widget_AppCompat_Toolbar_Subtitle 0x7f0700d7 int style TextAppearance_Widget_AppCompat_Toolbar_Title 0x7f0700d8 int style Theme_AppCompat 0x7f0700d9 int style Theme_AppCompat_CompactMenu 0x7f0700da int style Theme_AppCompat_Dialog 0x7f0700db int style Theme_AppCompat_Dialog_Alert 0x7f0700dc int style Theme_AppCompat_Dialog_MinWidth 0x7f0700dd int style Theme_AppCompat_DialogWhenLarge 0x7f0700de int style Theme_AppCompat_Light 0x7f0700df int style Theme_AppCompat_Light_DarkActionBar 0x7f0700e0 int style Theme_AppCompat_Light_Dialog 0x7f0700e1 int style Theme_AppCompat_Light_Dialog_Alert 0x7f0700e2 int style Theme_AppCompat_Light_Dialog_MinWidth 0x7f0700e3 int style Theme_AppCompat_Light_DialogWhenLarge 0x7f0700e4 int style Theme_AppCompat_Light_NoActionBar 0x7f0700e5 int style Theme_AppCompat_NoActionBar 0x7f0700e6 int style ThemeOverlay_AppCompat 0x7f0700e7 int style ThemeOverlay_AppCompat_ActionBar 0x7f0700e8 int style ThemeOverlay_AppCompat_Dark 0x7f0700e9 int style ThemeOverlay_AppCompat_Dark_ActionBar 0x7f0700ea int style ThemeOverlay_AppCompat_Light 0x7f0700eb int style Widget_AppCompat_ActionBar 0x7f0700ec int style Widget_AppCompat_ActionBar_Solid 0x7f0700ed int style Widget_AppCompat_ActionBar_TabBar 0x7f0700ee int style Widget_AppCompat_ActionBar_TabText 0x7f0700ef int style Widget_AppCompat_ActionBar_TabView 0x7f0700f0 int style Widget_AppCompat_ActionButton 0x7f0700f1 int style Widget_AppCompat_ActionButton_CloseMode 0x7f0700f2 int style Widget_AppCompat_ActionButton_Overflow 0x7f0700f3 int style Widget_AppCompat_ActionMode 0x7f0700f4 int style Widget_AppCompat_ActivityChooserView 0x7f0700f5 int style Widget_AppCompat_AutoCompleteTextView 0x7f0700f6 int style Widget_AppCompat_Button 0x7f0700f7 int style Widget_AppCompat_Button_Borderless 0x7f0700f8 int style Widget_AppCompat_Button_Borderless_Colored 0x7f0700f9 int style Widget_AppCompat_Button_ButtonBar_AlertDialog 0x7f0700fa int style Widget_AppCompat_Button_Colored 0x7f0700fb int style Widget_AppCompat_Button_Small 0x7f0700fc int style Widget_AppCompat_ButtonBar 0x7f0700fd int style Widget_AppCompat_ButtonBar_AlertDialog 0x7f0700fe int style Widget_AppCompat_CompoundButton_CheckBox 0x7f0700ff int style Widget_AppCompat_CompoundButton_RadioButton 0x7f070100 int style Widget_AppCompat_CompoundButton_Switch 0x7f070101 int style Widget_AppCompat_DrawerArrowToggle 0x7f070102 int style Widget_AppCompat_DropDownItem_Spinner 0x7f070103 int style Widget_AppCompat_EditText 0x7f070104 int style Widget_AppCompat_Light_ActionBar 0x7f070105 int style Widget_AppCompat_Light_ActionBar_Solid 0x7f070106 int style Widget_AppCompat_Light_ActionBar_Solid_Inverse 0x7f070107 int style Widget_AppCompat_Light_ActionBar_TabBar 0x7f070108 int style Widget_AppCompat_Light_ActionBar_TabBar_Inverse 0x7f070109 int style Widget_AppCompat_Light_ActionBar_TabText 0x7f07010a int style Widget_AppCompat_Light_ActionBar_TabText_Inverse 0x7f07010b int style Widget_AppCompat_Light_ActionBar_TabView 0x7f07010c int style Widget_AppCompat_Light_ActionBar_TabView_Inverse 0x7f07010d int style Widget_AppCompat_Light_ActionButton 0x7f07010e int style Widget_AppCompat_Light_ActionButton_CloseMode 0x7f07010f int style Widget_AppCompat_Light_ActionButton_Overflow 0x7f070110 int style Widget_AppCompat_Light_ActionMode_Inverse 0x7f070111 int style Widget_AppCompat_Light_ActivityChooserView 0x7f070112 int style Widget_AppCompat_Light_AutoCompleteTextView 0x7f070113 int style Widget_AppCompat_Light_DropDownItem_Spinner 0x7f070114 int style Widget_AppCompat_Light_ListPopupWindow 0x7f070115 int style Widget_AppCompat_Light_ListView_DropDown 0x7f070116 int style Widget_AppCompat_Light_PopupMenu 0x7f070117 int style Widget_AppCompat_Light_PopupMenu_Overflow 0x7f070118 int style Widget_AppCompat_Light_SearchView 0x7f070119 int style Widget_AppCompat_Light_Spinner_DropDown_ActionBar 0x7f07011a int style Widget_AppCompat_ListPopupWindow 0x7f07011b int style Widget_AppCompat_ListView 0x7f07011c int style Widget_AppCompat_ListView_DropDown 0x7f07011d int style Widget_AppCompat_ListView_Menu 0x7f07011e int style Widget_AppCompat_PopupMenu 0x7f07011f int style Widget_AppCompat_PopupMenu_Overflow 0x7f070120 int style Widget_AppCompat_PopupWindow 0x7f070121 int style Widget_AppCompat_ProgressBar 0x7f070122 int style Widget_AppCompat_ProgressBar_Horizontal 0x7f070123 int style Widget_AppCompat_RatingBar 0x7f070124 int style Widget_AppCompat_SearchView 0x7f070125 int style Widget_AppCompat_SearchView_ActionBar 0x7f070126 int style Widget_AppCompat_Spinner 0x7f070127 int style Widget_AppCompat_Spinner_DropDown 0x7f070128 int style Widget_AppCompat_Spinner_DropDown_ActionBar 0x7f070129 int style Widget_AppCompat_Spinner_Underlined 0x7f07012a int style Widget_AppCompat_TextView_SpinnerItem 0x7f07012b int style Widget_AppCompat_Toolbar 0x7f07012c int style Widget_AppCompat_Toolbar_Button_Navigation 0x7f07012d int[] styleable ActionBar { 0x7f010001, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009, 0x7f01000a, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012, 0x7f010013, 0x7f010014, 0x7f010015, 0x7f010016, 0x7f010017, 0x7f010018, 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01007b } int styleable ActionBar_background 10 int styleable ActionBar_backgroundSplit 12 int styleable ActionBar_backgroundStacked 11 int styleable ActionBar_contentInsetEnd 21 int styleable ActionBar_contentInsetLeft 22 int styleable ActionBar_contentInsetRight 23 int styleable ActionBar_contentInsetStart 20 int styleable ActionBar_customNavigationLayout 13 int styleable ActionBar_displayOptions 3 int styleable ActionBar_divider 9 int styleable ActionBar_elevation 24 int styleable ActionBar_height 0 int styleable ActionBar_hideOnContentScroll 19 int styleable ActionBar_homeAsUpIndicator 26 int styleable ActionBar_homeLayout 14 int styleable ActionBar_icon 7 int styleable ActionBar_indeterminateProgressStyle 16 int styleable ActionBar_itemPadding 18 int styleable ActionBar_logo 8 int styleable ActionBar_navigationMode 2 int styleable ActionBar_popupTheme 25 int styleable ActionBar_progressBarPadding 17 int styleable ActionBar_progressBarStyle 15 int styleable ActionBar_subtitle 4 int styleable ActionBar_subtitleTextStyle 6 int styleable ActionBar_title 1 int styleable ActionBar_titleTextStyle 5 int[] styleable ActionBarLayout { 0x010100b3 } int styleable ActionBarLayout_android_layout_gravity 0 int[] styleable ActionMenuItemView { 0x0101013f } int styleable ActionMenuItemView_android_minWidth 0 int[] styleable ActionMenuView { } int[] styleable ActionMode { 0x7f010001, 0x7f010007, 0x7f010008, 0x7f01000c, 0x7f01000e, 0x7f01001c } int styleable ActionMode_background 3 int styleable ActionMode_backgroundSplit 4 int styleable ActionMode_closeItemLayout 5 int styleable ActionMode_height 0 int styleable ActionMode_subtitleTextStyle 2 int styleable ActionMode_titleTextStyle 1 int[] styleable ActivityChooserView { 0x7f01001d, 0x7f01001e } int styleable ActivityChooserView_expandActivityOverflowButtonDrawable 1 int styleable ActivityChooserView_initialActivityCount 0 int[] styleable AlertDialog { 0x010100f2, 0x7f01001f, 0x7f010020, 0x7f010021, 0x7f010022, 0x7f010023 } int styleable AlertDialog_android_layout 0 int styleable AlertDialog_buttonPanelSideLayout 1 int styleable AlertDialog_listItemLayout 5 int styleable AlertDialog_listLayout 2 int styleable AlertDialog_multiChoiceItemLayout 3 int styleable AlertDialog_singleChoiceItemLayout 4 int[] styleable AppCompatTextView { 0x01010034, 0x7f010024 } int styleable AppCompatTextView_android_textAppearance 0 int styleable AppCompatTextView_textAllCaps 1 int[] styleable CompoundButton { 0x01010107, 0x7f010025, 0x7f010026 } int styleable CompoundButton_android_button 0 int styleable CompoundButton_buttonTint 1 int styleable CompoundButton_buttonTintMode 2 int[] styleable DrawerArrowToggle { 0x7f010027, 0x7f010028, 0x7f010029, 0x7f01002a, 0x7f01002b, 0x7f01002c, 0x7f01002d, 0x7f01002e } int styleable DrawerArrowToggle_arrowHeadLength 4 int styleable DrawerArrowToggle_arrowShaftLength 5 int styleable DrawerArrowToggle_barLength 6 int styleable DrawerArrowToggle_color 0 int styleable DrawerArrowToggle_drawableSize 2 int styleable DrawerArrowToggle_gapBetweenBars 3 int styleable DrawerArrowToggle_spinBars 1 int styleable DrawerArrowToggle_thickness 7 int[] styleable LinearLayoutCompat { 0x010100af, 0x010100c4, 0x01010126, 0x01010127, 0x01010128, 0x7f01000b, 0x7f01002f, 0x7f010030, 0x7f010031 } int styleable LinearLayoutCompat_android_baselineAligned 2 int styleable LinearLayoutCompat_android_baselineAlignedChildIndex 3 int styleable LinearLayoutCompat_android_gravity 0 int styleable LinearLayoutCompat_android_orientation 1 int styleable LinearLayoutCompat_android_weightSum 4 int styleable LinearLayoutCompat_divider 5 int styleable LinearLayoutCompat_dividerPadding 8 int styleable LinearLayoutCompat_measureWithLargestChild 6 int styleable LinearLayoutCompat_showDividers 7 int[] styleable LinearLayoutCompat_Layout { 0x010100b3, 0x010100f4, 0x010100f5, 0x01010181 } int styleable LinearLayoutCompat_Layout_android_layout_gravity 0 int styleable LinearLayoutCompat_Layout_android_layout_height 2 int styleable LinearLayoutCompat_Layout_android_layout_weight 3 int styleable LinearLayoutCompat_Layout_android_layout_width 1 int[] styleable ListPopupWindow { 0x010102ac, 0x010102ad } int styleable ListPopupWindow_android_dropDownHorizontalOffset 0 int styleable ListPopupWindow_android_dropDownVerticalOffset 1 int[] styleable MenuGroup { 0x0101000e, 0x010100d0, 0x01010194, 0x010101de, 0x010101df, 0x010101e0 } int styleable MenuGroup_android_checkableBehavior 5 int styleable MenuGroup_android_enabled 0 int styleable MenuGroup_android_id 1 int styleable MenuGroup_android_menuCategory 3 int styleable MenuGroup_android_orderInCategory 4 int styleable MenuGroup_android_visible 2 int[] styleable MenuItem { 0x01010002, 0x0101000e, 0x010100d0, 0x01010106, 0x01010194, 0x010101de, 0x010101df, 0x010101e1, 0x010101e2, 0x010101e3, 0x010101e4, 0x010101e5, 0x0101026f, 0x7f010032, 0x7f010033, 0x7f010034, 0x7f010035 } int styleable MenuItem_actionLayout 14 int styleable MenuItem_actionProviderClass 16 int styleable MenuItem_actionViewClass 15 int styleable MenuItem_android_alphabeticShortcut 9 int styleable MenuItem_android_checkable 11 int styleable MenuItem_android_checked 3 int styleable MenuItem_android_enabled 1 int styleable MenuItem_android_icon 0 int styleable MenuItem_android_id 2 int styleable MenuItem_android_menuCategory 5 int styleable MenuItem_android_numericShortcut 10 int styleable MenuItem_android_onClick 12 int styleable MenuItem_android_orderInCategory 6 int styleable MenuItem_android_title 7 int styleable MenuItem_android_titleCondensed 8 int styleable MenuItem_android_visible 4 int styleable MenuItem_showAsAction 13 int[] styleable MenuView { 0x010100ae, 0x0101012c, 0x0101012d, 0x0101012e, 0x0101012f, 0x01010130, 0x01010131, 0x7f010036 } int styleable MenuView_android_headerBackground 4 int styleable MenuView_android_horizontalDivider 2 int styleable MenuView_android_itemBackground 5 int styleable MenuView_android_itemIconDisabledAlpha 6 int styleable MenuView_android_itemTextAppearance 1 int styleable MenuView_android_verticalDivider 3 int styleable MenuView_android_windowAnimationStyle 0 int styleable MenuView_preserveIconSpacing 7 int[] styleable PopupWindow { 0x01010176, 0x7f010037 } int styleable PopupWindow_android_popupBackground 0 int styleable PopupWindow_overlapAnchor 1 int[] styleable PopupWindowBackgroundState { 0x7f010038 } int styleable PopupWindowBackgroundState_state_above_anchor 0 int[] styleable SearchView { 0x010100da, 0x0101011f, 0x01010220, 0x01010264, 0x7f010039, 0x7f01003a, 0x7f01003b, 0x7f01003c, 0x7f01003d, 0x7f01003e, 0x7f01003f, 0x7f010040, 0x7f010041, 0x7f010042, 0x7f010043, 0x7f010044, 0x7f010045 } int styleable SearchView_android_focusable 0 int styleable SearchView_android_imeOptions 3 int styleable SearchView_android_inputType 2 int styleable SearchView_android_maxWidth 1 int styleable SearchView_closeIcon 8 int styleable SearchView_commitIcon 13 int styleable SearchView_defaultQueryHint 7 int styleable SearchView_goIcon 9 int styleable SearchView_iconifiedByDefault 5 int styleable SearchView_layout 4 int styleable SearchView_queryBackground 15 int styleable SearchView_queryHint 6 int styleable SearchView_searchHintIcon 11 int styleable SearchView_searchIcon 10 int styleable SearchView_submitBackground 16 int styleable SearchView_suggestionRowLayout 14 int styleable SearchView_voiceIcon 12 int[] styleable Spinner { 0x01010176, 0x0101017b, 0x01010262, 0x7f01001b } int styleable Spinner_android_dropDownWidth 2 int styleable Spinner_android_popupBackground 0 int styleable Spinner_android_prompt 1 int styleable Spinner_popupTheme 3 int[] styleable SwitchCompat { 0x01010124, 0x01010125, 0x01010142, 0x7f010046, 0x7f010047, 0x7f010048, 0x7f010049, 0x7f01004a, 0x7f01004b, 0x7f01004c } int styleable SwitchCompat_android_textOff 1 int styleable SwitchCompat_android_textOn 0 int styleable SwitchCompat_android_thumb 2 int styleable SwitchCompat_showText 9 int styleable SwitchCompat_splitTrack 8 int styleable SwitchCompat_switchMinWidth 6 int styleable SwitchCompat_switchPadding 7 int styleable SwitchCompat_switchTextAppearance 5 int styleable SwitchCompat_thumbTextPadding 4 int styleable SwitchCompat_track 3 int[] styleable TextAppearance { 0x01010095, 0x01010096, 0x01010097, 0x01010098, 0x7f010024 } int styleable TextAppearance_android_textColor 3 int styleable TextAppearance_android_textSize 0 int styleable TextAppearance_android_textStyle 2 int styleable TextAppearance_android_typeface 1 int styleable TextAppearance_textAllCaps 4 int[] styleable Theme { 0x01010057, 0x010100ae, 0x7f01004d, 0x7f01004e, 0x7f01004f, 0x7f010050, 0x7f010051, 0x7f010052, 0x7f010053, 0x7f010054, 0x7f010055, 0x7f010056, 0x7f010057, 0x7f010058, 0x7f010059, 0x7f01005a, 0x7f01005b, 0x7f01005c, 0x7f01005d, 0x7f01005e, 0x7f01005f, 0x7f010060, 0x7f010061, 0x7f010062, 0x7f010063, 0x7f010064, 0x7f010065, 0x7f010066, 0x7f010067, 0x7f010068, 0x7f010069, 0x7f01006a, 0x7f01006b, 0x7f01006c, 0x7f01006d, 0x7f01006e, 0x7f01006f, 0x7f010070, 0x7f010071, 0x7f010072, 0x7f010073, 0x7f010074, 0x7f010075, 0x7f010076, 0x7f010077, 0x7f010078, 0x7f010079, 0x7f01007a, 0x7f01007b, 0x7f01007c, 0x7f01007d, 0x7f01007e, 0x7f01007f, 0x7f010080, 0x7f010081, 0x7f010082, 0x7f010083, 0x7f010084, 0x7f010085, 0x7f010086, 0x7f010087, 0x7f010088, 0x7f010089, 0x7f01008a, 0x7f01008b, 0x7f01008c, 0x7f01008d, 0x7f01008e, 0x7f01008f, 0x7f010090, 0x7f010091, 0x7f010092, 0x7f010093, 0x7f010094, 0x7f010095, 0x7f010096, 0x7f010097, 0x7f010098, 0x7f010099, 0x7f01009a, 0x7f01009b, 0x7f01009c, 0x7f01009d, 0x7f01009e, 0x7f01009f, 0x7f0100a0, 0x7f0100a1, 0x7f0100a2, 0x7f0100a3, 0x7f0100a4, 0x7f0100a5, 0x7f0100a6, 0x7f0100a7, 0x7f0100a8, 0x7f0100a9, 0x7f0100aa, 0x7f0100ab, 0x7f0100ac, 0x7f0100ad, 0x7f0100ae, 0x7f0100af, 0x7f0100b0, 0x7f0100b1, 0x7f0100b2, 0x7f0100b3, 0x7f0100b4, 0x7f0100b5, 0x7f0100b6 } int styleable Theme_actionBarDivider 23 int styleable Theme_actionBarItemBackground 24 int styleable Theme_actionBarPopupTheme 17 int styleable Theme_actionBarSize 22 int styleable Theme_actionBarSplitStyle 19 int styleable Theme_actionBarStyle 18 int styleable Theme_actionBarTabBarStyle 13 int styleable Theme_actionBarTabStyle 12 int styleable Theme_actionBarTabTextStyle 14 int styleable Theme_actionBarTheme 20 int styleable Theme_actionBarWidgetTheme 21 int styleable Theme_actionButtonStyle 49 int styleable Theme_actionDropDownStyle 45 int styleable Theme_actionMenuTextAppearance 25 int styleable Theme_actionMenuTextColor 26 int styleable Theme_actionModeBackground 29 int styleable Theme_actionModeCloseButtonStyle 28 int styleable Theme_actionModeCloseDrawable 31 int styleable Theme_actionModeCopyDrawable 33 int styleable Theme_actionModeCutDrawable 32 int styleable Theme_actionModeFindDrawable 37 int styleable Theme_actionModePasteDrawable 34 int styleable Theme_actionModePopupWindowStyle 39 int styleable Theme_actionModeSelectAllDrawable 35 int styleable Theme_actionModeShareDrawable 36 int styleable Theme_actionModeSplitBackground 30 int styleable Theme_actionModeStyle 27 int styleable Theme_actionModeWebSearchDrawable 38 int styleable Theme_actionOverflowButtonStyle 15 int styleable Theme_actionOverflowMenuStyle 16 int styleable Theme_activityChooserViewStyle 57 int styleable Theme_alertDialogButtonGroupStyle 91 int styleable Theme_alertDialogCenterButtons 92 int styleable Theme_alertDialogStyle 90 int styleable Theme_alertDialogTheme 93 int styleable Theme_android_windowAnimationStyle 1 int styleable Theme_android_windowIsFloating 0 int styleable Theme_autoCompleteTextViewStyle 98 int styleable Theme_borderlessButtonStyle 54 int styleable Theme_buttonBarButtonStyle 51 int styleable Theme_buttonBarNegativeButtonStyle 96 int styleable Theme_buttonBarNeutralButtonStyle 97 int styleable Theme_buttonBarPositiveButtonStyle 95 int styleable Theme_buttonBarStyle 50 int styleable Theme_buttonStyle 99 int styleable Theme_buttonStyleSmall 100 int styleable Theme_checkboxStyle 101 int styleable Theme_checkedTextViewStyle 102 int styleable Theme_colorAccent 83 int styleable Theme_colorButtonNormal 87 int styleable Theme_colorControlActivated 85 int styleable Theme_colorControlHighlight 86 int styleable Theme_colorControlNormal 84 int styleable Theme_colorPrimary 81 int styleable Theme_colorPrimaryDark 82 int styleable Theme_colorSwitchThumbNormal 88 int styleable Theme_controlBackground 89 int styleable Theme_dialogPreferredPadding 43 int styleable Theme_dialogTheme 42 int styleable Theme_dividerHorizontal 56 int styleable Theme_dividerVertical 55 int styleable Theme_dropDownListViewStyle 73 int styleable Theme_dropdownListPreferredItemHeight 46 int styleable Theme_editTextBackground 63 int styleable Theme_editTextColor 62 int styleable Theme_editTextStyle 103 int styleable Theme_homeAsUpIndicator 48 int styleable Theme_listChoiceBackgroundIndicator 80 int styleable Theme_listDividerAlertDialog 44 int styleable Theme_listPopupWindowStyle 74 int styleable Theme_listPreferredItemHeight 68 int styleable Theme_listPreferredItemHeightLarge 70 int styleable Theme_listPreferredItemHeightSmall 69 int styleable Theme_listPreferredItemPaddingLeft 71 int styleable Theme_listPreferredItemPaddingRight 72 int styleable Theme_panelBackground 77 int styleable Theme_panelMenuListTheme 79 int styleable Theme_panelMenuListWidth 78 int styleable Theme_popupMenuStyle 60 int styleable Theme_popupWindowStyle 61 int styleable Theme_radioButtonStyle 104 int styleable Theme_ratingBarStyle 105 int styleable Theme_searchViewStyle 67 int styleable Theme_selectableItemBackground 52 int styleable Theme_selectableItemBackgroundBorderless 53 int styleable Theme_spinnerDropDownItemStyle 47 int styleable Theme_spinnerStyle 106 int styleable Theme_switchStyle 107 int styleable Theme_textAppearanceLargePopupMenu 40 int styleable Theme_textAppearanceListItem 75 int styleable Theme_textAppearanceListItemSmall 76 int styleable Theme_textAppearanceSearchResultSubtitle 65 int styleable Theme_textAppearanceSearchResultTitle 64 int styleable Theme_textAppearanceSmallPopupMenu 41 int styleable Theme_textColorAlertDialogListItem 94 int styleable Theme_textColorSearchUrl 66 int styleable Theme_toolbarNavigationButtonStyle 59 int styleable Theme_toolbarStyle 58 int styleable Theme_windowActionBar 2 int styleable Theme_windowActionBarOverlay 4 int styleable Theme_windowActionModeOverlay 5 int styleable Theme_windowFixedHeightMajor 9 int styleable Theme_windowFixedHeightMinor 7 int styleable Theme_windowFixedWidthMajor 6 int styleable Theme_windowFixedWidthMinor 8 int styleable Theme_windowMinWidthMajor 10 int styleable Theme_windowMinWidthMinor 11 int styleable Theme_windowNoTitle 3 int[] styleable Toolbar { 0x010100af, 0x01010140, 0x7f010003, 0x7f010006, 0x7f01000a, 0x7f010016, 0x7f010017, 0x7f010018, 0x7f010019, 0x7f01001b, 0x7f0100b7, 0x7f0100b8, 0x7f0100b9, 0x7f0100ba, 0x7f0100bb, 0x7f0100bc, 0x7f0100bd, 0x7f0100be, 0x7f0100bf, 0x7f0100c0, 0x7f0100c1, 0x7f0100c2, 0x7f0100c3, 0x7f0100c4, 0x7f0100c5 } int styleable Toolbar_android_gravity 0 int styleable Toolbar_android_minHeight 1 int styleable Toolbar_collapseContentDescription 19 int styleable Toolbar_collapseIcon 18 int styleable Toolbar_contentInsetEnd 6 int styleable Toolbar_contentInsetLeft 7 int styleable Toolbar_contentInsetRight 8 int styleable Toolbar_contentInsetStart 5 int styleable Toolbar_logo 4 int styleable Toolbar_logoDescription 22 int styleable Toolbar_maxButtonHeight 17 int styleable Toolbar_navigationContentDescription 21 int styleable Toolbar_navigationIcon 20 int styleable Toolbar_popupTheme 9 int styleable Toolbar_subtitle 3 int styleable Toolbar_subtitleTextAppearance 11 int styleable Toolbar_subtitleTextColor 24 int styleable Toolbar_title 2 int styleable Toolbar_titleMarginBottom 16 int styleable Toolbar_titleMarginEnd 14 int styleable Toolbar_titleMarginStart 13 int styleable Toolbar_titleMarginTop 15 int styleable Toolbar_titleMargins 12 int styleable Toolbar_titleTextAppearance 10 int styleable Toolbar_titleTextColor 23 int[] styleable View { 0x01010000, 0x010100da, 0x7f0100c6, 0x7f0100c7, 0x7f0100c8 } int styleable View_android_focusable 1 int styleable View_android_theme 0 int styleable View_paddingEnd 3 int styleable View_paddingStart 2 int styleable View_theme 4 int[] styleable ViewBackgroundHelper { 0x010100d4, 0x7f0100c9, 0x7f0100ca } int styleable ViewBackgroundHelper_android_background 0 int styleable ViewBackgroundHelper_backgroundTint 1 int styleable ViewBackgroundHelper_backgroundTintMode 2 int[] styleable ViewStubCompat { 0x010100d0, 0x010100f2, 0x010100f3 } int styleable ViewStubCompat_android_id 0 int styleable ViewStubCompat_android_inflatedId 2 int styleable ViewStubCompat_android_layout 1 ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/aapt/AndroidManifest.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/public.txt ================================================ style TextAppearance.AppCompat style TextAppearance.AppCompat.Body1 style TextAppearance.AppCompat.Body2 style TextAppearance.AppCompat.Button style TextAppearance.AppCompat.Caption style TextAppearance.AppCompat.Display1 style TextAppearance.AppCompat.Display2 style TextAppearance.AppCompat.Display3 style TextAppearance.AppCompat.Display4 style TextAppearance.AppCompat.Headline style TextAppearance.AppCompat.Inverse style TextAppearance.AppCompat.Large style TextAppearance.AppCompat.Large.Inverse style TextAppearance.AppCompat.Light.SearchResult.Subtitle style TextAppearance.AppCompat.Light.SearchResult.Title style TextAppearance.AppCompat.Light.Widget.PopupMenu.Large style TextAppearance.AppCompat.Light.Widget.PopupMenu.Small style TextAppearance.AppCompat.Medium style TextAppearance.AppCompat.Medium.Inverse style TextAppearance.AppCompat.Menu style TextAppearance.AppCompat.SearchResult.Subtitle style TextAppearance.AppCompat.SearchResult.Title style TextAppearance.AppCompat.Small style TextAppearance.AppCompat.Small.Inverse style TextAppearance.AppCompat.Subhead style TextAppearance.AppCompat.Subhead.Inverse style TextAppearance.AppCompat.Title style TextAppearance.AppCompat.Title.Inverse style TextAppearance.AppCompat.Widget.ActionBar.Menu style TextAppearance.AppCompat.Widget.ActionBar.Subtitle style TextAppearance.AppCompat.Widget.ActionBar.Subtitle.Inverse style TextAppearance.AppCompat.Widget.ActionBar.Title style TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse style TextAppearance.AppCompat.Widget.ActionMode.Subtitle style TextAppearance.AppCompat.Widget.ActionMode.Subtitle.Inverse style TextAppearance.AppCompat.Widget.ActionMode.Title style TextAppearance.AppCompat.Widget.ActionMode.Title.Inverse style TextAppearance.AppCompat.Widget.Button style TextAppearance.AppCompat.Widget.Button.Inverse style TextAppearance.AppCompat.Widget.DropDownItem style TextAppearance.AppCompat.Widget.PopupMenu.Large style TextAppearance.AppCompat.Widget.PopupMenu.Small style TextAppearance.AppCompat.Widget.Switch style TextAppearance.AppCompat.Widget.TextView.SpinnerItem style Theme.AppCompat style Theme.AppCompat.Dialog style Theme.AppCompat.Dialog.Alert style Theme.AppCompat.Dialog.MinWidth style Theme.AppCompat.DialogWhenLarge style Theme.AppCompat.Light style Theme.AppCompat.Light.DarkActionBar style Theme.AppCompat.Light.Dialog style Theme.AppCompat.Light.Dialog.Alert style Theme.AppCompat.Light.Dialog.MinWidth style Theme.AppCompat.Light.DialogWhenLarge style Theme.AppCompat.Light.NoActionBar style Theme.AppCompat.NoActionBar style ThemeOverlay.AppCompat style ThemeOverlay.AppCompat.ActionBar style ThemeOverlay.AppCompat.Dark style ThemeOverlay.AppCompat.Dark.ActionBar style ThemeOverlay.AppCompat.Light style Widget.AppCompat.ActionBar style Widget.AppCompat.ActionBar.Solid style Widget.AppCompat.ActionBar.TabBar style Widget.AppCompat.ActionBar.TabText style Widget.AppCompat.ActionBar.TabView style Widget.AppCompat.ActionButton style Widget.AppCompat.ActionButton.CloseMode style Widget.AppCompat.ActionButton.Overflow style Widget.AppCompat.ActionMode style Widget.AppCompat.AutoCompleteTextView style Widget.AppCompat.Button style Widget.AppCompat.Button.Borderless style Widget.AppCompat.Button.Borderless.Colored style Widget.AppCompat.Button.ButtonBar.AlertDialog style Widget.AppCompat.Button.Colored style Widget.AppCompat.Button.Small style Widget.AppCompat.ButtonBar style Widget.AppCompat.ButtonBar.AlertDialog style Widget.AppCompat.CompoundButton.CheckBox style Widget.AppCompat.CompoundButton.RadioButton style Widget.AppCompat.CompoundButton.Switch style Widget.AppCompat.DrawerArrowToggle style Widget.AppCompat.DropDownItem.Spinner style Widget.AppCompat.EditText style Widget.AppCompat.Light.ActionBar style Widget.AppCompat.Light.ActionBar.Solid style Widget.AppCompat.Light.ActionBar.Solid.Inverse style Widget.AppCompat.Light.ActionBar.TabBar style Widget.AppCompat.Light.ActionBar.TabBar.Inverse style Widget.AppCompat.Light.ActionBar.TabText style Widget.AppCompat.Light.ActionBar.TabText.Inverse style Widget.AppCompat.Light.ActionBar.TabView style Widget.AppCompat.Light.ActionBar.TabView.Inverse style Widget.AppCompat.Light.ActionButton style Widget.AppCompat.Light.ActionButton.CloseMode style Widget.AppCompat.Light.ActionButton.Overflow style Widget.AppCompat.Light.ActionMode.Inverse style Widget.AppCompat.Light.AutoCompleteTextView style Widget.AppCompat.Light.DropDownItem.Spinner style Widget.AppCompat.Light.ListPopupWindow style Widget.AppCompat.Light.ListView.DropDown style Widget.AppCompat.Light.PopupMenu style Widget.AppCompat.Light.PopupMenu.Overflow style Widget.AppCompat.Light.SearchView style Widget.AppCompat.Light.Spinner.DropDown.ActionBar style Widget.AppCompat.ListPopupWindow style Widget.AppCompat.ListView style Widget.AppCompat.ListView.DropDown style Widget.AppCompat.ListView.Menu style Widget.AppCompat.PopupMenu style Widget.AppCompat.PopupMenu.Overflow style Widget.AppCompat.PopupWindow style Widget.AppCompat.ProgressBar style Widget.AppCompat.ProgressBar.Horizontal style Widget.AppCompat.RatingBar style Widget.AppCompat.SearchView style Widget.AppCompat.SearchView.ActionBar style Widget.AppCompat.Spinner style Widget.AppCompat.Spinner.DropDown style Widget.AppCompat.Spinner.DropDown.ActionBar style Widget.AppCompat.Spinner.Underlined style Widget.AppCompat.TextView.SpinnerItem style Widget.AppCompat.Toolbar style Widget.AppCompat.Toolbar.Button.Navigation attr actionBarDivider attr actionBarItemBackground attr actionBarPopupTheme attr actionBarSize attr actionBarSplitStyle attr actionBarStyle attr actionBarTabBarStyle attr actionBarTabStyle attr actionBarTabTextStyle attr actionBarTheme attr actionBarWidgetTheme attr actionButtonStyle attr actionDropDownStyle attr actionLayout attr actionMenuTextAppearance attr actionMenuTextColor attr actionModeBackground attr actionModeCloseButtonStyle attr actionModeCloseDrawable attr actionModeCopyDrawable attr actionModeCutDrawable attr actionModeFindDrawable attr actionModePasteDrawable attr actionModeSelectAllDrawable attr actionModeShareDrawable attr actionModeSplitBackground attr actionModeStyle attr actionModeWebSearchDrawable attr actionOverflowButtonStyle attr actionOverflowMenuStyle attr actionProviderClass attr actionViewClass attr alertDialogStyle attr alertDialogTheme attr arrowHeadLength attr arrowShaftLength attr autoCompleteTextViewStyle attr background attr backgroundSplit attr backgroundStacked attr backgroundTint attr backgroundTintMode attr barLength attr borderlessButtonStyle attr buttonBarButtonStyle attr buttonBarNegativeButtonStyle attr buttonBarNeutralButtonStyle attr buttonBarPositiveButtonStyle attr buttonBarStyle attr buttonStyle attr buttonStyleSmall attr buttonTint attr buttonTintMode attr checkboxStyle attr checkedTextViewStyle attr closeIcon attr closeItemLayout attr collapseContentDescription attr collapseIcon attr color attr colorAccent attr colorButtonNormal attr colorControlActivated attr colorControlHighlight attr colorControlNormal attr colorPrimary attr colorPrimaryDark attr colorSwitchThumbNormal attr commitIcon attr contentInsetEnd attr contentInsetLeft attr contentInsetRight attr contentInsetStart attr customNavigationLayout attr dialogPreferredPadding attr dialogTheme attr displayOptions attr divider attr dividerHorizontal attr dividerPadding attr dividerVertical attr drawableSize attr drawerArrowStyle attr dropDownListViewStyle attr dropdownListPreferredItemHeight attr editTextBackground attr editTextColor attr editTextStyle attr elevation attr gapBetweenBars attr goIcon attr height attr hideOnContentScroll attr homeAsUpIndicator attr homeLayout attr icon attr iconifiedByDefault attr indeterminateProgressStyle attr isLightTheme attr itemPadding attr layout attr listChoiceBackgroundIndicator attr listDividerAlertDialog attr listPopupWindowStyle attr listPreferredItemHeight attr listPreferredItemHeightLarge attr listPreferredItemHeightSmall attr listPreferredItemPaddingLeft attr listPreferredItemPaddingRight attr logo attr logoDescription attr measureWithLargestChild attr middleBarArrowSize attr navigationContentDescription attr navigationIcon attr navigationMode attr overlapAnchor attr paddingEnd attr paddingStart attr panelBackground attr popupMenuStyle attr popupTheme attr popupWindowStyle attr preserveIconSpacing attr progressBarPadding attr progressBarStyle attr queryBackground attr queryHint attr radioButtonStyle attr ratingBarStyle attr searchHintIcon attr searchIcon attr searchViewStyle attr selectableItemBackground attr selectableItemBackgroundBorderless attr showAsAction attr showDividers attr showText attr spinBars attr spinnerDropDownItemStyle attr spinnerStyle attr splitTrack attr submitBackground attr subtitle attr subtitleTextAppearance attr subtitleTextColor attr subtitleTextStyle attr suggestionRowLayout layout support_simple_spinner_dropdown_item attr switchMinWidth attr switchPadding attr switchStyle attr switchTextAppearance attr textAllCaps attr textAppearanceLargePopupMenu attr textAppearanceListItem attr textAppearanceListItemSmall attr textAppearanceSearchResultSubtitle attr textAppearanceSearchResultTitle attr textAppearanceSmallPopupMenu attr textColorAlertDialogListItem attr theme attr thickness attr thumbTextPadding attr title attr titleMarginBottom attr titleMarginEnd attr titleMarginStart attr titleMarginTop attr titleMargins attr titleTextAppearance attr titleTextColor attr titleTextStyle attr toolbarNavigationButtonStyle attr toolbarStyle attr track attr voiceIcon attr windowActionBar attr windowActionBarOverlay attr windowActionModeOverlay attr windowNoTitle ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_fade_in.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_fade_out.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_grow_fade_in_from_bottom.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_popup_enter.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_popup_exit.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_shrink_fade_out_from_bottom.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_slide_in_bottom.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_slide_in_top.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_slide_out_bottom.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/anim/abc_slide_out_top.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/abc_background_cache_hint_selector_material_dark.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/abc_background_cache_hint_selector_material_light.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/abc_primary_text_disable_only_material_dark.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/abc_primary_text_disable_only_material_light.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/abc_primary_text_material_dark.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/abc_primary_text_material_light.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/abc_search_url_text.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/abc_secondary_text_material_dark.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/abc_secondary_text_material_light.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/switch_thumb_material_dark.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color/switch_thumb_material_light.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color-v11/abc_background_cache_hint_selector_material_dark.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color-v11/abc_background_cache_hint_selector_material_light.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/color-v23/abc_color_highlight_material.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_btn_borderless_material.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_btn_check_material.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_btn_colored_material.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_btn_default_mtrl_shape.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_btn_radio_material.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_cab_background_internal_bg.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_cab_background_top_material.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_dialog_material_background_dark.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_dialog_material_background_light.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_edit_text_material.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_item_background_holo_dark.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_item_background_holo_light.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_list_selector_background_transition_holo_dark.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_list_selector_background_transition_holo_light.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_list_selector_holo_dark.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_list_selector_holo_light.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_ratingbar_full_material.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_spinner_textfield_background_material.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_switch_thumb_material.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_tab_indicator_material.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_text_cursor_material.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable/abc_textfield_search_material.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-v21/abc_action_bar_item_background_material.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-v21/abc_btn_colored_material.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/drawable-v23/abc_control_background_material.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_action_bar_title_item.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_action_bar_up_container.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_action_bar_view_list_nav_layout.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_action_menu_item_layout.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_action_menu_layout.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_action_mode_bar.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_action_mode_close_item_material.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_activity_chooser_view.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_activity_chooser_view_list_item.xml ================================================ ================================================ FILE: Day 009 - Cross Platform Porting of React Native App/android/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/layout/abc_alert_dialog_material.xml ================================================