4 | }
5 | });
6 |
--------------------------------------------------------------------------------
/client/components/main.html:
--------------------------------------------------------------------------------
1 |
2 | React Mobile Template
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/client/router.jsx:
--------------------------------------------------------------------------------
1 | const routes = (
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | )
10 |
11 | Meteor.startup(function () {
12 | ReactRouter.run(routes, ReactRouter.HistoryLocation, function (Handler, state) {
13 | React.render(, document.getElementById("app"));
14 | });
15 | });
16 |
--------------------------------------------------------------------------------
/client/styles/styles.scss:
--------------------------------------------------------------------------------
1 | @import ".meteor/local/build/programs/server/assets/packages/meteoric_ionic-sass/ionic";
2 | @import ".meteor/local/build/programs/server/assets/packages/meteoric_ionicons-sass/ionicons";
3 |
--------------------------------------------------------------------------------
/lib/app.browserify.js:
--------------------------------------------------------------------------------
1 | ReactRouter = require("react-router");
2 |
--------------------------------------------------------------------------------
/lib/app.browserify.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": [
4 | "../../../../../../.meteor/packages/cosmos_browserify/.0.5.0.1b7t3d2++os+web.browser+web.cordova/plugin.CosmosBrowserify.os/npm/CosmosBrowserify/node_modules/browserify/node_modules/browser-pack/_prelude.js",
5 | "../../../../../../.meteor/packages/cosmos_browserify/.0.5.0.1b7t3d2++os+web.browser+web.cordova/plugin.CosmosBrowserify.os/npm/CosmosBrowserify/node_modules/browserify/node_modules/process/browser.js",
6 | "_stream_0.js",
7 | "node_modules/react-router/lib/Cancellation.js",
8 | "node_modules/react-router/lib/History.js",
9 | "node_modules/react-router/lib/Match.js",
10 | "node_modules/react-router/lib/Navigation.js",
11 | "node_modules/react-router/lib/PathUtils.js",
12 | "node_modules/react-router/lib/PropTypes.js",
13 | "node_modules/react-router/lib/Redirect.js",
14 | "node_modules/react-router/lib/Route.js",
15 | "node_modules/react-router/lib/ScrollHistory.js",
16 | "node_modules/react-router/lib/State.js",
17 | "node_modules/react-router/lib/Transition.js",
18 | "node_modules/react-router/lib/actions/LocationActions.js",
19 | "node_modules/react-router/lib/behaviors/ImitateBrowserBehavior.js",
20 | "node_modules/react-router/lib/behaviors/ScrollToTopBehavior.js",
21 | "node_modules/react-router/lib/components/ContextWrapper.js",
22 | "node_modules/react-router/lib/components/DefaultRoute.js",
23 | "node_modules/react-router/lib/components/Link.js",
24 | "node_modules/react-router/lib/components/NotFoundRoute.js",
25 | "node_modules/react-router/lib/components/Redirect.js",
26 | "node_modules/react-router/lib/components/Route.js",
27 | "node_modules/react-router/lib/components/RouteHandler.js",
28 | "node_modules/react-router/lib/createRouter.js",
29 | "node_modules/react-router/lib/createRoutesFromReactChildren.js",
30 | "node_modules/react-router/lib/getWindowScrollPosition.js",
31 | "node_modules/react-router/lib/index.js",
32 | "node_modules/react-router/lib/isReactChildren.js",
33 | "node_modules/react-router/lib/locations/HashLocation.js",
34 | "node_modules/react-router/lib/locations/HistoryLocation.js",
35 | "node_modules/react-router/lib/locations/RefreshLocation.js",
36 | "node_modules/react-router/lib/locations/StaticLocation.js",
37 | "node_modules/react-router/lib/locations/TestLocation.js",
38 | "node_modules/react-router/lib/runRouter.js",
39 | "node_modules/react-router/lib/supportsHistory.js",
40 | "node_modules/react-router/node_modules/object-assign/index.js",
41 | "node_modules/react-router/node_modules/qs/index.js",
42 | "node_modules/react-router/node_modules/qs/lib/index.js",
43 | "node_modules/react-router/node_modules/qs/lib/parse.js",
44 | "node_modules/react-router/node_modules/qs/lib/stringify.js",
45 | "node_modules/react-router/node_modules/qs/lib/utils.js"
46 | ],
47 | "names": [],
48 | "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1FA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACxJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACvMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACtIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACjgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",
49 | "file": "generated.js",
50 | "sourceRoot": "",
51 | "sourcesContent": [
52 | "(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n setTimeout(drainQueue, 0);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\n// TODO(shtylman)\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n",
54 | "ReactRouter = require(\"react-router\");\n",
55 | "/**\n * Represents a cancellation caused by navigating away\n * before the previous transition has fully resolved.\n */\n\"use strict\";\n\nfunction Cancellation() {}\n\nmodule.exports = Cancellation;",
56 | "'use strict';\n\nvar invariant = (typeof window !== \"undefined\" ? window['React']['require'] : typeof global !== \"undefined\" ? global['React']['require'] : null)(\"react/lib/invariant\");\nvar canUseDOM = (typeof window !== \"undefined\" ? window['React']['require'] : typeof global !== \"undefined\" ? global['React']['require'] : null)(\"react/lib/ExecutionEnvironment\").canUseDOM;\n\nvar History = {\n\n /**\n * The current number of entries in the history.\n *\n * Note: This property is read-only.\n */\n length: 1,\n\n /**\n * Sends the browser back one entry in the history.\n */\n back: function back() {\n invariant(canUseDOM, 'Cannot use History.back without a DOM');\n\n // Do this first so that History.length will\n // be accurate in location change listeners.\n History.length -= 1;\n\n window.history.back();\n }\n\n};\n\nmodule.exports = History;",
57 | "'use strict';\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\n/* jshint -W084 */\nvar PathUtils = require('./PathUtils');\n\nfunction deepSearch(route, pathname, query) {\n // Check the subtree first to find the most deeply-nested match.\n var childRoutes = route.childRoutes;\n if (childRoutes) {\n var match, childRoute;\n for (var i = 0, len = childRoutes.length; i < len; ++i) {\n childRoute = childRoutes[i];\n\n if (childRoute.isDefault || childRoute.isNotFound) continue; // Check these in order later.\n\n if (match = deepSearch(childRoute, pathname, query)) {\n // A route in the subtree matched! Add this route and we're done.\n match.routes.unshift(route);\n return match;\n }\n }\n }\n\n // No child routes matched; try the default route.\n var defaultRoute = route.defaultRoute;\n if (defaultRoute && (params = PathUtils.extractParams(defaultRoute.path, pathname))) {\n return new Match(pathname, params, query, [route, defaultRoute]);\n } // Does the \"not found\" route match?\n var notFoundRoute = route.notFoundRoute;\n if (notFoundRoute && (params = PathUtils.extractParams(notFoundRoute.path, pathname))) {\n return new Match(pathname, params, query, [route, notFoundRoute]);\n } // Last attempt: check this route.\n var params = PathUtils.extractParams(route.path, pathname);\n if (params) {\n return new Match(pathname, params, query, [route]);\n }return null;\n}\n\nvar Match = (function () {\n function Match(pathname, params, query, routes) {\n _classCallCheck(this, Match);\n\n this.pathname = pathname;\n this.params = params;\n this.query = query;\n this.routes = routes;\n }\n\n _createClass(Match, null, [{\n key: 'findMatch',\n\n /**\n * Attempts to match depth-first a route in the given route's\n * subtree against the given path and returns the match if it\n * succeeds, null if no match can be made.\n */\n value: function findMatch(routes, path) {\n var pathname = PathUtils.withoutQuery(path);\n var query = PathUtils.extractQuery(path);\n var match = null;\n\n for (var i = 0, len = routes.length; match == null && i < len; ++i) match = deepSearch(routes[i], pathname, query);\n\n return match;\n }\n }]);\n\n return Match;\n})();\n\nmodule.exports = Match;",
58 | "'use strict';\n\nvar PropTypes = require('./PropTypes');\n\n/**\n * A mixin for components that modify the URL.\n *\n * Example:\n *\n * var MyLink = React.createClass({\n * mixins: [ Router.Navigation ],\n * handleClick(event) {\n * event.preventDefault();\n * this.transitionTo('aRoute', { the: 'params' }, { the: 'query' });\n * },\n * render() {\n * return (\n * Click me!\n * );\n * }\n * });\n */\nvar Navigation = {\n\n contextTypes: {\n router: PropTypes.router.isRequired\n },\n\n /**\n * Returns an absolute URL path created from the given route\n * name, URL parameters, and query values.\n */\n makePath: function makePath(to, params, query) {\n return this.context.router.makePath(to, params, query);\n },\n\n /**\n * Returns a string that may safely be used as the href of a\n * link to the route with the given name.\n */\n makeHref: function makeHref(to, params, query) {\n return this.context.router.makeHref(to, params, query);\n },\n\n /**\n * Transitions to the URL specified in the arguments by pushing\n * a new URL onto the history stack.\n */\n transitionTo: function transitionTo(to, params, query) {\n this.context.router.transitionTo(to, params, query);\n },\n\n /**\n * Transitions to the URL specified in the arguments by replacing\n * the current URL in the history stack.\n */\n replaceWith: function replaceWith(to, params, query) {\n this.context.router.replaceWith(to, params, query);\n },\n\n /**\n * Transitions to the previous URL.\n */\n goBack: function goBack() {\n return this.context.router.goBack();\n }\n\n};\n\nmodule.exports = Navigation;",
59 | "'use strict';\n\nvar invariant = (typeof window !== \"undefined\" ? window['React']['require'] : typeof global !== \"undefined\" ? global['React']['require'] : null)(\"react/lib/invariant\");\nvar assign = require('object-assign');\nvar qs = require('qs');\n\nvar paramCompileMatcher = /:([a-zA-Z_$][a-zA-Z0-9_$]*)|[*.()\\[\\]\\\\+|{}^$]/g;\nvar paramInjectMatcher = /:([a-zA-Z_$][a-zA-Z0-9_$?]*[?]?)|[*]/g;\nvar paramInjectTrailingSlashMatcher = /\\/\\/\\?|\\/\\?\\/|\\/\\?/g;\nvar queryMatcher = /\\?(.*)$/;\n\nvar _compiledPatterns = {};\n\nfunction compilePattern(pattern) {\n if (!(pattern in _compiledPatterns)) {\n var paramNames = [];\n var source = pattern.replace(paramCompileMatcher, function (match, paramName) {\n if (paramName) {\n paramNames.push(paramName);\n return '([^/?#]+)';\n } else if (match === '*') {\n paramNames.push('splat');\n return '(.*?)';\n } else {\n return '\\\\' + match;\n }\n });\n\n _compiledPatterns[pattern] = {\n matcher: new RegExp('^' + source + '$', 'i'),\n paramNames: paramNames\n };\n }\n\n return _compiledPatterns[pattern];\n}\n\nvar PathUtils = {\n\n /**\n * Returns true if the given path is absolute.\n */\n isAbsolute: function isAbsolute(path) {\n return path.charAt(0) === '/';\n },\n\n /**\n * Joins two URL paths together.\n */\n join: function join(a, b) {\n return a.replace(/\\/*$/, '/') + b;\n },\n\n /**\n * Returns an array of the names of all parameters in the given pattern.\n */\n extractParamNames: function extractParamNames(pattern) {\n return compilePattern(pattern).paramNames;\n },\n\n /**\n * Extracts the portions of the given URL path that match the given pattern\n * and returns an object of param name => value pairs. Returns null if the\n * pattern does not match the given path.\n */\n extractParams: function extractParams(pattern, path) {\n var _compilePattern = compilePattern(pattern);\n\n var matcher = _compilePattern.matcher;\n var paramNames = _compilePattern.paramNames;\n\n var match = path.match(matcher);\n\n if (!match) {\n return null;\n }var params = {};\n\n paramNames.forEach(function (paramName, index) {\n params[paramName] = match[index + 1];\n });\n\n return params;\n },\n\n /**\n * Returns a version of the given route path with params interpolated. Throws\n * if there is a dynamic segment of the route path for which there is no param.\n */\n injectParams: function injectParams(pattern, params) {\n params = params || {};\n\n var splatIndex = 0;\n\n return pattern.replace(paramInjectMatcher, function (match, paramName) {\n paramName = paramName || 'splat';\n\n // If param is optional don't check for existence\n if (paramName.slice(-1) === '?') {\n paramName = paramName.slice(0, -1);\n\n if (params[paramName] == null) return '';\n } else {\n invariant(params[paramName] != null, 'Missing \"%s\" parameter for path \"%s\"', paramName, pattern);\n }\n\n var segment;\n if (paramName === 'splat' && Array.isArray(params[paramName])) {\n segment = params[paramName][splatIndex++];\n\n invariant(segment != null, 'Missing splat # %s for path \"%s\"', splatIndex, pattern);\n } else {\n segment = params[paramName];\n }\n\n return segment;\n }).replace(paramInjectTrailingSlashMatcher, '/');\n },\n\n /**\n * Returns an object that is the result of parsing any query string contained\n * in the given path, null if the path contains no query string.\n */\n extractQuery: function extractQuery(path) {\n var match = path.match(queryMatcher);\n return match && qs.parse(match[1]);\n },\n\n /**\n * Returns a version of the given path without the query string.\n */\n withoutQuery: function withoutQuery(path) {\n return path.replace(queryMatcher, '');\n },\n\n /**\n * Returns a version of the given path with the parameters in the given\n * query merged into the query string.\n */\n withQuery: function withQuery(path, query) {\n var existingQuery = PathUtils.extractQuery(path);\n\n if (existingQuery) query = query ? assign(existingQuery, query) : existingQuery;\n\n var queryString = qs.stringify(query, { arrayFormat: 'brackets' });\n\n if (queryString) {\n return PathUtils.withoutQuery(path) + '?' + queryString;\n }return PathUtils.withoutQuery(path);\n }\n\n};\n\nmodule.exports = PathUtils;",
60 | "'use strict';\n\nvar assign = (typeof window !== \"undefined\" ? window['React']['require'] : typeof global !== \"undefined\" ? global['React']['require'] : null)(\"react/lib/Object.assign\");\nvar ReactPropTypes = (typeof window !== \"undefined\" ? window['React']['require'] : typeof global !== \"undefined\" ? global['React']['require'] : null)(\"react\").PropTypes;\nvar Route = require('./Route');\n\nvar PropTypes = assign({}, ReactPropTypes, {\n\n /**\n * Indicates that a prop should be falsy.\n */\n falsy: function falsy(props, propName, componentName) {\n if (props[propName]) {\n return new Error('<' + componentName + '> should not have a \"' + propName + '\" prop');\n }\n },\n\n /**\n * Indicates that a prop should be a Route object.\n */\n route: ReactPropTypes.instanceOf(Route),\n\n /**\n * Indicates that a prop should be a Router object.\n */\n //router: ReactPropTypes.instanceOf(Router) // TODO\n router: ReactPropTypes.func\n\n});\n\nmodule.exports = PropTypes;",
61 | "/**\n * Encapsulates a redirect to the given route.\n */\n\"use strict\";\n\nfunction Redirect(to, params, query) {\n this.to = to;\n this.params = params;\n this.query = query;\n}\n\nmodule.exports = Redirect;",
62 | "'use strict';\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nvar assign = (typeof window !== \"undefined\" ? window['React']['require'] : typeof global !== \"undefined\" ? global['React']['require'] : null)(\"react/lib/Object.assign\");\nvar invariant = (typeof window !== \"undefined\" ? window['React']['require'] : typeof global !== \"undefined\" ? global['React']['require'] : null)(\"react/lib/invariant\");\nvar warning = (typeof window !== \"undefined\" ? window['React']['require'] : typeof global !== \"undefined\" ? global['React']['require'] : null)(\"react/lib/warning\");\nvar PathUtils = require('./PathUtils');\n\nvar _currentRoute;\n\nvar Route = (function () {\n function Route(name, path, ignoreScrollBehavior, isDefault, isNotFound, onEnter, onLeave, handler) {\n _classCallCheck(this, Route);\n\n this.name = name;\n this.path = path;\n this.paramNames = PathUtils.extractParamNames(this.path);\n this.ignoreScrollBehavior = !!ignoreScrollBehavior;\n this.isDefault = !!isDefault;\n this.isNotFound = !!isNotFound;\n this.onEnter = onEnter;\n this.onLeave = onLeave;\n this.handler = handler;\n }\n\n _createClass(Route, [{\n key: 'appendChild',\n\n /**\n * Appends the given route to this route's child routes.\n */\n value: function appendChild(route) {\n invariant(route instanceof Route, 'route.appendChild must use a valid Route');\n\n if (!this.childRoutes) this.childRoutes = [];\n\n this.childRoutes.push(route);\n }\n }, {\n key: 'toString',\n value: function toString() {\n var string = '';\n\n return string;\n }\n }], [{\n key: 'createRoute',\n\n /**\n * Creates and returns a new route. Options may be a URL pathname string\n * with placeholders for named params or an object with any of the following\n * properties:\n *\n * - name The name of the route. This is used to lookup a\n * route relative to its parent route and should be\n * unique among all child routes of the same parent\n * - path A URL pathname string with optional placeholders\n * that specify the names of params to extract from\n * the URL when the path matches. Defaults to `/${name}`\n * when there is a name given, or the path of the parent\n * route, or /\n * - ignoreScrollBehavior True to make this route (and all descendants) ignore\n * the scroll behavior of the router\n * - isDefault True to make this route the default route among all\n * its siblings\n * - isNotFound True to make this route the \"not found\" route among\n * all its siblings\n * - onEnter A transition hook that will be called when the\n * router is going to enter this route\n * - onLeave A transition hook that will be called when the\n * router is going to leave this route\n * - handler A React component that will be rendered when\n * this route is active\n * - parentRoute The parent route to use for this route. This option\n * is automatically supplied when creating routes inside\n * the callback to another invocation of createRoute. You\n * only ever need to use this when declaring routes\n * independently of one another to manually piece together\n * the route hierarchy\n *\n * The callback may be used to structure your route hierarchy. Any call to\n * createRoute, createDefaultRoute, createNotFoundRoute, or createRedirect\n * inside the callback automatically uses this route as its parent.\n */\n value: function createRoute(options, callback) {\n options = options || {};\n\n if (typeof options === 'string') options = { path: options };\n\n var parentRoute = _currentRoute;\n\n if (parentRoute) {\n warning(options.parentRoute == null || options.parentRoute === parentRoute, 'You should not use parentRoute with createRoute inside another route\\'s child callback; it is ignored');\n } else {\n parentRoute = options.parentRoute;\n }\n\n var name = options.name;\n var path = options.path || name;\n\n if (path && !(options.isDefault || options.isNotFound)) {\n if (PathUtils.isAbsolute(path)) {\n if (parentRoute) {\n invariant(path === parentRoute.path || parentRoute.paramNames.length === 0, 'You cannot nest path \"%s\" inside \"%s\"; the parent requires URL parameters', path, parentRoute.path);\n }\n } else if (parentRoute) {\n // Relative paths extend their parent.\n path = PathUtils.join(parentRoute.path, path);\n } else {\n path = '/' + path;\n }\n } else {\n path = parentRoute ? parentRoute.path : '/';\n }\n\n if (options.isNotFound && !/\\*$/.test(path)) path += '*'; // Auto-append * to the path of not found routes.\n\n var route = new Route(name, path, options.ignoreScrollBehavior, options.isDefault, options.isNotFound, options.onEnter, options.onLeave, options.handler);\n\n if (parentRoute) {\n if (route.isDefault) {\n invariant(parentRoute.defaultRoute == null, '%s may not have more than one default route', parentRoute);\n\n parentRoute.defaultRoute = route;\n } else if (route.isNotFound) {\n invariant(parentRoute.notFoundRoute == null, '%s may not have more than one not found route', parentRoute);\n\n parentRoute.notFoundRoute = route;\n }\n\n parentRoute.appendChild(route);\n }\n\n // Any routes created in the callback\n // use this route as their parent.\n if (typeof callback === 'function') {\n var currentRoute = _currentRoute;\n _currentRoute = route;\n callback.call(route, route);\n _currentRoute = currentRoute;\n }\n\n return route;\n }\n }, {\n key: 'createDefaultRoute',\n\n /**\n * Creates and returns a route that is rendered when its parent matches\n * the current URL.\n */\n value: function createDefaultRoute(options) {\n return Route.createRoute(assign({}, options, { isDefault: true }));\n }\n }, {\n key: 'createNotFoundRoute',\n\n /**\n * Creates and returns a route that is rendered when its parent matches\n * the current URL but none of its siblings do.\n */\n value: function createNotFoundRoute(options) {\n return Route.createRoute(assign({}, options, { isNotFound: true }));\n }\n }, {\n key: 'createRedirect',\n\n /**\n * Creates and returns a route that automatically redirects the transition\n * to another route. In addition to the normal options to createRoute, this\n * function accepts the following options:\n *\n * - from An alias for the `path` option. Defaults to *\n * - to The path/route/route name to redirect to\n * - params The params to use in the redirect URL. Defaults\n * to using the current params\n * - query The query to use in the redirect URL. Defaults\n * to using the current query\n */\n value: function createRedirect(options) {\n return Route.createRoute(assign({}, options, {\n path: options.path || options.from || '*',\n onEnter: function onEnter(transition, params, query) {\n transition.redirect(options.to, options.params || params, options.query || query);\n }\n }));\n }\n }]);\n\n return Route;\n})();\n\nmodule.exports = Route;",
63 | "'use strict';\n\nvar invariant = (typeof window !== \"undefined\" ? window['React']['require'] : typeof global !== \"undefined\" ? global['React']['require'] : null)(\"react/lib/invariant\");\nvar canUseDOM = (typeof window !== \"undefined\" ? window['React']['require'] : typeof global !== \"undefined\" ? global['React']['require'] : null)(\"react/lib/ExecutionEnvironment\").canUseDOM;\nvar getWindowScrollPosition = require('./getWindowScrollPosition');\n\nfunction shouldUpdateScroll(state, prevState) {\n if (!prevState) {\n return true;\n } // Don't update scroll position when only the query has changed.\n if (state.pathname === prevState.pathname) {\n return false;\n }var routes = state.routes;\n var prevRoutes = prevState.routes;\n\n var sharedAncestorRoutes = routes.filter(function (route) {\n return prevRoutes.indexOf(route) !== -1;\n });\n\n return !sharedAncestorRoutes.some(function (route) {\n return route.ignoreScrollBehavior;\n });\n}\n\n/**\n * Provides the router with the ability to manage window scroll position\n * according to its scroll behavior.\n */\nvar ScrollHistory = {\n\n statics: {\n\n /**\n * Records curent scroll position as the last known position for the given URL path.\n */\n recordScrollPosition: function recordScrollPosition(path) {\n if (!this.scrollHistory) this.scrollHistory = {};\n\n this.scrollHistory[path] = getWindowScrollPosition();\n },\n\n /**\n * Returns the last known scroll position for the given URL path.\n */\n getScrollPosition: function getScrollPosition(path) {\n if (!this.scrollHistory) this.scrollHistory = {};\n\n return this.scrollHistory[path] || null;\n }\n\n },\n\n componentWillMount: function componentWillMount() {\n invariant(this.constructor.getScrollBehavior() == null || canUseDOM, 'Cannot use scroll behavior without a DOM');\n },\n\n componentDidMount: function componentDidMount() {\n this._updateScroll();\n },\n\n componentDidUpdate: function componentDidUpdate(prevProps, prevState) {\n this._updateScroll(prevState);\n },\n\n _updateScroll: function _updateScroll(prevState) {\n if (!shouldUpdateScroll(this.state, prevState)) {\n return;\n }var scrollBehavior = this.constructor.getScrollBehavior();\n\n if (scrollBehavior) scrollBehavior.updateScrollPosition(this.constructor.getScrollPosition(this.state.path), this.state.action);\n }\n\n};\n\nmodule.exports = ScrollHistory;",
64 | "'use strict';\n\nvar PropTypes = require('./PropTypes');\n\n/**\n * A mixin for components that need to know the path, routes, URL\n * params and query that are currently active.\n *\n * Example:\n *\n * var AboutLink = React.createClass({\n * mixins: [ Router.State ],\n * render() {\n * var className = this.props.className;\n *\n * if (this.isActive('about'))\n * className += ' is-active';\n *\n * return React.DOM.a({ className: className }, this.props.children);\n * }\n * });\n */\nvar State = {\n\n contextTypes: {\n router: PropTypes.router.isRequired\n },\n\n /**\n * Returns the current URL path.\n */\n getPath: function getPath() {\n return this.context.router.getCurrentPath();\n },\n\n /**\n * Returns the current URL path without the query string.\n */\n getPathname: function getPathname() {\n return this.context.router.getCurrentPathname();\n },\n\n /**\n * Returns an object of the URL params that are currently active.\n */\n getParams: function getParams() {\n return this.context.router.getCurrentParams();\n },\n\n /**\n * Returns an object of the query params that are currently active.\n */\n getQuery: function getQuery() {\n return this.context.router.getCurrentQuery();\n },\n\n /**\n * Returns an array of the routes that are currently active.\n */\n getRoutes: function getRoutes() {\n return this.context.router.getCurrentRoutes();\n },\n\n /**\n * A helper method to determine if a given route, params, and query\n * are active.\n */\n isActive: function isActive(to, params, query) {\n return this.context.router.isActive(to, params, query);\n }\n\n};\n\nmodule.exports = State;",
65 | "/* jshint -W058 */\n\n'use strict';\n\nvar Cancellation = require('./Cancellation');\nvar Redirect = require('./Redirect');\n\n/**\n * Encapsulates a transition to a given path.\n *\n * The willTransitionTo and willTransitionFrom handlers receive\n * an instance of this class as their first argument.\n */\nfunction Transition(path, retry) {\n this.path = path;\n this.abortReason = null;\n // TODO: Change this to router.retryTransition(transition)\n this.retry = retry.bind(this);\n}\n\nTransition.prototype.abort = function (reason) {\n if (this.abortReason == null) this.abortReason = reason || 'ABORT';\n};\n\nTransition.prototype.redirect = function (to, params, query) {\n this.abort(new Redirect(to, params, query));\n};\n\nTransition.prototype.cancel = function () {\n this.abort(new Cancellation());\n};\n\nTransition.from = function (transition, routes, components, callback) {\n routes.reduce(function (callback, route, index) {\n return function (error) {\n if (error || transition.abortReason) {\n callback(error);\n } else if (route.onLeave) {\n try {\n route.onLeave(transition, components[index], callback);\n\n // If there is no callback in the argument list, call it automatically.\n if (route.onLeave.length < 3) callback();\n } catch (e) {\n callback(e);\n }\n } else {\n callback();\n }\n };\n }, callback)();\n};\n\nTransition.to = function (transition, routes, params, query, callback) {\n routes.reduceRight(function (callback, route) {\n return function (error) {\n if (error || transition.abortReason) {\n callback(error);\n } else if (route.onEnter) {\n try {\n route.onEnter(transition, params, query, callback);\n\n // If there is no callback in the argument list, call it automatically.\n if (route.onEnter.length < 4) callback();\n } catch (e) {\n callback(e);\n }\n } else {\n callback();\n }\n };\n }, callback)();\n};\n\nmodule.exports = Transition;",
66 | "/**\n * Actions that modify the URL.\n */\n'use strict';\n\nvar LocationActions = {\n\n /**\n * Indicates a new location is being pushed to the history stack.\n */\n PUSH: 'push',\n\n /**\n * Indicates the current location should be replaced.\n */\n REPLACE: 'replace',\n\n /**\n * Indicates the most recent entry should be removed from the history stack.\n */\n POP: 'pop'\n\n};\n\nmodule.exports = LocationActions;",
67 | "'use strict';\n\nvar LocationActions = require('../actions/LocationActions');\n\n/**\n * A scroll behavior that attempts to imitate the default behavior\n * of modern browsers.\n */\nvar ImitateBrowserBehavior = {\n\n updateScrollPosition: function updateScrollPosition(position, actionType) {\n switch (actionType) {\n case LocationActions.PUSH:\n case LocationActions.REPLACE:\n window.scrollTo(0, 0);\n break;\n case LocationActions.POP:\n if (position) {\n window.scrollTo(position.x, position.y);\n } else {\n window.scrollTo(0, 0);\n }\n break;\n }\n }\n\n};\n\nmodule.exports = ImitateBrowserBehavior;",
68 | "/**\n * A scroll behavior that always scrolls to the top of the page\n * after a transition.\n */\n\"use strict\";\n\nvar ScrollToTopBehavior = {\n\n updateScrollPosition: function updateScrollPosition() {\n window.scrollTo(0, 0);\n }\n\n};\n\nmodule.exports = ScrollToTopBehavior;",
69 | "'use strict';\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nvar _inherits = function (subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; };\n\n/**\n * This component is necessary to get around a context warning\n * present in React 0.13.0. It sovles this by providing a separation\n * between the \"owner\" and \"parent\" contexts.\n */\n\nvar React = (typeof window !== \"undefined\" ? window['React']['require'] : typeof global !== \"undefined\" ? global['React']['require'] : null)(\"react\");\n\nvar ContextWrapper = (function (_React$Component) {\n function ContextWrapper() {\n _classCallCheck(this, ContextWrapper);\n\n if (_React$Component != null) {\n _React$Component.apply(this, arguments);\n }\n }\n\n _inherits(ContextWrapper, _React$Component);\n\n _createClass(ContextWrapper, [{\n key: 'render',\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return ContextWrapper;\n})(React.Component);\n\nmodule.exports = ContextWrapper;",
70 | "'use strict';\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\nvar _inherits = function (subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; };\n\nvar PropTypes = require('../PropTypes');\nvar RouteHandler = require('./RouteHandler');\nvar Route = require('./Route');\n\n/**\n * A component is a special kind of that\n * renders when its parent matches but none of its siblings do.\n * Only one such route may be used at any given level in the\n * route hierarchy.\n */\n\nvar DefaultRoute = (function (_Route) {\n function DefaultRoute() {\n _classCallCheck(this, DefaultRoute);\n\n if (_Route != null) {\n _Route.apply(this, arguments);\n }\n }\n\n _inherits(DefaultRoute, _Route);\n\n return DefaultRoute;\n})(Route);\n\n// TODO: Include these in the above class definition\n// once we can use ES7 property initializers.\n// https://github.com/babel/babel/issues/619\n\nDefaultRoute.propTypes = {\n name: PropTypes.string,\n path: PropTypes.falsy,\n children: PropTypes.falsy,\n handler: PropTypes.func.isRequired\n};\n\nDefaultRoute.defaultProps = {\n handler: RouteHandler\n};\n\nmodule.exports = DefaultRoute;",
71 | "'use strict';\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nvar _inherits = function (subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; };\n\nvar React = (typeof window !== \"undefined\" ? window['React']['require'] : typeof global !== \"undefined\" ? global['React']['require'] : null)(\"react\");\nvar assign = (typeof window !== \"undefined\" ? window['React']['require'] : typeof global !== \"undefined\" ? global['React']['require'] : null)(\"react/lib/Object.assign\");\nvar PropTypes = require('../PropTypes');\n\nfunction isLeftClickEvent(event) {\n return event.button === 0;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\n/**\n * components are used to create an element that links to a route.\n * When that route is active, the link gets an \"active\" class name (or the\n * value of its `activeClassName` prop).\n *\n * For example, assuming you have the following route:\n *\n * \n *\n * You could use the following component to link to that route:\n *\n * \n *\n * In addition to params, links may pass along query string parameters\n * using the `query` prop.\n *\n * \n */\n\nvar Link = (function (_React$Component) {\n function Link() {\n _classCallCheck(this, Link);\n\n if (_React$Component != null) {\n _React$Component.apply(this, arguments);\n }\n }\n\n _inherits(Link, _React$Component);\n\n _createClass(Link, [{\n key: 'handleClick',\n value: function handleClick(event) {\n var allowTransition = true;\n var clickResult;\n\n if (this.props.onClick) clickResult = this.props.onClick(event);\n\n if (isModifiedEvent(event) || !isLeftClickEvent(event)) {\n return;\n }if (clickResult === false || event.defaultPrevented === true) allowTransition = false;\n\n event.preventDefault();\n\n if (allowTransition) this.context.router.transitionTo(this.props.to, this.props.params, this.props.query);\n }\n }, {\n key: 'getHref',\n\n /**\n * Returns the value of the \"href\" attribute to use on the DOM element.\n */\n value: function getHref() {\n return this.context.router.makeHref(this.props.to, this.props.params, this.props.query);\n }\n }, {\n key: 'getClassName',\n\n /**\n * Returns the value of the \"class\" attribute to use on the DOM element, which contains\n * the value of the activeClassName property when this is active.\n */\n value: function getClassName() {\n var className = this.props.className;\n\n if (this.getActiveState()) className += ' ' + this.props.activeClassName;\n\n return className;\n }\n }, {\n key: 'getActiveState',\n value: function getActiveState() {\n return this.context.router.isActive(this.props.to, this.props.params, this.props.query);\n }\n }, {\n key: 'render',\n value: function render() {\n var props = assign({}, this.props, {\n href: this.getHref(),\n className: this.getClassName(),\n onClick: this.handleClick.bind(this)\n });\n\n if (props.activeStyle && this.getActiveState()) props.style = props.activeStyle;\n\n return React.DOM.a(props, this.props.children);\n }\n }]);\n\n return Link;\n})(React.Component);\n\n// TODO: Include these in the above class definition\n// once we can use ES7 property initializers.\n// https://github.com/babel/babel/issues/619\n\nLink.contextTypes = {\n router: PropTypes.router.isRequired\n};\n\nLink.propTypes = {\n activeClassName: PropTypes.string.isRequired,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.route]).isRequired,\n params: PropTypes.object,\n query: PropTypes.object,\n activeStyle: PropTypes.object,\n onClick: PropTypes.func\n};\n\nLink.defaultProps = {\n activeClassName: 'active',\n className: ''\n};\n\nmodule.exports = Link;",
72 | "'use strict';\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\nvar _inherits = function (subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; };\n\nvar PropTypes = require('../PropTypes');\nvar RouteHandler = require('./RouteHandler');\nvar Route = require('./Route');\n\n/**\n * A is a special kind of that\n * renders when the beginning of its parent's path matches\n * but none of its siblings do, including any .\n * Only one such route may be used at any given level in the\n * route hierarchy.\n */\n\nvar NotFoundRoute = (function (_Route) {\n function NotFoundRoute() {\n _classCallCheck(this, NotFoundRoute);\n\n if (_Route != null) {\n _Route.apply(this, arguments);\n }\n }\n\n _inherits(NotFoundRoute, _Route);\n\n return NotFoundRoute;\n})(Route);\n\n// TODO: Include these in the above class definition\n// once we can use ES7 property initializers.\n// https://github.com/babel/babel/issues/619\n\nNotFoundRoute.propTypes = {\n name: PropTypes.string,\n path: PropTypes.falsy,\n children: PropTypes.falsy,\n handler: PropTypes.func.isRequired\n};\n\nNotFoundRoute.defaultProps = {\n handler: RouteHandler\n};\n\nmodule.exports = NotFoundRoute;",
73 | "'use strict';\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\nvar _inherits = function (subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; };\n\nvar PropTypes = require('../PropTypes');\nvar Route = require('./Route');\n\n/**\n * A component is a special kind of that always\n * redirects to another route when it matches.\n */\n\nvar Redirect = (function (_Route) {\n function Redirect() {\n _classCallCheck(this, Redirect);\n\n if (_Route != null) {\n _Route.apply(this, arguments);\n }\n }\n\n _inherits(Redirect, _Route);\n\n return Redirect;\n})(Route);\n\n// TODO: Include these in the above class definition\n// once we can use ES7 property initializers.\n// https://github.com/babel/babel/issues/619\n\nRedirect.propTypes = {\n path: PropTypes.string,\n from: PropTypes.string, // Alias for path.\n to: PropTypes.string,\n handler: PropTypes.falsy\n};\n\n// Redirects should not have a default handler\nRedirect.defaultProps = {};\n\nmodule.exports = Redirect;",
74 | "'use strict';\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nvar _inherits = function (subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; };\n\nvar React = (typeof window !== \"undefined\" ? window['React']['require'] : typeof global !== \"undefined\" ? global['React']['require'] : null)(\"react\");\nvar invariant = (typeof window !== \"undefined\" ? window['React']['require'] : typeof global !== \"undefined\" ? global['React']['require'] : null)(\"react/lib/invariant\");\nvar PropTypes = require('../PropTypes');\nvar RouteHandler = require('./RouteHandler');\n\n/**\n * components specify components that are rendered to the page when the\n * URL matches a given pattern.\n *\n * Routes are arranged in a nested tree structure. When a new URL is requested,\n * the tree is searched depth-first to find a route whose path matches the URL.\n * When one is found, all routes in the tree that lead to it are considered\n * \"active\" and their components are rendered into the DOM, nested in the same\n * order as they are in the tree.\n *\n * The preferred way to configure a router is using JSX. The XML-like syntax is\n * a great way to visualize how routes are laid out in an application.\n *\n * var routes = [\n * \n * \n * \n * \n * \n * ];\n * \n * Router.run(routes, function (Handler) {\n * React.render(, document.body);\n * });\n *\n * Handlers for Route components that contain children can render their active\n * child route using a element.\n *\n * var App = React.createClass({\n * render: function () {\n * return (\n *