Guest User

Untitled

a guest
Jul 11th, 2017
1,086
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module.exports =
  2. webpackJsonp([0],[
  3. /* 0 */,
  4. /* 1 */,
  5. /* 2 */,
  6. /* 3 */,
  7. /* 4 */,
  8. /* 5 */
  9. /*!*****************************!*\
  10.   !*** ./common/navigator.ts ***!
  11.   \*****************************/
  12. /*! no static exports found */
  13. /*! all exports used */
  14. /***/ (function(module, exports, __webpack_require__) {
  15.  
  16. Object.defineProperty(exports, "__esModule", { value: true });
  17. var exampleInfoPageVM = __webpack_require__(/*! ../view-models/example-info-page-view-model */ 179);
  18. var frame = __webpack_require__(/*! ui/frame */ 7);
  19. var platform = __webpack_require__(/*! platform */ 3);
  20. var analytics = __webpack_require__(/*! ./analytics */ 83);
  21. var utils = __webpack_require__(/*! utils/utils */ 1);
  22. var isIOS = platform.device.os === platform.platformNames.ios;
  23. var isAndroid = platform.device.os === platform.platformNames.android;
  24. function traceNavigateTo(to, context) {
  25.     var eventText = "Navigate to: " + to + (context ? " (" + context + ")" : "");
  26.     console.log("Track: " + eventText);
  27.     analytics.trackEvent(eventText);
  28.     return to;
  29. }
  30. function navigateToExampleGroup(context) {
  31.     // prof.start("group");
  32.     frame.topmost().navigate({
  33.         animated: true,
  34.         context: context,
  35.         moduleName: traceNavigateTo("views/group-page/group-page"),
  36.     });
  37. }
  38. exports.navigateToExampleGroup = navigateToExampleGroup;
  39. function navigateToExample(example, siblings) {
  40.     // prof.start("example");
  41.     // prof.startCPUProfile("example");
  42.     var navContext = {
  43.         shouldNavigateToInfoOnBack: true,
  44.         example: example,
  45.         siblings: siblings
  46.     };
  47.     frame.topmost().navigate({
  48.         animated: true,
  49.         moduleName: traceNavigateTo(navContext.example.path),
  50.         context: navContext
  51.     });
  52. }
  53. exports.navigateToExample = navigateToExample;
  54. function navigateToNextExample(current) {
  55.     var index = current.siblings.indexOf(current.example);
  56.     ++index;
  57.     if (index >= current.siblings.length) {
  58.         index = 0;
  59.     }
  60.     var navContext = {
  61.         shouldNavigateToInfoOnBack: true,
  62.         example: current.siblings[index],
  63.         siblings: current.siblings
  64.     };
  65.     frame.topmost().navigate({
  66.         animated: true,
  67.         moduleName: traceNavigateTo(navContext.example.path),
  68.         context: navContext
  69.     });
  70. }
  71. exports.navigateToNextExample = navigateToNextExample;
  72. function navigateToPrevExample(current) {
  73.     var index = current.siblings.indexOf(current.example);
  74.     --index;
  75.     if (index < 0) {
  76.         index = current.siblings.length - 1;
  77.     }
  78.     var navContext = {
  79.         shouldNavigateToInfoOnBack: true,
  80.         example: current.siblings[index],
  81.         siblings: current.siblings
  82.     };
  83.     frame.topmost().navigate({
  84.         animated: true,
  85.         moduleName: traceNavigateTo(navContext.example.path),
  86.         context: navContext
  87.     });
  88. }
  89. exports.navigateToPrevExample = navigateToPrevExample;
  90. function navigateToExampleInfo(context) {
  91.     var infoContext = new exampleInfoPageVM.ExampleInfoPageViewModel(context.example);
  92.     frame.topmost().navigate({
  93.         animated: true,
  94.         context: infoContext,
  95.         moduleName: traceNavigateTo("views/example-info-page", infoContext.currentExample.path)
  96.     });
  97. }
  98. exports.navigateToExampleInfo = navigateToExampleInfo;
  99. function navigateToCode(context) {
  100.     frame.topmost().navigate({
  101.         animated: true,
  102.         context: context,
  103.         moduleName: traceNavigateTo("views/code-page", context.path),
  104.     });
  105. }
  106. exports.navigateToCode = navigateToCode;
  107. function navigateToGroupInfo(context) {
  108.     frame.topmost().navigate({
  109.         animated: true,
  110.         context: context,
  111.         moduleName: traceNavigateTo("views/group-info-page", context.title),
  112.     });
  113. }
  114. exports.navigateToGroupInfo = navigateToGroupInfo;
  115. function navigateToHome() {
  116.     var topmost = frame.topmost();
  117.     if (topmost.currentEntry.moduleName !== "views/main-page/main-page") {
  118.         frame.topmost().navigate(traceNavigateTo("views/main-page/main-page"));
  119.     }
  120. }
  121. exports.navigateToHome = navigateToHome;
  122. function navigateToAbout() {
  123.     var topmost = frame.topmost();
  124.     if (topmost.currentEntry.moduleName !== "views/about/about") {
  125.         frame.topmost().navigate(traceNavigateTo("views/about/about"));
  126.     }
  127. }
  128. exports.navigateToAbout = navigateToAbout;
  129. function navigateToWhatIsNew() {
  130.     var topmost = frame.topmost();
  131.     if (topmost.currentEntry.moduleName !== "views/what-is-new") {
  132.         frame.topmost().navigate(traceNavigateTo("views/what-is-new"));
  133.     }
  134. }
  135. exports.navigateToWhatIsNew = navigateToWhatIsNew;
  136. function navigateBack() {
  137.     frame.goBack();
  138. }
  139. exports.navigateBack = navigateBack;
  140. function navigateBackWithContext(context) {
  141.     var topmostFrame = frame.topmost();
  142.     var backstackEntry = topmostFrame.backStack[topmostFrame.backStack.length - 1];
  143.     backstackEntry.entry.context = context;
  144.     topmostFrame.goBack(backstackEntry);
  145. }
  146. exports.navigateBackWithContext = navigateBackWithContext;
  147. function navigateBackFromExample() {
  148.     var topmostFrame = frame.topmost();
  149.     var stack = topmostFrame.backStack;
  150.     for (var top = stack.length - 1; top >= 0; --top) {
  151.         var backStackEntry = stack[top];
  152.         if (!/^examples\//.test(backStackEntry.entry.moduleName)) {
  153.             topmostFrame.goBack(backStackEntry);
  154.             break;
  155.         }
  156.     }
  157. }
  158. exports.navigateBackFromExample = navigateBackFromExample;
  159. function openLink(view) {
  160.     var url = view.tag;
  161.     if (url) {
  162.         if (isIOS) {
  163.             var nsUrl = NSURL.URLWithString(url);
  164.             var sharedApp = utils.ios.getter(UIApplication, UIApplication.sharedApplication);
  165.             if (sharedApp.canOpenURL(nsUrl)) {
  166.                 sharedApp.openURL(nsUrl);
  167.             }
  168.         }
  169.         else if (isAndroid) {
  170.             var intent = new android.content.Intent(android.content.Intent.ACTION_VIEW, android.net.Uri.parse(url));
  171.             var activity = frame.topmost().android.activity;
  172.             activity.startActivity(android.content.Intent.createChooser(intent, "share"));
  173.         }
  174.     }
  175. }
  176. exports.openLink = openLink;
  177.  
  178.  
  179. /***/ }),
  180. /* 6 */,
  181. /* 7 */,
  182. /* 8 */,
  183. /* 9 */,
  184. /* 10 */,
  185. /* 11 */,
  186. /* 12 */,
  187. /* 13 */,
  188. /* 14 */,
  189. /* 15 */,
  190. /* 16 */,
  191. /* 17 */,
  192. /* 18 */,
  193. /* 19 */,
  194. /* 20 */,
  195. /* 21 */,
  196. /* 22 */,
  197. /* 23 */,
  198. /* 24 */,
  199. /* 25 */,
  200. /* 26 */
  201. /*!**************************************!*\
  202.   !*** ./examples/chart/view-model.ts ***!
  203.   \**************************************/
  204. /*! no static exports found */
  205. /*! all exports used */
  206. /***/ (function(module, exports, __webpack_require__) {
  207.  
  208. Object.defineProperty(exports, "__esModule", { value: true });
  209. var observable = __webpack_require__(/*! data/observable */ 4);
  210. var builder = __webpack_require__(/*! ui/builder */ 20);
  211. var app = __webpack_require__(/*! application */ 2);
  212. var utils = __webpack_require__(/*! utils/utils */ 1);
  213. var ChartExamplesDataModel = (function () {
  214.     function ChartExamplesDataModel(useCache) {
  215.         this._useCache = useCache;
  216.         this._views = {};
  217.     }
  218.     ChartExamplesDataModel.prototype.clearCache = function () {
  219.         for (var i = 0; i < this._views.length; i++) {
  220.             delete this._views[i];
  221.         }
  222.         this._views = {};
  223.     };
  224.     ChartExamplesDataModel.prototype.loadGalleryFragment = function (item, viewHolder, pathToModuleXML, exampleXmlName) {
  225.         if (this.selectedItem) {
  226.             this.selectedItem.isSelected = false;
  227.         }
  228.         item.isSelected = true;
  229.         this.selectedItem = item;
  230.         var useCache = this._useCache && viewHolder.android !== undefined;
  231.         var exampleView = useCache ? this._views[pathToModuleXML + exampleXmlName] : null;
  232.         if (!exampleView) {
  233.             exampleView = builder.load({
  234.                 path: pathToModuleXML,
  235.                 name: exampleXmlName
  236.             });
  237.             if (useCache) {
  238.                 this._views[pathToModuleXML + exampleXmlName] = exampleView;
  239.             }
  240.         }
  241.         if (viewHolder.getChildrenCount() > 0) {
  242.             var child = viewHolder.getChildAt(0);
  243.             viewHolder.removeChild(child);
  244.             child = null;
  245.             if (viewHolder.ios) {
  246.                 utils.GC();
  247.             }
  248.         }
  249.         viewHolder.addChild(exampleView);
  250.     };
  251.     Object.defineProperty(ChartExamplesDataModel.prototype, "categoricalSource", {
  252.         get: function () {
  253.             if (this._categoricalSource) {
  254.                 return this._categoricalSource;
  255.             }
  256.             return this._categoricalSource = [
  257.                 { Category: "Mar", Amount: 65.0 },
  258.                 { Category: "Apr", Amount: 62.0 },
  259.                 { Category: "May", Amount: 55.0 },
  260.                 { Category: "Jun", Amount: 71.0 }
  261.             ];
  262.         },
  263.         enumerable: true,
  264.         configurable: true
  265.     });
  266.     Object.defineProperty(ChartExamplesDataModel.prototype, "categoricalSource2", {
  267.         get: function () {
  268.             if (this._categoricalSource2) {
  269.                 return this._categoricalSource2;
  270.             }
  271.             return this._categoricalSource2 = [
  272.                 { Category: "Mar", Amount: 5 },
  273.                 { Category: "Apr", Amount: 15 },
  274.                 { Category: "May", Amount: 3 },
  275.                 { Category: "Jun", Amount: 45 }
  276.             ];
  277.         },
  278.         enumerable: true,
  279.         configurable: true
  280.     });
  281.     Object.defineProperty(ChartExamplesDataModel.prototype, "categoricalSource3", {
  282.         get: function () {
  283.             if (this._categoricalSource3) {
  284.                 return this._categoricalSource3;
  285.             }
  286.             return this._categoricalSource3 = [
  287.                 { Category: "Mar", Amount: 65 },
  288.                 { Category: "Apr", Amount: 56 },
  289.                 { Category: "May", Amount: 89 },
  290.                 { Category: "Jun", Amount: 68 }
  291.             ];
  292.         },
  293.         enumerable: true,
  294.         configurable: true
  295.     });
  296.     Object.defineProperty(ChartExamplesDataModel.prototype, "areaSource", {
  297.         get: function () {
  298.             if (this._areaSource) {
  299.                 return this._areaSource;
  300.             }
  301.             return this._areaSource = [
  302.                 { Category: "Mar", Amount: 51 },
  303.                 { Category: "Apr", Amount: 81 },
  304.                 { Category: "May", Amount: 89 },
  305.                 { Category: "Jun", Amount: 60 }
  306.             ];
  307.         },
  308.         enumerable: true,
  309.         configurable: true
  310.     });
  311.     Object.defineProperty(ChartExamplesDataModel.prototype, "areaSource2", {
  312.         get: function () {
  313.             if (this._areaSource2) {
  314.                 return this._areaSource2;
  315.             }
  316.             return this._areaSource2 = [
  317.                 { Category: "Mar", Amount: 60 },
  318.                 { Category: "Apr", Amount: 87 },
  319.                 { Category: "May", Amount: 91 },
  320.                 { Category: "Jun", Amount: 95 }
  321.             ];
  322.         },
  323.         enumerable: true,
  324.         configurable: true
  325.     });
  326.     Object.defineProperty(ChartExamplesDataModel.prototype, "bubbleCategoricalSource", {
  327.         get: function () {
  328.             if (this._bubbleCategoricalSource) {
  329.                 return this._bubbleCategoricalSource;
  330.             }
  331.             return this._bubbleCategoricalSource = [
  332.                 { Country: "Germany", Amount: Math.random() * 10, Impact: 1 },
  333.                 { Country: "France", Amount: Math.random() * 10, Impact: 7 },
  334.                 { Country: "Bulgaria", Amount: Math.random() * 10, Impact: 10 },
  335.                 { Country: "Spain", Amount: Math.random() * 10, Impact: 3 },
  336.                 { Country: "USA", Amount: Math.random() * 10, Impact: 4 }
  337.             ];
  338.         },
  339.         enumerable: true,
  340.         configurable: true
  341.     });
  342.     Object.defineProperty(ChartExamplesDataModel.prototype, "pieSource", {
  343.         get: function () {
  344.             if (this._pieSource) {
  345.                 return this._pieSource;
  346.             }
  347.             return this._pieSource = [
  348.                 { Country: "Belgium", Amount: 20.0 },
  349.                 { Country: "Germany", Amount: 50.0 },
  350.                 { Country: "UK", Amount: 30.0 }
  351.             ];
  352.         },
  353.         enumerable: true,
  354.         configurable: true
  355.     });
  356.     Object.defineProperty(ChartExamplesDataModel.prototype, "pieSource2", {
  357.         get: function () {
  358.             if (this._pieSource2) {
  359.                 return this._pieSource2;
  360.             }
  361.             return this._pieSource2 = [
  362.                 { Company: "Google", Amount: 20.0 },
  363.                 { Company: "Apple", Amount: 30.0 },
  364.                 { Company: "Microsoft", Amount: 10.0 },
  365.                 { Company: "Oracle", Amount: 8.0 }
  366.             ];
  367.         },
  368.         enumerable: true,
  369.         configurable: true
  370.     });
  371.     Object.defineProperty(ChartExamplesDataModel.prototype, "pieSource3", {
  372.         get: function () {
  373.             if (this._pieSource3) {
  374.                 return this._pieSource3;
  375.             }
  376.             return this._pieSource3 = [
  377.                 { Level: "Elementary", Amount: 180.0 },
  378.                 { Level: "Higher", Amount: 120.0 },
  379.                 { Level: "Training", Amount: 60.0 }
  380.             ];
  381.         },
  382.         enumerable: true,
  383.         configurable: true
  384.     });
  385.     ChartExamplesDataModel.prototype.getPictureResourcePath = function (groupName, exampleName) {
  386.         if (app.ios) {
  387.             return "res://chart/" + groupName + "/" + exampleName;
  388.         }
  389.         var resourcePath = "res://" + exampleName;
  390.         return resourcePath;
  391.     };
  392.     Object.defineProperty(ChartExamplesDataModel.prototype, "areaTypes", {
  393.         get: function () {
  394.             if (this._areaTypes) {
  395.                 return this._areaTypes;
  396.             }
  397.             return this._areaTypes = [
  398.                 new ChartTypeItem(true, this.getPictureResourcePath("area", "area1"), "area1"),
  399.                 new ChartTypeItem(false, this.getPictureResourcePath("area", "area2"), "area2"),
  400.                 new ChartTypeItem(false, this.getPictureResourcePath("area", "area3"), "area3"),
  401.                 new ChartTypeItem(false, this.getPictureResourcePath("area", "area4"), "area4"),
  402.                 new ChartTypeItem(false, this.getPictureResourcePath("area", "area5"), "area5"),
  403.                 new ChartTypeItem(false, this.getPictureResourcePath("area", "area6"), "area6")
  404.             ];
  405.         },
  406.         enumerable: true,
  407.         configurable: true
  408.     });
  409.     Object.defineProperty(ChartExamplesDataModel.prototype, "barTypes", {
  410.         get: function () {
  411.             if (this._barTypes) {
  412.                 return this._barTypes;
  413.             }
  414.             return this._barTypes = [
  415.                 new ChartTypeItem(true, this.getPictureResourcePath("bar", "bar1"), "bar1"),
  416.                 new ChartTypeItem(false, this.getPictureResourcePath("bar", "bar2"), "bar2"),
  417.                 new ChartTypeItem(false, this.getPictureResourcePath("bar", "bar3"), "bar3"),
  418.                 new ChartTypeItem(false, this.getPictureResourcePath("bar", "bar4"), "bar4"),
  419.                 new ChartTypeItem(false, this.getPictureResourcePath("bar", "bar5"), "bar5"),
  420.                 new ChartTypeItem(false, this.getPictureResourcePath("bar", "bar6"), "bar6")
  421.             ];
  422.         },
  423.         enumerable: true,
  424.         configurable: true
  425.     });
  426.     Object.defineProperty(ChartExamplesDataModel.prototype, "lineTypes", {
  427.         get: function () {
  428.             if (this._lineTypes) {
  429.                 return this._lineTypes;
  430.             }
  431.             return this._lineTypes = [
  432.                 new ChartTypeItem(true, this.getPictureResourcePath("line", "line1"), "line1"),
  433.                 new ChartTypeItem(false, this.getPictureResourcePath("line", "line2"), "line2"),
  434.                 new ChartTypeItem(false, this.getPictureResourcePath("line", "line3"), "line3"),
  435.                 new ChartTypeItem(false, this.getPictureResourcePath("line", "line4"), "line4")
  436.             ];
  437.         },
  438.         enumerable: true,
  439.         configurable: true
  440.     });
  441.     Object.defineProperty(ChartExamplesDataModel.prototype, "pieTypes", {
  442.         get: function () {
  443.             if (this._pieTypes) {
  444.                 return this._pieTypes;
  445.             }
  446.             return this._pieTypes = [
  447.                 new ChartTypeItem(true, this.getPictureResourcePath("pie", "pie1"), "pie1"),
  448.                 new ChartTypeItem(false, this.getPictureResourcePath("pie", "pie2"), "pie2"),
  449.                 new ChartTypeItem(false, this.getPictureResourcePath("pie", "pie3"), "pie3"),
  450.             ];
  451.         },
  452.         enumerable: true,
  453.         configurable: true
  454.     });
  455.     return ChartExamplesDataModel;
  456. }());
  457. exports.ChartExamplesDataModel = ChartExamplesDataModel;
  458. var ChartTypeItem = (function (_super) {
  459.     __extends(ChartTypeItem, _super);
  460.     function ChartTypeItem(selected, imageResource, xmlResource) {
  461.         var _this = _super.call(this) || this;
  462.         _this.isSelected = selected;
  463.         _this.imageRes = imageResource;
  464.         _this.exampleXml = xmlResource;
  465.         return _this;
  466.     }
  467.     Object.defineProperty(ChartTypeItem.prototype, "isSelected", {
  468.         get: function () {
  469.             return this.get("selected");
  470.         },
  471.         set: function (value) {
  472.             this.set("selected", value);
  473.         },
  474.         enumerable: true,
  475.         configurable: true
  476.     });
  477.     Object.defineProperty(ChartTypeItem.prototype, "imageRes", {
  478.         get: function () {
  479.             return this.get("imgRes");
  480.         },
  481.         set: function (value) {
  482.             this.set("imgRes", value);
  483.         },
  484.         enumerable: true,
  485.         configurable: true
  486.     });
  487.     Object.defineProperty(ChartTypeItem.prototype, "selectedImageRes", {
  488.         get: function () {
  489.             var suffix = app.ios ? "s" : "";
  490.             return this.get("imgRes") + suffix;
  491.         },
  492.         enumerable: true,
  493.         configurable: true
  494.     });
  495.     Object.defineProperty(ChartTypeItem.prototype, "exampleXml", {
  496.         get: function () {
  497.             return this.get("exXml");
  498.         },
  499.         set: function (value) {
  500.             this.set("exXml", value);
  501.         },
  502.         enumerable: true,
  503.         configurable: true
  504.     });
  505.     return ChartTypeItem;
  506. }(observable.Observable));
  507. exports.ChartTypeItem = ChartTypeItem;
  508.  
  509.  
  510. /***/ }),
  511. /* 27 */
  512. /*!**********************************************************************!*\
  513.   !*** ../node_modules/nativescript-telerik-analytics/common/tools.js ***!
  514.   \**********************************************************************/
  515. /*! no static exports found */
  516. /*! all exports used */
  517. /***/ (function(module, exports, __webpack_require__) {
  518.  
  519. "use strict";
  520.  
  521.  
  522. (function(global) {
  523.     var _private = global._private = global._private || { };
  524.     var logger = new NullLogger();
  525.  
  526.     var propertyValueMaxLength = 1000,
  527.         eventNameMaxLength = 200;
  528.  
  529.     _private.Tools = function() {
  530.         this.logger = logger;
  531.     };
  532.  
  533.     _private.Tools.prototype.isNumber = function(value) {
  534.         return !isNaN(parseInt(value)) && isFinite(value);
  535.     };
  536.  
  537.     _private.Tools.prototype.isEmptyObject = function(obj) {
  538.         for(var prop in obj) {
  539.             if (Object.prototype.hasOwnProperty.call(obj, prop)) {
  540.                 return false;
  541.             }
  542.         }
  543.         return true;
  544.     };
  545.  
  546.     _private.Tools.prototype.isDefinedAndNotNull = function(value) {
  547.         return typeof value !== 'undefined' && value !== null;
  548.     };
  549.  
  550.     _private.Tools.prototype.sanitizeProperties = function(properties) {
  551.         var sanitizedProperties = null;
  552.  
  553.         if (!this.isDefinedAndNotNull(properties)) {
  554.             return sanitizedProperties;
  555.         }
  556.  
  557.         for (var key in properties) {
  558.             if (properties.hasOwnProperty(key)) {
  559.                 sanitizedProperties = sanitizedProperties || { };
  560.                 var value = properties[key];
  561.                 if (typeof value === 'string' && value != null) {
  562.                     var sanitizedKey = this.chop(key, eventNameMaxLength);
  563.                     var sanitizedValue = this.chop(value, propertyValueMaxLength);
  564.                     if (sanitizedKey != null && sanitizedValue != null) {
  565.                         sanitizedProperties[sanitizedKey] = sanitizedValue;
  566.                     }
  567.                 }
  568.             }
  569.         }
  570.  
  571.         return sanitizedProperties;
  572.     };
  573.  
  574.     _private.Tools.prototype.sanitizeLocation = function(location) {
  575.         if (!this.isDefinedAndNotNull(location) || typeof location.latitude === 'undefined' || typeof location.longitude === 'undefined') {
  576.             return null;
  577.         }
  578.  
  579.         var latitude = parseFloat(location.latitude);
  580.         var longitude = parseFloat(location.longitude);
  581.         if (isNaN(latitude) || isNaN(longitude)) {
  582.             return null;
  583.         }
  584.  
  585.         if (latitude < -90 || latitude > 90 || longitude < -180 || longitude > 180) {
  586.             return null;
  587.         }
  588.  
  589.         return {
  590.             latitude: latitude,
  591.             longitude: longitude
  592.         };
  593.     };
  594.  
  595.     _private.Tools.prototype.chop = function(input, length) {
  596.         if (typeof input !== 'string' || input == null || length < 0) {
  597.             return null;
  598.         }
  599.  
  600.         return input.length <= length ? input : input.substring(0, length);
  601.     };
  602.  
  603.     _private.Tools.prototype.chopEventName = function(input) {
  604.         return this.chop(input, eventNameMaxLength);
  605.     };
  606.  
  607.     _private.Tools.prototype.getServerEndpoint = function(settings) {
  608.         if (this.isDefinedAndNotNull(settings.serverEndpoint) && settings.serverEndpoint !== '') {
  609.             return settings.serverEndpoint + '/api/v' + this.getProtocolVersion() + '/monitordata/' + settings.appId;
  610.         }
  611.  
  612.         var targetProtocol;
  613.         if (settings.useHttps === true) {
  614.             targetProtocol = 'https';
  615.         } else if (settings.useHttps === false) {
  616.             targetProtocol = 'http';
  617.         } else {
  618.             targetProtocol = 'https';
  619.             if (global && global.location && global.location.protocol !== 'https:') {
  620.                 targetProtocol = 'http';
  621.             }
  622.         }
  623.  
  624.         return targetProtocol + '://' + settings.appId + '.monitor-telerik.com/api/v' + this.getProtocolVersion() + '/monitordata/' + settings.appId;
  625.     };
  626.  
  627.     _private.Tools.prototype.getProtocolVersion = function() {
  628.         return 1;
  629.     };
  630.  
  631.     _private.Tools.prototype.getDefaultSendInterval = function() {
  632.         return 200;
  633.     };
  634.  
  635.     _private.Tools.prototype.getSendInterval = function(settingsSendInterval) {
  636.         var interval = this.getDefaultSendInterval();
  637.         if (this.isNumber(settingsSendInterval) && settingsSendInterval >= interval) {
  638.             interval = settingsSendInterval;
  639.         }
  640.         return interval;
  641.     };
  642.  
  643.     function NullLogger() {
  644.     }
  645.  
  646.     NullLogger.prototype.info = function(message, obj) {
  647.     };
  648.  
  649.     NullLogger.prototype.error = function(message, obj) {
  650.     };
  651.  
  652.  
  653.     //stacktrace formatting from stacktrace.js
  654.     // Note possible improvements using: http://blogs.msdn.com/b/ie/archive/2012/05/10/diagnosing-javascript-errors-faster-with-error-stack.aspx
  655.     // and info from: http://wiki.ecmascript.org/doku.php?id=strawman:error_stack
  656.     // (IE10+ only and different formats for each browser)
  657.     function a(b) {
  658.         b = b && b.e ? b.e : null;
  659.         return (new a.implementation).run(b);
  660.     }
  661.     a.implementation = function () {
  662.     };
  663.     a.implementation.prototype = {
  664.         run: function (b) {
  665.             if (!b)
  666.                 return "";
  667.             var a;
  668.             if (!(a = b))
  669.                 a = void 0;
  670.             b = a;
  671.             a = this._mode || this.mode(b);
  672.  
  673.             if ("other" === a) {
  674.                 // there is issues with strict mode (in non-IE browsers)
  675.                 // since some of the functions up the stacktrace cannot access the
  676.                 // 'arguments', 'caller' and 'callee' methods.
  677.                 return this.other(arguments.callee);
  678.             }
  679.             else
  680.                 return this[a](b);
  681.         },
  682.         mode: function (b) {
  683.             return b.arguments ? this._mode = "chrome" : global.opera && b.stacktrace ? this._mode = "opera10" : b.stack ? this._mode = "firefox" : global.opera && !("stacktrace" in b) ? this._mode = "opera" : this._mode = "other";
  684.         },
  685.         chrome: function (b) {
  686.             return b.stack.replace(/^[^\(]+?[\n$]/gm, "").replace(/^\s+at\s+/gm, "").replace(/^Object.<anonymous>\s*\(/gm, "{anonymous}()@").split("\n");
  687.         },
  688.         firefox: function (b) {
  689.             return b.stack.replace(/(?:\n@:0)?\s+$/m, "").replace(/^\(/gm, "{anonymous}(").split("\n");
  690.         },
  691.         opera10: function (b) {
  692.             var b = b.stacktrace.split("\n"), a = /.*line (\d+), column (\d+) in ((<anonymous function\:?\s*(\S+))|([^\(]+)\([^\)]*\))(?: in )?(.*)\s*$/i, c, d, j;
  693.             for (c = 2, d = 0, j = b.length; c < j - 2; c++)
  694.                 if (a.test(b[c])) {
  695.                     var f = RegExp.$6 + ":" + RegExp.$1 + ":" + RegExp.$2, i = RegExp.$3, i = i.replace(/<anonymous function\:?\s?(\S+)?>/g, "{anonymous}");
  696.                     b[d++] = i + "@" + f;
  697.                 }
  698.             b.splice(d, b.length - d);
  699.             return b;
  700.         },
  701.         opera: function (b) {
  702.             var b = b.message.split("\n"), a = /Line\s+(\d+).*script\s+(http\S+)(?:.*in\s+function\s+(\S+))?/i, c, d, f;
  703.             for (c = 4, d = 0, f = b.length; c < f; c +=
  704.                         2)
  705.                 a.test(b[c]) && (b[d++] = (RegExp.$3 ? RegExp.$3 + "()@" + RegExp.$2 + RegExp.$1 : "{anonymous}()@" + RegExp.$2 + ":" + RegExp.$1) + " -- " + b[c + 1].replace(/^\s+/, ""));
  706.             b.splice(d, b.length - d);
  707.             return b;
  708.         },
  709.         other: function (b) {
  710.             for (var a = /function\s*([\w\-$]+)?\s*\(/i, c = [], d = 0, f, k; b && 10 > c.length;) {
  711.                 var r1 = a.test(b.toString());
  712.                 var args = [];
  713.                 try {
  714.                     args = Array.prototype.slice.call(b.arguments);
  715.                     b = b.caller;
  716.                 }
  717.                 catch (ex) {
  718.                     b = null;
  719.                 }
  720.                 f = r1 ? RegExp.$1 || "{anonymous}" : "{anonymous}",
  721.                               k = args,
  722.                               c[d++] = f + "(" + this.stringifyArguments(k) + ")";
  723.  
  724.                 if (!b)
  725.                     break;
  726.             }
  727.             return c;
  728.         },
  729.         stringifyArguments: function (b) {
  730.             for (var a = 0; a < b.length; ++a) {
  731.                 var c =
  732.                               b[a];
  733.                 void 0 === c ? b[a] = "undefined" : null === c ? b[a] = "null" : c.constructor && (c.constructor === Array ? b[a] = 3 > c.length ? "[" + this.stringifyArguments(c) + "]" : "[" + this.stringifyArguments(Array.prototype.slice.call(c, 0, 1)) + "..." + this.stringifyArguments(Array.prototype.slice.call(c, -1)) + "]" : c.constructor === Object ? b[a] = "#object" : c.constructor === Function ? b[a] = "#function" : c.constructor === String && (b[a] = '"' + c + '"'));
  734.             }
  735.             return b.join(",");
  736.         }
  737.     };
  738.  
  739.     _private.Tools.prototype.getFormattedStackTrace = function(exc) {
  740.         try {
  741.             var formattedStackTrace = a({ e: exc });
  742.             return formattedStackTrace.join('\n');
  743.         }
  744.         catch (e) {
  745.             return '';
  746.         }
  747.     };
  748.  
  749.     var _keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
  750.  
  751.     _private.Tools.prototype.base64Encode = function (input) {
  752.         var output = '';
  753.         var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
  754.         var i = 0;
  755.  
  756.         input = utf8Encode(input);
  757.  
  758.         while (i < input.length) {
  759.             chr1 = input.charCodeAt(i++);
  760.             chr2 = input.charCodeAt(i++);
  761.             chr3 = input.charCodeAt(i++);
  762.  
  763.             enc1 = chr1 >> 2;
  764.             enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
  765.             enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
  766.             enc4 = chr3 & 63;
  767.  
  768.             if (isNaN(chr2)) {
  769.                 enc3 = enc4 = 64;
  770.             } else if (isNaN(chr3)) {
  771.                 enc4 = 64;
  772.             }
  773.  
  774.             output = output +
  775.                 _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +
  776.                 _keyStr.charAt(enc3) + _keyStr.charAt(enc4);
  777.         }
  778.         return output;
  779.     };
  780.  
  781.     _private.Tools.prototype.base64Decode = function (input) {
  782.         var output = '';
  783.         var chr1, chr2, chr3;
  784.         var enc1, enc2, enc3, enc4;
  785.         var i = 0;
  786.  
  787.         input = input.replace(/[^A-Za-z0-9\+\/\=]/g, '');
  788.  
  789.         while (i < input.length) {
  790.             enc1 = _keyStr.indexOf(input.charAt(i++));
  791.             enc2 = _keyStr.indexOf(input.charAt(i++));
  792.             enc3 = _keyStr.indexOf(input.charAt(i++));
  793.             enc4 = _keyStr.indexOf(input.charAt(i++));
  794.  
  795.             chr1 = (enc1 << 2) | (enc2 >> 4);
  796.             chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
  797.             chr3 = ((enc3 & 3) << 6) | enc4;
  798.  
  799.             output = output + String.fromCharCode(chr1);
  800.  
  801.             if (enc3 != 64) {
  802.                 output = output + String.fromCharCode(chr2);
  803.             }
  804.             if (enc4 != 64) {
  805.                 output = output + String.fromCharCode(chr3);
  806.             }
  807.         }
  808.         output = utf8Decode(output);
  809.         return output;
  810.     };
  811.  
  812.     function utf8Encode(str) {
  813.         str = str.replace(/\r\n/g, '\n');
  814.         var utftext = '';
  815.  
  816.         for (var n = 0; n < str.length; n++) {
  817.             var c = str.charCodeAt(n);
  818.             if (c < 128) {
  819.                 utftext += String.fromCharCode(c);
  820.             } else if((c > 127) && (c < 2048)) {
  821.                 utftext += String.fromCharCode((c >> 6) | 192);
  822.                 utftext += String.fromCharCode((c & 63) | 128);
  823.             } else {
  824.                 utftext += String.fromCharCode((c >> 12) | 224);
  825.                 utftext += String.fromCharCode(((c >> 6) & 63) | 128);
  826.                 utftext += String.fromCharCode((c & 63) | 128);
  827.             }
  828.         }
  829.         return utftext;
  830.     }
  831.  
  832.     function utf8Decode(utftext) {
  833.         var str = '';
  834.         var i = 0;
  835.         var c, c1, c2;
  836.         c = c1 = c2 = 0;
  837.  
  838.         while ( i < utftext.length ) {
  839.             c = utftext.charCodeAt(i);
  840.             if (c < 128) {
  841.                 str += String.fromCharCode(c);
  842.                 i++;
  843.             } else if((c > 191) && (c < 224)) {
  844.                 c2 = utftext.charCodeAt(i + 1);
  845.                 str += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
  846.                 i += 2;
  847.             } else {
  848.                 c2 = utftext.charCodeAt(i + 1);
  849.                 var c3 = utftext.charCodeAt(i + 2);
  850.                 str += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
  851.                 i += 3;
  852.             }
  853.         }
  854.         return str;
  855.     }
  856.  
  857.     if (true) {
  858.         if (typeof module !== 'undefined' && module.exports) {
  859.             exports = module.exports = _private.Tools;
  860.         }
  861.         exports._ta = _private.Tools;
  862.     }
  863. }(this || global));
  864.  
  865. /***/ }),
  866. /* 28 */,
  867. /* 29 */
  868. /*!****************************!*\
  869.   !*** ./common/firebase.ts ***!
  870.   \****************************/
  871. /*! no static exports found */
  872. /*! all exports used */
  873. /***/ (function(module, exports, __webpack_require__) {
  874.  
  875. Object.defineProperty(exports, "__esModule", { value: true });
  876. var application = __webpack_require__(/*! application */ 2);
  877. var utils = __webpack_require__(/*! utils/utils */ 1);
  878. var dialogs = __webpack_require__(/*! ui/dialogs */ 30);
  879. var platform_1 = __webpack_require__(/*! platform */ 3);
  880. var settings = __webpack_require__(/*! application-settings */ 85);
  881. var observable_1 = __webpack_require__(/*! data/observable */ 4);
  882. var navigator = __webpack_require__(/*! ../common/navigator */ 5);
  883. var enabled = true;
  884. var FIREBASE_NEWS_INITAL = "firebase:news:inital";
  885. var FIREBASE_NEWS_READ_KEY = "firebase:news:read";
  886. var _readArticles;
  887. function loadReadArticles() {
  888.     if (_readArticles) {
  889.         return _readArticles;
  890.     }
  891.     var str = settings.getString(FIREBASE_NEWS_READ_KEY, "{}");
  892.     try {
  893.         _readArticles = JSON.parse(str);
  894.     }
  895.     catch (e) {
  896.         console.log("Failed to parse read firebase articles.");
  897.         _readArticles = {};
  898.     }
  899.     return _readArticles;
  900. }
  901. function saveReadArticles() {
  902.     try {
  903.         settings.setString(FIREBASE_NEWS_READ_KEY, JSON.stringify(loadReadArticles()));
  904.     }
  905.     catch (e) {
  906.         console.log("Failed to persist read articles: " + e);
  907.     }
  908. }
  909. function getIsArticleRead(id) {
  910.     return !!loadReadArticles()[id];
  911. }
  912. function markAsRead(id) {
  913.     loadReadArticles()[id] = true;
  914.     saveReadArticles();
  915. }
  916. function markAllAsRead() {
  917.     var readArticles = loadReadArticles();
  918.     exports.viewModel.news.filter(function (n) { return n && n.id; }).forEach(function (n) { return readArticles[n.id] = true; });
  919.     console.log("Maked as read: " + JSON.stringify(readArticles));
  920.     saveReadArticles();
  921.     exports.viewModel.updateHasUnreadNews();
  922. }
  923. function markAsUnread(id) {
  924.     loadReadArticles()[id] = false;
  925.     saveReadArticles();
  926. }
  927. function markAllAsReadOnFirstRun() {
  928.     var isInitalRun = settings.getBoolean(FIREBASE_NEWS_INITAL, true);
  929.     if (isInitalRun) {
  930.         markAllAsRead();
  931.         settings.setBoolean(FIREBASE_NEWS_INITAL, false);
  932.     }
  933. }
  934. var Article = (function (_super) {
  935.     __extends(Article, _super);
  936.     function Article(base) {
  937.         var _this = _super.call(this) || this;
  938.         _this.id = base.id;
  939.         _this.title = base.title;
  940.         _this.body = base.body;
  941.         _this.url = base.url;
  942.         _this.date = base.date;
  943.         return _this;
  944.     }
  945.     Object.defineProperty(Article.prototype, "isRead", {
  946.         get: function () {
  947.             return !!(this.id && getIsArticleRead(this.id));
  948.         },
  949.         set: function (value) {
  950.             if (value && this.id) {
  951.                 markAsRead(this.id);
  952.             }
  953.             else {
  954.                 markAsUnread(this.id);
  955.             }
  956.             this.notifyPropertyChange("isRead", value);
  957.             exports.viewModel.updateHasUnreadNews();
  958.         },
  959.         enumerable: true,
  960.         configurable: true
  961.     });
  962.     return Article;
  963. }(observable_1.Observable));
  964. exports.Article = Article;
  965. var ViewModel = (function (_super) {
  966.     __extends(ViewModel, _super);
  967.     function ViewModel() {
  968.         var _this = _super.call(this) || this;
  969.         _this.hasNews = false;
  970.         _this.hasUnreadNews = false;
  971.         _this.updateNews([]);
  972.         return _this;
  973.     }
  974.     ViewModel.prototype.updateNews = function (updates) {
  975.         this.news = updates.filter(function (fb) { return !!fb; }).map(function (fb) { return new Article(fb); });
  976.         this.updateHasNews();
  977.         this.updateHasUnreadNews();
  978.         this.notifyPropertyChange("news", this.news);
  979.     };
  980.     ViewModel.prototype.updateHasNews = function () {
  981.         var newValue = this.news && this.news.length > 0;
  982.         if (newValue != this.hasNews) {
  983.             this.hasNews = newValue;
  984.             this.notifyPropertyChange("hasNews", newValue);
  985.         }
  986.     };
  987.     ViewModel.prototype.updateHasUnreadNews = function () {
  988.         var newValue = this.news && this.news.length > 0 && this.news.some(function (args) { return !args.isRead; });
  989.         if (newValue != this.hasUnreadNews) {
  990.             this.hasUnreadNews = newValue;
  991.             this.notifyPropertyChange("hasUnreadNews", newValue);
  992.             console.log("hasUnreadNews: " + this.hasUnreadNews);
  993.         }
  994.     };
  995.     return ViewModel;
  996. }(observable_1.Observable));
  997. exports.ViewModel = ViewModel;
  998. exports.viewModel = new ViewModel();
  999. var firebase;
  1000. var lastHandledData;
  1001. if (enabled) {
  1002.     firebase = __webpack_require__(/*! nativescript-plugin-firebase */ 98);
  1003.     var userGrantedPush = settings.getBoolean("user-granted-push", false);
  1004.     if (platform_1.isAndroid) {
  1005.         // Android doesn't ask permissions so go for firebase initialization on launch.
  1006.         firebaseInit();
  1007.     }
  1008.     else if (userGrantedPush) {
  1009.         // For iOS, if the user haven't granted push permissions yet, wait for the intro animation to complete.
  1010.         application.on("launch", function (args) {
  1011.             firebaseInit();
  1012.         });
  1013.     }
  1014. }
  1015. function onAfterIntro() {
  1016.     if (!enabled) {
  1017.         return;
  1018.     }
  1019.     // iOS asks for permissions so ask after the intro has played the first time.
  1020.     if (platform_1.isIOS && !settings.getBoolean("user-granted-push", false)) {
  1021.         firebaseInit();
  1022.     }
  1023. }
  1024. exports.onAfterIntro = onAfterIntro;
  1025. function firebaseInit() {
  1026.     if (!enabled) {
  1027.         return;
  1028.     }
  1029.     console.log("Firebase init!!!");
  1030.     firebase.init({
  1031.         persist: true,
  1032.         onMessageReceivedCallback: function (message) {
  1033.             console.log("Got message!");
  1034.             console.log(JSON.stringify(message));
  1035.             var url = message.url;
  1036.             var id = message.id;
  1037.             if (url) {
  1038.                 if (message.foreground) {
  1039.                     dialogs.confirm({
  1040.                         title: message.inAppTitle,
  1041.                         message: message.inAppBody,
  1042.                         okButtonText: platform_1.isAndroid ? "OPEN" : "Open",
  1043.                         cancelButtonText: platform_1.isAndroid ? "OK" : "OK"
  1044.                     }).then(function (result) {
  1045.                         if (result) {
  1046.                             utils.openUrl(url);
  1047.                             if (id) {
  1048.                                 markAsRead(id);
  1049.                                 exports.viewModel.news.filter(function (a) { return a.id === a.id; }).forEach(function (a) { return a.isRead = true; });
  1050.                             }
  1051.                             navigator.navigateToWhatIsNew();
  1052.                         }
  1053.                     });
  1054.                 }
  1055.                 else {
  1056.                     if (lastHandledData != url) {
  1057.                         navigator.navigateToWhatIsNew();
  1058.                         lastHandledData = url;
  1059.                     }
  1060.                 }
  1061.             }
  1062.         },
  1063.         onPushTokenReceivedCallback: function (token) {
  1064.             console.log("Got token");
  1065.             console.log("token: " + token);
  1066.             settings.setBoolean("user-granted-push", true);
  1067.         }
  1068.     }).then(function (value) {
  1069.         firebase.addValueEventListener(function (result) {
  1070.             if (!result.error) {
  1071.                 console.log("Update news: " + JSON.stringify(result.value));
  1072.                 exports.viewModel.updateNews(result.value || []);
  1073.                 markAllAsReadOnFirstRun();
  1074.             }
  1075.             else {
  1076.                 console.log(JSON.stringify(result));
  1077.             }
  1078.         }, "/news").then(function (listenerWrapper) {
  1079.             var path = listenerWrapper.path;
  1080.             var listeners = listenerWrapper.listeners;
  1081.             console.log("Listening for firebase data. path: " + path + ", listeners: " + listeners);
  1082.         });
  1083.     }).catch(function (e) {
  1084.         console.log("Failed to init firebase. " + e);
  1085.         console.log("stack:\n" + e.stack);
  1086.     });
  1087. }
  1088.  
  1089.  
  1090. /***/ }),
  1091. /* 30 */,
  1092. /* 31 */,
  1093. /* 32 */,
  1094. /* 33 */,
  1095. /* 34 */,
  1096. /* 35 */
  1097. /*!*****************************!*\
  1098.   !*** ./common/profiling.ts ***!
  1099.   \*****************************/
  1100. /*! no static exports found */
  1101. /*! all exports used */
  1102. /***/ (function(module, exports, __webpack_require__) {
  1103.  
  1104. Object.defineProperty(exports, "__esModule", { value: true });
  1105. exports.ENABLE_PROFILING = false;
  1106. function time() {
  1107.     if (!exports.ENABLE_PROFILING) {
  1108.         return;
  1109.     }
  1110.     if (global.android) {
  1111.         return java.lang.System.nanoTime() / 1000000; // 1 ms = 1000000 ns
  1112.     }
  1113.     else {
  1114.         return CACurrentMediaTime() * 1000;
  1115.     }
  1116. }
  1117. exports.time = time;
  1118. var timers = new Map();
  1119. function start(name) {
  1120.     if (!exports.ENABLE_PROFILING) {
  1121.         return;
  1122.     }
  1123.     var info;
  1124.     if (timers.has(name)) {
  1125.         info = timers.get(name);
  1126.         if (info.currentStart != 0) {
  1127.             console.log("WARNING: Timer already started: " + name);
  1128.         }
  1129.         info.currentStart = time();
  1130.     }
  1131.     else {
  1132.         info = {
  1133.             totalTime: 0,
  1134.             count: 0,
  1135.             currentStart: time()
  1136.         };
  1137.         timers.set(name, info);
  1138.     }
  1139. }
  1140. exports.start = start;
  1141. function pause(name) {
  1142.     if (!exports.ENABLE_PROFILING) {
  1143.         return;
  1144.     }
  1145.     var info = pauseInternal(name);
  1146.     if (info) {
  1147.         console.log("---- [" + name + "] PAUSE last: " + info.lastTime + " total: " + info.totalTime + " count: " + info.count);
  1148.     }
  1149. }
  1150. exports.pause = pause;
  1151. function stop(name) {
  1152.     if (!exports.ENABLE_PROFILING) {
  1153.         return;
  1154.     }
  1155.     var info = pauseInternal(name);
  1156.     if (info) {
  1157.         console.log("---- [" + name + "] STOP total: " + info.totalTime + " count:" + info.count);
  1158.         timers.delete(name);
  1159.     }
  1160. }
  1161. exports.stop = stop;
  1162. function pauseInternal(name) {
  1163.     var info = timers.get(name);
  1164.     if (!info) {
  1165.         console.log("WARNING: No timer started: " + name);
  1166.         return null;
  1167.     }
  1168.     info.lastTime = Math.round(time() - info.currentStart);
  1169.     info.totalTime += info.lastTime;
  1170.     info.count++;
  1171.     info.currentStart = 0;
  1172.     return info;
  1173. }
  1174. function startCPUProfile(name) {
  1175.     if (!exports.ENABLE_PROFILING) {
  1176.         return;
  1177.     }
  1178.     if (global.android) {
  1179.         __startCPUProfiler(name);
  1180.     }
  1181. }
  1182. exports.startCPUProfile = startCPUProfile;
  1183. function stopCPUProfile(name) {
  1184.     if (!exports.ENABLE_PROFILING) {
  1185.         return;
  1186.     }
  1187.     if (global.android) {
  1188.         __stopCPUProfiler(name);
  1189.     }
  1190. }
  1191. exports.stopCPUProfile = stopCPUProfile;
  1192.  
  1193.  
  1194. /***/ }),
  1195. /* 36 */
  1196. /*!***************************!*\
  1197.   !*** ./common/effects.ts ***!
  1198.   \***************************/
  1199. /*! no static exports found */
  1200. /*! all exports used */
  1201. /***/ (function(module, exports, __webpack_require__) {
  1202.  
  1203. Object.defineProperty(exports, "__esModule", { value: true });
  1204. var color_1 = __webpack_require__(/*! color */ 11);
  1205. function loadedGuard(args, cb) {
  1206.     return function () {
  1207.         if (args.android || args.ios) {
  1208.             return cb.apply(this, arguments);
  1209.         }
  1210.         return undefined;
  1211.     };
  1212. }
  1213. exports.loadedGuard = loadedGuard;
  1214. function grayTouch(args) {
  1215.     var viewObject = args.object;
  1216.     switch (args.action) {
  1217.         case "up":
  1218.             if (!(--viewObject.gesturePoints)) {
  1219.                 viewObject.animate({
  1220.                     // Get gray fast!
  1221.                     backgroundColor: new color_1.Color(0xFFEEEEEE),
  1222.                     duration: 1
  1223.                 }).then(loadedGuard(viewObject, function () { return viewObject.animate({
  1224.                     backgroundColor: new color_1.Color(0xFFFFFFFF),
  1225.                     duration: 300
  1226.                 }); }));
  1227.             }
  1228.             break;
  1229.         case "down":
  1230.             viewObject.gesturePoints = (viewObject.gesturePoints || 0) + 1;
  1231.             viewObject.backgroundColor = new color_1.Color(0xFFEEEEEE);
  1232.             break;
  1233.         case "cancel":
  1234.             viewObject.gesturePoints = 0;
  1235.             viewObject.animate({
  1236.                 backgroundColor: new color_1.Color(0xFFFFFFFF),
  1237.                 duration: 300
  1238.             });
  1239.             break;
  1240.     }
  1241. }
  1242. exports.grayTouch = grayTouch;
  1243.  
  1244.  
  1245. /***/ }),
  1246. /* 37 */,
  1247. /* 38 */,
  1248. /* 39 */,
  1249. /* 40 */,
  1250. /* 41 */,
  1251. /* 42 */,
  1252. /* 43 */,
  1253. /* 44 */,
  1254. /* 45 */,
  1255. /* 46 */,
  1256. /* 47 */,
  1257. /* 48 */,
  1258. /* 49 */,
  1259. /* 50 */,
  1260. /* 51 */,
  1261. /* 52 */
  1262. /*!*************************************************************************!*\
  1263.   !*** ../node_modules/nativescript-telerik-analytics/common/datetime.js ***!
  1264.   \*************************************************************************/
  1265. /*! no static exports found */
  1266. /*! all exports used */
  1267. /***/ (function(module, exports, __webpack_require__) {
  1268.  
  1269. "use strict";
  1270.  
  1271.  
  1272. (function(global) {
  1273.     var _private = global._private = global._private || { };
  1274.  
  1275.     _private.DateTime = function() {
  1276.     };
  1277.  
  1278.     _private.DateTime.prototype.getISO8601LocalDate = function() {
  1279.         var now = new Date(),
  1280.             tzo = -now.getTimezoneOffset(),
  1281.             sign = tzo >= 0 ? '+' : '-',
  1282.             pad = function(num, width) {
  1283.                 var zero = '0';
  1284.                 var norm = Math.abs(Math.floor(num)).toString();
  1285.                 return norm.length >= width ? norm : new Array(width - norm.length + 1).join(zero) + norm;
  1286.             };
  1287.         return now.getFullYear()
  1288.             + '-' + pad(now.getMonth() + 1, 2)
  1289.             + '-' + pad(now.getDate(), 2)
  1290.             + 'T' + pad(now.getHours(), 2)
  1291.             + ':' + pad(now.getMinutes(), 2)
  1292.             + ':' + pad(now.getSeconds(), 2)
  1293.             + '.' + pad(now.getMilliseconds(), 3)
  1294.             + sign + pad(tzo / 60, 2)
  1295.             + ':' + pad(tzo % 60, 2);
  1296.     };
  1297.  
  1298.     _private.DateTime.prototype.getUnixTimestamp = function() {
  1299.         return new Date().getTime();
  1300.     };
  1301.  
  1302.  
  1303.     if (true) {
  1304.         if (typeof module !== 'undefined' && module.exports) {
  1305.             exports = module.exports = _private.DateTime;
  1306.         }
  1307.         exports._ta = _private.DateTime;
  1308.     }
  1309. }(this || global));
  1310.  
  1311. /***/ }),
  1312. /* 53 */,
  1313. /* 54 */,
  1314. /* 55 */
  1315. /*!***************************************!*\
  1316.   !*** ./view-models/examples-model.ts ***!
  1317.   \***************************************/
  1318. /*! no static exports found */
  1319. /*! all exports used */
  1320. /***/ (function(module, exports) {
  1321.  
  1322. Object.defineProperty(exports, "__esModule", { value: true });
  1323. exports.groups = [
  1324.     {
  1325.         id: "coreui",
  1326.         title: "CoreUI",
  1327.         isNew: false,
  1328.         info: "NativeScript enables developers to build cross platform native apps while sharing the application code across the platforms. It ships with a set of user interface Views (also known as widgets) which you can use to build the user interface of a mobile application. Most of these views wrap the corresponding native platform views while providing a common API to work with.",
  1329.         url: "http://docs.nativescript.org/ui-views",
  1330.         tint: "#034d8d",
  1331.         examples: [
  1332.             {
  1333.                 title: "Layouts",
  1334.                 image: "res://screen_layouts",
  1335.                 controls: "stack-layout grid-layout wrap-layout dock-layout absolute-layout",
  1336.                 path: "examples/layouts/layouts-example",
  1337.                 info: "NativeScript provides a recursive layout system which sizes and positions views on the screen. The supported layouts are stack, grid, wrap, dock and absolute.",
  1338.                 isFeatured: true,
  1339.                 isNew: false
  1340.             },
  1341.             {
  1342.                 title: "User profile",
  1343.                 image: "res://screen_user_profile",
  1344.                 controls: "scroll-view stack-layout label text-field text-view image button switch action-bar",
  1345.                 path: "examples/user-profile/user-profile-example",
  1346.                 info: "This example demonstrates how you can use the different NativeScript layouts together to achieve a data input form behavior.",
  1347.                 isFeatured: true,
  1348.                 isNew: false
  1349.             },
  1350.             {
  1351.                 title: "Conference agenda",
  1352.                 image: "res://screen_conference_agenda",
  1353.                 controls: "list-view segmented-bar search-bar action-bar label",
  1354.                 path: "examples/conference-agenda/conference-agenda-example",
  1355.                 info: "This example demonstrates how you can create a ListView item template using the GridLayout.",
  1356.                 isFeatured: true,
  1357.                 isNew: false
  1358.             }
  1359.         ]
  1360.     },
  1361.     {
  1362.         id: "chart",
  1363.         title: "Chart",
  1364.         isNew: false,
  1365.         url: "http://docs.telerik.com/devtools/nativescript-ui/Controls/Chart/chart-overview",
  1366.         info: "Chart for NativeScript supports chart type series essential for visualizing your application data. You can customize its look and feel to match those of your application.",
  1367.         tint: "#018f88",
  1368.         examples: [
  1369.             {
  1370.                 title: "Bar series",
  1371.                 image: "res://screen_bar_chart",
  1372.                 path: "examples/chart/bar-series",
  1373.                 info: "Bar charts are one of the most common types of graph used to display data. They are mostly used to show amounts or the number of times a value occurs.",
  1374.                 controls: "chart",
  1375.                 isFeatured: true,
  1376.                 isNew: false
  1377.             },
  1378.             {
  1379.                 title: "Line series",
  1380.                 image: "res://screen_line_chart",
  1381.                 path: "examples/chart/line-series",
  1382.                 info: "Line charts are often used to plot changes in data over time, such as monthly temperature changes or daily changes in stock market prices.",
  1383.                 controls: "chart",
  1384.                 isFeatured: true,
  1385.                 isNew: false
  1386.             },
  1387.             {
  1388.                 title: "Area series",
  1389.                 image: "res://screen_area_chart",
  1390.                 path: "examples/chart/area-series",
  1391.                 info: "Area charts are much like line charts, but they display different colors in the areas below the lines. This colorful and visual display distinguishes the data more clearly.",
  1392.                 controls: "chart",
  1393.                 isFeatured: true,
  1394.                 isNew: false
  1395.             },
  1396.             {
  1397.                 title: "Pie series",
  1398.                 image: "res://screen_pie_chart",
  1399.                 path: "examples/chart/pie-series",
  1400.                 info: "Pie charts are used to display the contribution of frantional parts to a whole. Each data point is a pie slice with arc size proportional to the magnitude of the point's value.",
  1401.                 controls: "chart",
  1402.                 isFeatured: true,
  1403.                 isNew: false
  1404.             }
  1405.         ]
  1406.     },
  1407.     {
  1408.         id: "listview",
  1409.         title: "ListView",
  1410.         isNew: true,
  1411.         url: "http://docs.telerik.com/devtools/nativescript-ui/Controls/ListView/listview-overview",
  1412.         info: "ListView for NativeScript is a powerful UI virtualized list control that provides popular UX scenarios out-of-the-box.",
  1413.         tint: "#ff6e40",
  1414.         examples: [
  1415.             {
  1416.                 title: "Item layouts",
  1417.                 image: "res://screen_listview_layouts",
  1418.                 path: "examples/listview/layouts/listview-layouts",
  1419.                 info: "ListView for NativeScript supports different item layouts that are UI virtualized and optimized for mobile.",
  1420.                 controls: "listview",
  1421.                 isFeatured: true,
  1422.                 isNew: false
  1423.             },
  1424.             {
  1425.                 title: "Item reorder",
  1426.                 image: "res://screen_reorder",
  1427.                 path: "examples/listview/reorder/listview-reorder",
  1428.                 info: "Item reorder allows you to change the position of an item in ListView by dragging it.",
  1429.                 controls: "listview",
  1430.                 isFeatured: true,
  1431.                 isNew: false
  1432.             },
  1433.             {
  1434.                 title: "Selection",
  1435.                 image: "res://screen_listview_selection",
  1436.                 path: "examples/listview/selection/main-page",
  1437.                 info: "ListView supports two selection modes: single and miltiple. It also exposes convenient API for managing selection. You can programmatically select, deselect and query the currently selected items.",
  1438.                 controls: "listview",
  1439.                 isFeatured: true,
  1440.                 isNew: false
  1441.             }
  1442.         ]
  1443.     },
  1444.     {
  1445.         id: "dataform",
  1446.         title: "DataForm",
  1447.         isNew: true,
  1448.         url: "http://docs.telerik.com/devtools/nativescript-ui/Controls/DataForm/dataform-overview",
  1449.         info: "DataForm for NativeScript helps you edit the properties of a business object during runtime and build a mobile form fast and easy. ",
  1450.         tint: "#ff6e40",
  1451.         examples: [
  1452.             {
  1453.                 title: "Reservations",
  1454.                 image: "res://screen_dataform",
  1455.                 path: "examples/dataform/reservations-list-page",
  1456.                 info: "DataForm for NativeScript can be used in various scenarios where a business object has to be edited. This example demonstrates how to edit the information about reservations in a restaurant.",
  1457.                 controls: "dataform",
  1458.                 isFeatured: true,
  1459.                 isNew: true
  1460.             }
  1461.         ]
  1462.     }
  1463.     // { title: "Side Drawer", isNew: true, controls: ["side-drawer"], tint: "teal", url: "http://docs.telerik.com/devtools/nativescript-ui/Controls/SideDrawer/sidedrawer-overview", info: "info..." }
  1464.     // { title: "Calendar", isNew: false, controls: ["calendar"], tint: "purple", url: "http://docs.telerik.com/devtools/nativescript-ui/Controls/SideDrawer/sidedrawer-overview", info: "info..." },
  1465.     // { title: "List View", isNew: false, controls: ["list-view-ui"], tint: "magenta", url: "http://docs.telerik.com/devtools/nativescript-ui/Controls/SideDrawer/sidedrawer-overview", info: "info..." },
  1466. ];
  1467. // Assign groups to examples and filter featured examples
  1468. exports.featuredExamples = new Array();
  1469. exports.groups.forEach(function (group) {
  1470.     group.examples.forEach(function (ex) {
  1471.         if (ex.isFeatured) {
  1472.             exports.featuredExamples.push(ex);
  1473.         }
  1474.         ex.group = group;
  1475.     });
  1476. });
  1477.  
  1478.  
  1479. /***/ }),
  1480. /* 56 */,
  1481. /* 57 */,
  1482. /* 58 */,
  1483. /* 59 */,
  1484. /* 60 */,
  1485. /* 61 */,
  1486. /* 62 */,
  1487. /* 63 */,
  1488. /* 64 */,
  1489. /* 65 */,
  1490. /* 66 */,
  1491. /* 67 */,
  1492. /* 68 */,
  1493. /* 69 */,
  1494. /* 70 */,
  1495. /* 71 */,
  1496. /* 72 */,
  1497. /* 73 */,
  1498. /* 74 */,
  1499. /* 75 */,
  1500. /* 76 */,
  1501. /* 77 */,
  1502. /* 78 */,
  1503. /* 79 */,
  1504. /* 80 */,
  1505. /* 81 */,
  1506. /* 82 */,
  1507. /* 83 */
  1508. /*!*****************************!*\
  1509.   !*** ./common/analytics.ts ***!
  1510.   \*****************************/
  1511. /*! no static exports found */
  1512. /*! all exports used */
  1513. /***/ (function(module, exports, __webpack_require__) {
  1514.  
  1515. Object.defineProperty(exports, "__esModule", { value: true });
  1516. var Analytics = __webpack_require__(/*! nativescript-telerik-analytics */ 84);
  1517. var enabled = false;
  1518. function start() {
  1519.     var packageJson = __webpack_require__(/*! ../package.json */ 40);
  1520.     if (packageJson.analyticsAppId) {
  1521.         var Analytics = __webpack_require__(/*! nativescript-telerik-analytics */ 84);
  1522.         Analytics.init({
  1523.             appId: packageJson.analyticsAppId,
  1524.             logger: {
  1525.                 info: function (msg) { return console.info("Analytics: " + msg); },
  1526.                 error: function (msg) { return console.error("Analytics: " + msg); }
  1527.             }
  1528.         });
  1529.         Analytics.start();
  1530.         enabled = true;
  1531.     }
  1532. }
  1533. exports.start = start;
  1534. function trackEvent(feature) {
  1535.     if (!enabled) {
  1536.         return;
  1537.     }
  1538.     Analytics.trackEvent(feature);
  1539. }
  1540. exports.trackEvent = trackEvent;
  1541. function trackTimingRaw(feature, time) {
  1542.     if (!enabled) {
  1543.         return;
  1544.     }
  1545.     Analytics.trackTimingRaw(feature, time);
  1546. }
  1547. exports.trackTimingRaw = trackTimingRaw;
  1548. function trackTimingStart(feature) {
  1549.     if (!enabled) {
  1550.         return;
  1551.     }
  1552.     return Analytics.trackTimingStart(feature);
  1553. }
  1554. exports.trackTimingStart = trackTimingStart;
  1555. function trackException(e, context) {
  1556.     if (!enabled) {
  1557.         return;
  1558.     }
  1559.     Analytics.trackException(e, context);
  1560. }
  1561. exports.trackException = trackException;
  1562.  
  1563.  
  1564. /***/ }),
  1565. /* 84 */
  1566. /*!****************************************************************************!*\
  1567.   !*** ../node_modules/nativescript-telerik-analytics/nativescript/index.js ***!
  1568.   \****************************************************************************/
  1569. /*! no static exports found */
  1570. /*! all exports used */
  1571. /***/ (function(module, exports, __webpack_require__) {
  1572.  
  1573. "use strict";
  1574.  
  1575.  
  1576. var application         = __webpack_require__(/*! application */ 2),
  1577.     timer               = __webpack_require__(/*! timer */ 39),
  1578.     Base                = __webpack_require__(/*! ../common */ 180),
  1579.     Tools               = __webpack_require__(/*! ../common/tools */ 27),
  1580.     DateTime            = __webpack_require__(/*! ../common/datetime */ 52),
  1581.     InternalEvents      = __webpack_require__(/*! ../common/internalEvents */ 181),
  1582.     HttpService         = __webpack_require__(/*! ./http */ 182),
  1583.     StoreService        = __webpack_require__(/*! ./store */ 183),
  1584.     EnvironmentService  = __webpack_require__(/*! ./environment */ 185),
  1585.     platform            = __webpack_require__(/*! ./monitortype-native */ 187),
  1586.     exceptions          = __webpack_require__(/*! ./exceptions-native */ 188);
  1587.  
  1588. (function(global) {
  1589.     var Analytics = { },
  1590.     tools = new Tools(),
  1591.     dateTime = new DateTime(),
  1592.     runningStart,
  1593.     suspendedStart,
  1594.     lastLifecycleEvent;
  1595.  
  1596.     exports = module.exports = Analytics;
  1597.  
  1598.     Analytics.init = function(settings) {
  1599.         if (!settings || !settings.appId) {
  1600.             throw new Error('Missing appId parameter');
  1601.         }
  1602.  
  1603.         var serverEndpoint = tools.getServerEndpoint(settings);
  1604.  
  1605.         Base.initBase({
  1606.             appId: settings.appId,
  1607.             productVersion: settings.productVersion || platform.device.productVersion,
  1608.             location: settings.location,
  1609.             clientIP: settings.clientIP,
  1610.             sessionProperties: settings.sessionProperties,
  1611.             superProperties: settings.superProperties,
  1612.             isInternalData: typeof settings.isInternalData === 'boolean' ? settings.isInternalData : false,
  1613.             sendInterval: tools.getSendInterval(settings.sendInterval),
  1614.             monitorType: platform.device.monitorType,
  1615.             monitorVersion: '1.0.8',
  1616.             logger: tools.isDefinedAndNotNull(settings.logger) && typeof settings.logger.info === 'function' && typeof settings.logger.error === 'function' ? settings.logger : null,
  1617.             http: settings.http || new HttpService(serverEndpoint),
  1618.             environment: settings.environment || new EnvironmentService(),
  1619.             store: settings.store || new StoreService({
  1620.                 keysPrefix: '.ta' + settings.appId,
  1621.                 queueKey: '_queue',
  1622.                 deviceKey: '_device',
  1623.                 cardinalKey: '_cardinal'
  1624.             }),
  1625.             setTimeout: settings.timeout || timer.setTimeout,
  1626.             internalEvents: new InternalEvents()
  1627.         });
  1628.  
  1629.         if (settings.autoTrackUnhandledExceptions !== false) {
  1630.             application.on(application.uncaughtErrorEvent, function (args) {
  1631.                 var exception = null;
  1632.                 if (args.android) {
  1633.                     exception = args.android;
  1634.                 } else if (args.ios) {
  1635.                     exception = args.ios;
  1636.                 }
  1637.  
  1638.                 if (exception != null) {
  1639.                     Base.trackException(exceptions.formatNativeException(exception), 'uncaughtErrorEvent', true);
  1640.                 }
  1641.             });
  1642.         }
  1643.     };
  1644.  
  1645.     Analytics.reset = function() {
  1646.         Base.reset();
  1647.     };
  1648.  
  1649.     Analytics.start = function() {
  1650.         runningStart = dateTime.getUnixTimestamp();
  1651.         lastLifecycleEvent = null;
  1652.         Base.start();
  1653.     };
  1654.  
  1655.     Analytics.trackEvent = function(name, properties) {
  1656.         Base.trackEvent(name, properties);
  1657.     };
  1658.  
  1659.     Analytics.trackValue = function(name, value, properties) {
  1660.         Base.trackValue(name, value, properties);
  1661.     };
  1662.  
  1663.     Analytics.trackException = function(e, context) {
  1664.         Base.trackException(exceptions.formatNativeException(e), context);
  1665.     };
  1666.  
  1667.     Analytics.trackTimingStart = function(name) {
  1668.         return Base.trackTimingStart(name);
  1669.     };
  1670.  
  1671.     Analytics.trackTimingRaw = function(name, elapsed, properties) {
  1672.         Base.trackTimingRaw(name, elapsed, properties);
  1673.     };
  1674.  
  1675.     Analytics.stop = function() {
  1676.         stopSession();
  1677.     };
  1678.  
  1679.  
  1680.     function stopSession(reason) {
  1681.         var elapsed = dateTime.getUnixTimestamp() - runningStart;
  1682.         if (!isNaN(elapsed) && elapsed > 0 && lastLifecycleEvent !== '$Lifecycle.Running') {
  1683.             lastLifecycleEvent = '$Lifecycle.Running';
  1684.             Base.trackTimingRaw(lastLifecycleEvent, elapsed, null, false);
  1685.         }
  1686.         Base.stop(reason);
  1687.     }
  1688.  
  1689.     application.on(application.suspendEvent, function (args) {
  1690.         var timestamp = dateTime.getUnixTimestamp();
  1691.         var elapsed = timestamp - runningStart;
  1692.         if (!isNaN(runningStart) && elapsed > 0 && lastLifecycleEvent !== '$Lifecycle.Running') {
  1693.             lastLifecycleEvent = '$Lifecycle.Running';
  1694.             Base.trackTimingRaw(lastLifecycleEvent, elapsed, null, false);
  1695.         }
  1696.         suspendedStart = timestamp;
  1697.     });
  1698.  
  1699.     application.on(application.resumeEvent, function (args) {
  1700.         var timestamp = dateTime.getUnixTimestamp();
  1701.         var elapsed = timestamp - suspendedStart;
  1702.         if (!isNaN(suspendedStart) && elapsed > 0 && lastLifecycleEvent !== '$Lifecycle.Suspended') {
  1703.             lastLifecycleEvent = '$Lifecycle.Suspended';
  1704.             Base.trackTimingRaw(lastLifecycleEvent, elapsed, null, false);
  1705.         }
  1706.         runningStart = timestamp;
  1707.     });
  1708.  
  1709.     application.on(application.exitEvent, function (args) {
  1710.         if (Base.isSessionRunning()) {
  1711.             stopSession('$Stop.ProcessExit');
  1712.         }
  1713.     });
  1714. }(this));
  1715.  
  1716. /***/ }),
  1717. /* 85 */
  1718. /*!*********************************************************************************************!*\
  1719.   !*** ../node_modules/tns-core-modules/application-settings/application-settings.android.js ***!
  1720.   \*********************************************************************************************/
  1721. /*! no static exports found */
  1722. /*! all exports used */
  1723. /***/ (function(module, exports, __webpack_require__) {
  1724.  
  1725. Object.defineProperty(exports, "__esModule", { value: true });
  1726. var common = __webpack_require__(/*! ./application-settings-common */ 184);
  1727. var application_1 = __webpack_require__(/*! ../application */ 2);
  1728. var sharedPreferences;
  1729. function ensureSharedPreferences() {
  1730.     if (!sharedPreferences) {
  1731.         sharedPreferences = application_1.getNativeApplication().getApplicationContext().getSharedPreferences("prefs.db", 0);
  1732.     }
  1733. }
  1734. function verify(key) {
  1735.     common.checkKey(key);
  1736.     ensureSharedPreferences();
  1737. }
  1738. function hasKey(key) {
  1739.     verify(key);
  1740.     return sharedPreferences.contains(key);
  1741. }
  1742. exports.hasKey = hasKey;
  1743. function getBoolean(key, defaultValue) {
  1744.     verify(key);
  1745.     if (hasKey(key)) {
  1746.         return sharedPreferences.getBoolean(key, false);
  1747.     }
  1748.     return defaultValue;
  1749. }
  1750. exports.getBoolean = getBoolean;
  1751. function getString(key, defaultValue) {
  1752.     verify(key);
  1753.     if (hasKey(key)) {
  1754.         return sharedPreferences.getString(key, "");
  1755.     }
  1756.     return defaultValue;
  1757. }
  1758. exports.getString = getString;
  1759. function getNumber(key, defaultValue) {
  1760.     verify(key);
  1761.     if (hasKey(key)) {
  1762.         return sharedPreferences.getFloat(key, float(0.0));
  1763.     }
  1764.     return defaultValue;
  1765. }
  1766. exports.getNumber = getNumber;
  1767. function setBoolean(key, value) {
  1768.     verify(key);
  1769.     common.ensureValidValue(value, "boolean");
  1770.     var editor = sharedPreferences.edit();
  1771.     editor.putBoolean(key, value);
  1772.     editor.commit();
  1773. }
  1774. exports.setBoolean = setBoolean;
  1775. function setString(key, value) {
  1776.     verify(key);
  1777.     common.ensureValidValue(value, "string");
  1778.     var editor = sharedPreferences.edit();
  1779.     editor.putString(key, value);
  1780.     editor.commit();
  1781. }
  1782. exports.setString = setString;
  1783. function setNumber(key, value) {
  1784.     verify(key);
  1785.     common.ensureValidValue(value, "number");
  1786.     var editor = sharedPreferences.edit();
  1787.     editor.putFloat(key, float(value));
  1788.     editor.commit();
  1789. }
  1790. exports.setNumber = setNumber;
  1791. function remove(key) {
  1792.     verify(key);
  1793.     var editor = sharedPreferences.edit();
  1794.     editor.remove(key);
  1795.     editor.commit();
  1796. }
  1797. exports.remove = remove;
  1798. function clear() {
  1799.     ensureSharedPreferences();
  1800.     sharedPreferences.edit().clear().commit();
  1801. }
  1802. exports.clear = clear;
  1803. //# sourceMappingURL=application-settings.android.js.map
  1804.  
  1805. /***/ }),
  1806. /* 86 */
  1807. /*!**********************************************************************************************!*\
  1808.   !*** ../node_modules/nativescript-telerik-analytics/nativescript/emulator-native.android.js ***!
  1809.   \**********************************************************************************************/
  1810. /*! no static exports found */
  1811. /*! all exports used */
  1812. /***/ (function(module, exports) {
  1813.  
  1814. var tools = (function () {
  1815.     function tools() {
  1816.     }
  1817.  
  1818.     Object.defineProperty(tools, 'isEmulator', {
  1819.         get: function () {
  1820.             if (typeof tools._isEmulator === 'undefined') {
  1821.                 tools._isEmulator = false;
  1822.                 try {
  1823.                     var fingerprint = android.os.Build.FINGERPRINT;
  1824.                     if (fingerprint != null && (fingerprint.indexOf('vbox') > -1 || fingerprint.indexOf('generic') > -1)) {
  1825.                         tools._isEmulator = true;
  1826.                     }
  1827.                 } catch (e) {
  1828.                 }
  1829.             }
  1830.             return tools._isEmulator;
  1831.         },
  1832.         enumerable: true,
  1833.         configurable: true
  1834.     });
  1835.  
  1836.     Object.defineProperty(tools, 'emulatorType', {
  1837.         get: function () {
  1838.             return 'android-emulator';
  1839.         },
  1840.         enumerable: true,
  1841.         configurable: true
  1842.     });
  1843.  
  1844.     return tools;
  1845. })();
  1846.  
  1847. exports.tools = tools;
  1848.  
  1849. /***/ }),
  1850. /* 87 */
  1851. /*!*******************************************!*\
  1852.   !*** ./common/linear-gradient.android.ts ***!
  1853.   \*******************************************/
  1854. /*! no static exports found */
  1855. /*! all exports used */
  1856. /***/ (function(module, exports, __webpack_require__) {
  1857.  
  1858. Object.defineProperty(exports, "__esModule", { value: true });
  1859. var common = __webpack_require__(/*! ./linear-gradient-common */ 193);
  1860. global.moduleMerge(common, exports);
  1861. function drawBackground(view, colors, orientation) {
  1862.     var nativeView = view.nativeView;
  1863.     if (!nativeView) {
  1864.         throw new Error("Native view is not created yet!");
  1865.     }
  1866.     var backgroundDrawable = nativeView.getBackground();
  1867.     if (!(backgroundDrawable instanceof android.graphics.drawable.GradientDrawable)) {
  1868.         backgroundDrawable = new android.graphics.drawable.GradientDrawable();
  1869.         nativeView.setBackgroundDrawable(backgroundDrawable);
  1870.     }
  1871.     var LINEAR_GRADIENT = 0;
  1872.     var nativeColors = new Array();
  1873.     colors.forEach(function (color) {
  1874.         nativeColors.push(color.android);
  1875.     });
  1876.     backgroundDrawable.setColors(nativeColors);
  1877.     backgroundDrawable.setGradientType(LINEAR_GRADIENT);
  1878.     var androidOrientation = getAndroidOrientation(orientation);
  1879.     if (androidOrientation) {
  1880.         backgroundDrawable.setOrientation(androidOrientation);
  1881.     }
  1882. }
  1883. exports.drawBackground = drawBackground;
  1884. function getAndroidOrientation(orientation) {
  1885.     switch (orientation) {
  1886.         case common.Orientation.TopLeft_BottomRight:
  1887.             return android.graphics.drawable.GradientDrawable.Orientation.TL_BR;
  1888.         case common.Orientation.Left_Right:
  1889.             return android.graphics.drawable.GradientDrawable.Orientation.LEFT_RIGHT;
  1890.         case common.Orientation.BottomLeft_TopRight:
  1891.             return android.graphics.drawable.GradientDrawable.Orientation.BL_TR;
  1892.         case common.Orientation.Bottom_Top:
  1893.             return android.graphics.drawable.GradientDrawable.Orientation.BOTTOM_TOP;
  1894.         case common.Orientation.BottomRight_TopLeft:
  1895.             return android.graphics.drawable.GradientDrawable.Orientation.BR_TL;
  1896.         case common.Orientation.Right_Left:
  1897.             return android.graphics.drawable.GradientDrawable.Orientation.RIGHT_LEFT;
  1898.         case common.Orientation.TopRight_BottomLeft:
  1899.             return android.graphics.drawable.GradientDrawable.Orientation.TR_BL;
  1900.         case common.Orientation.Top_Bottom:
  1901.             return android.graphics.drawable.GradientDrawable.Orientation.TOP_BOTTOM;
  1902.     }
  1903. }
  1904.  
  1905.  
  1906. /***/ }),
  1907. /* 88 */
  1908. /*!*************************************************************!*\
  1909.   !*** ./examples/conference-agenda/conference-view-model.ts ***!
  1910.   \*************************************************************/
  1911. /*! no static exports found */
  1912. /*! all exports used */
  1913. /***/ (function(module, exports, __webpack_require__) {
  1914.  
  1915. Object.defineProperty(exports, "__esModule", { value: true });
  1916. var observable = __webpack_require__(/*! data/observable */ 4);
  1917. function formatTime(time) {
  1918.     var hour = time.getHours();
  1919.     var min = time.getMinutes() + "";
  1920.     return (hour <= 12 ? hour : hour - 12) + ":" + (min.length === 1 ? '0' + min : min) + (hour < 12 ? " AM" : " PM");
  1921. }
  1922. var Session = (function (_super) {
  1923.     __extends(Session, _super);
  1924.     function Session(title, start, end, room, isFavourite, cssClass) {
  1925.         var _this = _super.call(this) || this;
  1926.         _this.title = title;
  1927.         _this.start = start;
  1928.         _this.end = end;
  1929.         _this.room = room;
  1930.         _this.isFavourite = isFavourite;
  1931.         _this.cssClass = cssClass;
  1932.         _this.cssClass = "session-favorite";
  1933.         return _this;
  1934.     }
  1935.     Object.defineProperty(Session.prototype, "range", {
  1936.         get: function () {
  1937.             return formatTime(this.start) + " - " + formatTime(this.end);
  1938.         },
  1939.         enumerable: true,
  1940.         configurable: true
  1941.     });
  1942.     Session.prototype.toggleFavourite = function () {
  1943.         var _this = this;
  1944.         var favourite = this.get("isFavourite");
  1945.         this.set("isFavourite", !favourite);
  1946.         this.set("cssClass", !favourite ? "session-favorite-selected" : "session-favorite-unselected");
  1947.         setTimeout(function () { _this.set("cssClass", "session-favorite"); }, 600);
  1948.     };
  1949.     return Session;
  1950. }(observable.Observable));
  1951. exports.Session = Session;
  1952. // Schedule
  1953. var allSessions = [
  1954.     // Day 1
  1955.     new Session("NativeScript Deep Dive 1", new Date(2015, 5, 3, 9, 30), new Date(2015, 5, 3, 12, 30), "room 1", true),
  1956.     new Session("Smart Design for Smartphones", new Date(2015, 5, 3, 9, 30), new Date(2015, 5, 3, 12, 30), "room 2", false),
  1957.     new Session("Build, Deploy, and Scale your Mobile Backend with Node.js and Modulus", new Date(2015, 5, 3, 9, 30), new Date(2015, 5, 3, 12, 30), "room 3", false),
  1958.     new Session("NativeScript Deep Dive 2", new Date(2015, 5, 3, 13, 30), new Date(2015, 5, 3, 16, 30), "room 1", true),
  1959.     new Session("Smart Design for Smartphones", new Date(2015, 5, 3, 13, 30), new Date(2015, 5, 3, 16, 30), "room 2", false),
  1960.     new Session("Responsive Apps with Telerik DevCraft", new Date(2015, 5, 3, 13, 30), new Date(2015, 5, 3, 16, 30), "room 3", false),
  1961.     // Day 2
  1962.     new Session("Telerik Keynote - Mobilizing and Modernizing", new Date(2015, 5, 4, 9, 30), new Date(2015, 5, 4, 12, 30), "room 1", true),
  1963.     new Session("A Lap Around NativeScript", new Date(2015, 5, 4, 10, 45), new Date(2015, 5, 4, 11, 30), "room 1", true),
  1964.     new Session("Kendo UI Building Blocks", new Date(2015, 5, 4, 10, 45), new Date(2015, 5, 4, 11, 30), "room 2", false),
  1965.     new Session("AngularJS 2.0", new Date(2015, 5, 4, 11, 45), new Date(2015, 5, 4, 12, 30), "room 1", true),
  1966.     new Session("Getting Started with ScreenBuilder", new Date(2015, 5, 4, 11, 45), new Date(2015, 5, 4, 12, 30), "room 2", false),
  1967.     new Session("NativeScript Extensibility", new Date(2015, 5, 4, 13, 30), new Date(2015, 5, 4, 14, 15), "room 1", true),
  1968.     new Session("AngularJS and Kendo UI ", new Date(2015, 5, 4, 13, 30), new Date(2015, 5, 4, 14, 15), "room 2", false),
  1969.     new Session("Building a CRM Portal in 45 Minutes", new Date(2015, 5, 4, 14, 30), new Date(2015, 5, 4, 15, 15), "room 1", false),
  1970.     new Session("JavaScript Beyond the Basics", new Date(2015, 5, 4, 14, 30), new Date(2015, 5, 4, 15, 15), "room 2", true),
  1971.     // Day 3
  1972.     new Session("Sitefinity Keynote", new Date(2015, 5, 5, 9, 30), new Date(2015, 5, 5, 12, 30), "room 1", true),
  1973.     new Session("Introduction to Mobile Testing & Device Cloud", new Date(2015, 5, 5, 10, 45), new Date(2015, 5, 5, 11, 30), "room 1", true),
  1974.     new Session("Using Kendo UI in SharePoint/Office 365", new Date(2015, 5, 5, 10, 45), new Date(2015, 5, 5, 11, 30), "room 2", false),
  1975.     new Session("Improving Applications with Telerik Analytics", new Date(2015, 5, 5, 11, 45), new Date(2015, 5, 5, 12, 30), "room 1", true),
  1976.     new Session("Building Offline Ready Mobile Apps", new Date(2015, 5, 5, 11, 45), new Date(2015, 5, 5, 12, 30), "room 2", false),
  1977.     new Session("Debugging with Fiddler", new Date(2015, 5, 5, 13, 30), new Date(2015, 5, 5, 14, 15), "room 1", true),
  1978.     new Session("Performance Tuning Your Mobile Web Apps", new Date(2015, 5, 5, 13, 30), new Date(2015, 5, 5, 14, 15), "room 2", false),
  1979.     new Session("Cross platform Telerik Native Mobile UI", new Date(2015, 5, 5, 14, 30), new Date(2015, 5, 5, 15, 15), "room 1", false),
  1980.     new Session("Advanced Kendo UI", new Date(2015, 5, 5, 14, 30), new Date(2015, 5, 5, 15, 15), "room 2", true),
  1981. ];
  1982. var ConferenceViewModel = (function (_super) {
  1983.     __extends(ConferenceViewModel, _super);
  1984.     function ConferenceViewModel() {
  1985.         var _this = _super.call(this) || this;
  1986.         _this.selectedDay = 0;
  1987.         _this.search = null;
  1988.         _this.filter();
  1989.         return _this;
  1990.     }
  1991.     Object.defineProperty(ConferenceViewModel.prototype, "selectedDay", {
  1992.         get: function () {
  1993.             return this._selectedDay;
  1994.         },
  1995.         set: function (value) {
  1996.             if (this._selectedDay !== value) {
  1997.                 this._selectedDay = value;
  1998.                 this.filter();
  1999.             }
  2000.         },
  2001.         enumerable: true,
  2002.         configurable: true
  2003.     });
  2004.     Object.defineProperty(ConferenceViewModel.prototype, "search", {
  2005.         get: function () {
  2006.             return this._search;
  2007.         },
  2008.         set: function (value) {
  2009.             if (this._search !== value) {
  2010.                 this._search = value;
  2011.                 this.filter();
  2012.             }
  2013.         },
  2014.         enumerable: true,
  2015.         configurable: true
  2016.     });
  2017.     ConferenceViewModel.prototype.filter = function () {
  2018.         var day = this.selectedDay + 3;
  2019.         var textFilter = this.search ? this.search.toLocaleLowerCase() : this.search;
  2020.         var filteredSessions = allSessions.filter(function (session) {
  2021.             var include = (session.start.getDate() === day) &&
  2022.                 (!textFilter || session.title.toLocaleLowerCase().indexOf(textFilter) >= 0);
  2023.             if (include) {
  2024.                 session.cssClass = "session-favorite";
  2025.             }
  2026.             return include;
  2027.         });
  2028.         this.set("sessions", filteredSessions);
  2029.     };
  2030.     return ConferenceViewModel;
  2031. }(observable.Observable));
  2032. exports.ConferenceViewModel = ConferenceViewModel;
  2033. exports.instance = new ConferenceViewModel();
  2034.  
  2035.  
  2036. /***/ }),
  2037. /* 89 */,
  2038. /* 90 */,
  2039. /* 91 */,
  2040. /* 92 */,
  2041. /* 93 */
  2042. /*!**********************************!*\
  2043.   !*** ./examples/example-menu.ts ***!
  2044.   \**********************************/
  2045. /*! no static exports found */
  2046. /*! all exports used */
  2047. /***/ (function(module, exports, __webpack_require__) {
  2048.  
  2049. Object.defineProperty(exports, "__esModule", { value: true });
  2050. var utils = __webpack_require__(/*! utils/utils */ 1);
  2051. var platform = __webpack_require__(/*! platform */ 3);
  2052. var navigator = __webpack_require__(/*! ../common/navigator */ 5);
  2053. var effects_1 = __webpack_require__(/*! ../common/effects */ 36);
  2054. var isAndroid = platform.device.os === platform.platformNames.android;
  2055. var OVERLAY_ELEVATION = 12;
  2056. var CURVE = (platform.device.os === platform.platformNames.android) ? new android.view.animation.AccelerateDecelerateInterpolator() : UIViewAnimationCurve.UIViewAnimationCurveEaseInOut;
  2057. function openDrawer(args) {
  2058.     var drawer = args.object.page.getViewById("example-menu-drawer");
  2059.     drawer.gesturesEnabled = true;
  2060.     drawer.showDrawer();
  2061. }
  2062. exports.openDrawer = openDrawer;
  2063. function closeDrawer(args) {
  2064.     var drawer = args.object.page.getViewById("example-menu-drawer");
  2065.     drawer.gesturesEnabled = false;
  2066.     drawer.closeDrawer();
  2067. }
  2068. exports.closeDrawer = closeDrawer;
  2069. function menuButtonLoaded(args) {
  2070.     var menuBackground = args.object.getViewById("menu-button-background");
  2071.     var timeFactor = isAndroid ? 0.4 : 0.6;
  2072.     var scaleFactor = function (s) { return 1 * 0.4 + s * 0.6; };
  2073.     var animateBackground = function (scale, opacity, duration) {
  2074.         if (duration === void 0) { duration = 120; }
  2075.         return function () { return menuBackground.animate({
  2076.             scale: { x: scaleFactor(scale), y: scaleFactor(scale) },
  2077.             opacity: opacity,
  2078.             duration: duration * timeFactor,
  2079.             curve: CURVE
  2080.         }); };
  2081.     };
  2082.     animateBackground(0, 0, 1)()
  2083.         .then(animateBackground(2, 0.2))
  2084.         .then(animateBackground(0.8, 0.4))
  2085.         .then(animateBackground(1.7, 0.6))
  2086.         .then(animateBackground(0.9, 0.8))
  2087.         .then(animateBackground(1.2, 1))
  2088.         .then(animateBackground(1, 1));
  2089.     var menuDots = args.object.getViewById("menu-button-dots");
  2090.     setTimeout(effects_1.loadedGuard(menuDots, function () { return menuDots.animate({
  2091.         translate: { x: 0, y: 0 },
  2092.         opacity: 1,
  2093.         duration: 500 * timeFactor,
  2094.         curve: CURVE
  2095.     }); }), 300);
  2096.     var title = args.object.getViewById("menu-button-title");
  2097.     setTimeout(effects_1.loadedGuard(title, function () { return title.animate({
  2098.         translate: { x: 0, y: 0 },
  2099.         opacity: 1,
  2100.         duration: 450 * timeFactor,
  2101.         curve: CURVE
  2102.     }); }), 430);
  2103.     var menuButton = args.object.getViewById("menu-button");
  2104.     if (args.object.android) {
  2105.         var compat = android.support.v4.view.ViewCompat;
  2106.         var baseElevation = OVERLAY_ELEVATION * utils.layout.getDisplayDensity() + 1000;
  2107.         var setElevation = function (view, elev) {
  2108.             compat.setElevation(view.android, elev);
  2109.         };
  2110.         setElevation(menuButton, 4 * utils.layout.getDisplayDensity() + 1);
  2111.         setElevation(menuBackground, baseElevation);
  2112.         setElevation(menuDots, baseElevation + 1);
  2113.         setElevation(title, baseElevation + 1);
  2114.     }
  2115. }
  2116. exports.menuButtonLoaded = menuButtonLoaded;
  2117. function drawerClosed(args) {
  2118.     var drawer = args.object;
  2119.     drawer.gesturesEnabled = false;
  2120. }
  2121. exports.drawerClosed = drawerClosed;
  2122. function drawerLoaded(args) {
  2123.     var drawer = args.object;
  2124.     drawer.gesturesEnabled = false;
  2125.     if (!drawer.autoCloseAssigned) {
  2126.         drawer.autoCloseAssigned = true;
  2127.         drawer.page.on("navigatedFrom", function (args) {
  2128.             drawer.closeDrawer();
  2129.         });
  2130.         if (drawer.ios) {
  2131.             drawer.ios.defaultSideDrawer.style.shadowMode = TKSideDrawerShadowMode.TKSideDrawerShadowModeSideDrawer;
  2132.             drawer.ios.defaultSideDrawer.style.dimOpacity = 0.3;
  2133.         }
  2134.     }
  2135. }
  2136. exports.drawerLoaded = drawerLoaded;
  2137. function backTap(args) {
  2138.     console.log("back");
  2139.     navigator.navigateBackFromExample();
  2140. }
  2141. exports.backTap = backTap;
  2142. function informationTap(args) {
  2143.     console.log("info");
  2144.     navigator.navigateToExampleInfo(args.object.bindingContext);
  2145. }
  2146. exports.informationTap = informationTap;
  2147. function codeTap(args) {
  2148.     console.log("code");
  2149.     navigator.navigateToCode(args.object.bindingContext.example);
  2150. }
  2151. exports.codeTap = codeTap;
  2152. function feedbackTap(args) {
  2153.     console.log("feedback");
  2154. }
  2155. exports.feedbackTap = feedbackTap;
  2156. function prevTap(args) {
  2157.     console.log("prev");
  2158.     navigator.navigateToPrevExample(args.object.bindingContext);
  2159. }
  2160. exports.prevTap = prevTap;
  2161. function nextTap(args) {
  2162.     console.log("prev");
  2163.     navigator.navigateToNextExample(args.object.bindingContext);
  2164. }
  2165. exports.nextTap = nextTap;
  2166.  
  2167.  
  2168. /***/ }),
  2169. /* 94 */
  2170. /*!*********************************************************!*\
  2171.   !*** ./examples/listview/layouts/layouts-view-model.ts ***!
  2172.   \*********************************************************/
  2173. /*! no static exports found */
  2174. /*! all exports used */
  2175. /***/ (function(module, exports, __webpack_require__) {
  2176.  
  2177. Object.defineProperty(exports, "__esModule", { value: true });
  2178. var observable_1 = __webpack_require__(/*! data/observable */ 4);
  2179. var ListViewLayoutsModel = (function (_super) {
  2180.     __extends(ListViewLayoutsModel, _super);
  2181.     function ListViewLayoutsModel() {
  2182.         var _this = _super.call(this) || this;
  2183.         _this._pictures = [
  2184.             { "title": "Dried Meat with Spices", "author": "Nice to Meat You", "photo": "paleo1", "category": "paleo" },
  2185.             { "title": "Golden Chicken", "author": "Chicken's Heaven", "photo": "paleo2", "category": "paleo" },
  2186.             { "title": "Pork Steak with Vegetables", "author": "Nice to Meat You", "photo": "paleo3", "category": "paleo" },
  2187.             { "title": "Lamb Cotlets", "author": "Nice to Meat You", "photo": "paleo4", "category": "paleo" },
  2188.             { "title": "Salmon Steak", "author": "Ron's Fishery", "photo": "paleo5", "category": "paleo" },
  2189.             { "title": "These Rolls..", "author": "Le Bakery de Trevi", "photo": "dessert1", "category": "desserts" },
  2190.             { "title": "Chocolate Cake", "author": "The Sweetest Thing", "photo": "dessert2", "category": "desserts" },
  2191.             { "title": "Rainbow Chocolate Pudding", "author": "Sweet and Sweeter", "photo": "dessert3", "category": "desserts" },
  2192.             { "title": "Ice-cream Sandwich", "author": "The Sweetest Thing", "photo": "dessert4", "category": "desserts" },
  2193.             { "title": "Le Macarons de Lyon", "author": "Le Bakery de Trevi", "photo": "dessert5", "category": "desserts" },
  2194.             { "title": "Le Tiramisu de Treviso", "author": "Sweet and Sweeter", "photo": "dessert6", "category": "desserts" },
  2195.             { "title": "Creme Caramel", "author": "The Sweetest Thing", "photo": "dessert7", "category": "desserts" },
  2196.             { "title": "Be Fit, Be Healthy Fruit Mix", "author": "Sweet and Sweeter", "photo": "dessert8", "category": "desserts" },
  2197.             { "title": "Ceylon Tea", "author": "The Healthy Bar", "photo": "drink1", "category": "drinks" },
  2198.             { "title": "Orange Juice, Fresh", "author": "The Healthy Bar", "photo": "drink2", "category": "drinks" },
  2199.             { "title": "A Glass of Wine", "author": "Tonight's Bar", "photo": "drink3", "category": "drinks" },
  2200.             { "title": "Barista's Masterpiece", "author": "The Cafe Near You", "photo": "drink4", "category": "drinks" },
  2201.             { "title": "Coffee", "author": "Sweet and Sweeter", "photo": "drink5", "category": "drinks" },
  2202.             { "title": "Watermelon Dream", "author": "The Healthy Bar", "photo": "drink6", "category": "drinks" },
  2203.             { "title": "Mojito", "author": "Tonight's Bar", "photo": "drink7", "category": "drinks" },
  2204.             { "title": "Raspberry Smoothie", "author": "The Healhy Bar", "photo": "drink8", "category": "drinks" },
  2205.             { "title": "Smootie (Different Flavors)", "author": "Sweet and Sweeter", "photo": "drink9", "category": "drinks" },
  2206.             { "title": "Soda", "author": "The Healthy Bar", "photo": "drink10", "category": "drinks" },
  2207.             { "title": "Lemon Ice Tea", "author": "Sweet and Sweeter", "photo": "drink11", "category": "drinks" },
  2208.             { "title": "Crystal Water with Almond Oil", "author": "The Healthy Bar", "photo": "drink12", "category": "drinks" },
  2209.             { "title": "The Fresh Sandwich", "author": "Sandwiches and More", "photo": "breakfast1", "category": "breakfast" },
  2210.             { "title": "The Healthy Sandwich", "author": "Sandwiches and More", "photo": "breakfast2", "category": "breakfast" },
  2211.             { "title": "Crispy Chicken with Avocado Sandwich", "author": "Chicken's Heaven", "photo": "breakfast3", "category": "breakfast" },
  2212.             { "title": "Beef Sandwich", "author": "Nice to Meat You", "photo": "breakfast4", "category": "breakfast" },
  2213.             { "title": "Tuna Sandwich", "author": "Ron's Fishery", "photo": "breakfast5", "category": "breakfast" },
  2214.             { "title": "Fruit Cake", "author": "ReFresh", "photo": "breakfast6", "category": "breakfast" },
  2215.             { "title": "A Quick Snack Burger", "author": "Nice to Meat You", "photo": "main1", "category": "mains" },
  2216.             { "title": "Chilli Meat Bites", "author": "Nice to Meat You", "photo": "main2", "category": "mains" },
  2217.             { "title": "Your Favourite Ribs", "author": "Nice to Meat You", "photo": "main3", "category": "mains" },
  2218.             { "title": "Burger at the Max", "author": "Burger Queen", "photo": "main4", "category": "mains" },
  2219.             { "title": "Special Burger with Fries", "author": "Burger Queen", "photo": "main5", "category": "mains" },
  2220.             { "title": "Everybody's Dream Hotdog", "author": "Prince Burger", "photo": "main6", "category": "mains" },
  2221.             { "title": "Quinoa Balls", "author": "ReFresh", "photo": "main7", "category": "mains" },
  2222.             { "title": "Bruschetta with Cheese", "author": "Sandwiches and More", "photo": "main8", "category": "mains" },
  2223.             { "title": "Quick Toast with Bacon", "author": "Sandwiches and More", "photo": "main9", "category": "mains" },
  2224.             { "title": "Special Steak with Fries", "author": "Nice to Meat You", "photo": "main10", "category": "mains" },
  2225.             { "title": "Hotdog for Two", "author": "Prince Burger", "photo": "main11", "category": "mains" },
  2226.             { "title": "Bruschetta with Salmon Fish", "author": "Ron's Fishery", "photo": "main12", "category": "mains" },
  2227.             { "title": "Chief's Steak", "author": "Nice to Meat You", "photo": "main13", "category": "mains" },
  2228.         ];
  2229.         _this._isLinearActive = true;
  2230.         return _this;
  2231.     }
  2232.     Object.defineProperty(ListViewLayoutsModel.prototype, "pictures", {
  2233.         get: function () {
  2234.             return this._pictures;
  2235.         },
  2236.         enumerable: true,
  2237.         configurable: true
  2238.     });
  2239.     Object.defineProperty(ListViewLayoutsModel.prototype, "isLinearActive", {
  2240.         get: function () {
  2241.             return this._isLinearActive;
  2242.         },
  2243.         set: function (value) {
  2244.             this._isLinearActive = value;
  2245.             this.notifyPropertyChange("isLinearActive", value);
  2246.         },
  2247.         enumerable: true,
  2248.         configurable: true
  2249.     });
  2250.     return ListViewLayoutsModel;
  2251. }(observable_1.Observable));
  2252. exports.ListViewLayoutsModel = ListViewLayoutsModel;
  2253.  
  2254.  
  2255. /***/ }),
  2256. /* 95 */,
  2257. /* 96 */
  2258. /*!*************************************************************!*\
  2259.   !*** ./examples/listview/reorder/listview-reorder-model.ts ***!
  2260.   \*************************************************************/
  2261. /*! no static exports found */
  2262. /*! all exports used */
  2263. /***/ (function(module, exports, __webpack_require__) {
  2264.  
  2265. Object.defineProperty(exports, "__esModule", { value: true });
  2266. var observable_1 = __webpack_require__(/*! data/observable */ 4);
  2267. var observable_array_1 = __webpack_require__(/*! data/observable-array */ 12);
  2268. var ListItem = (function (_super) {
  2269.     __extends(ListItem, _super);
  2270.     function ListItem(title, isDone, isDeleted) {
  2271.         var _this = _super.call(this) || this;
  2272.         _this.set("_title", title);
  2273.         _this.set("_isDone", isDone);
  2274.         _this.set("_isDeleted", isDeleted);
  2275.         _this.set("_isReordered", false);
  2276.         return _this;
  2277.     }
  2278.     Object.defineProperty(ListItem.prototype, "title", {
  2279.         get: function () {
  2280.             return this.get("_title");
  2281.         },
  2282.         set: function (value) {
  2283.             this.set("_title", value);
  2284.         },
  2285.         enumerable: true,
  2286.         configurable: true
  2287.     });
  2288.     Object.defineProperty(ListItem.prototype, "isDone", {
  2289.         get: function () {
  2290.             return this.get("_isDone");
  2291.         },
  2292.         set: function (value) {
  2293.             this.set("_isDone", value);
  2294.         },
  2295.         enumerable: true,
  2296.         configurable: true
  2297.     });
  2298.     Object.defineProperty(ListItem.prototype, "isDeleted", {
  2299.         get: function () {
  2300.             return this.get("_isDeleted");
  2301.         },
  2302.         set: function (value) {
  2303.             this.set("_isDeleted", value);
  2304.         },
  2305.         enumerable: true,
  2306.         configurable: true
  2307.     });
  2308.     Object.defineProperty(ListItem.prototype, "isReordered", {
  2309.         get: function () {
  2310.             return this.get("_isReordered");
  2311.         },
  2312.         set: function (value) {
  2313.             this.set("_isReordered", value);
  2314.         },
  2315.         enumerable: true,
  2316.         configurable: true
  2317.     });
  2318.     return ListItem;
  2319. }(observable_1.Observable));
  2320. exports.ListItem = ListItem;
  2321. var ListViewReorderModel = (function (_super) {
  2322.     __extends(ListViewReorderModel, _super);
  2323.     function ListViewReorderModel() {
  2324.         var _this = _super.call(this) || this;
  2325.         _this._todoItems = new observable_array_1.ObservableArray();
  2326.         _this.preparePictures();
  2327.         return _this;
  2328.     }
  2329.     Object.defineProperty(ListViewReorderModel.prototype, "todoItems", {
  2330.         get: function () {
  2331.             return this._todoItems;
  2332.         },
  2333.         enumerable: true,
  2334.         configurable: true
  2335.     });
  2336.     ListViewReorderModel.prototype.preparePictures = function () {
  2337.         this._todoItems.push(new ListItem("Call Brian Ingram regarding the hotel reservations", false, false));
  2338.         this._todoItems.push(new ListItem("See weather forecast for London", true, false));
  2339.         this._todoItems.push(new ListItem("Prepare the children's documents", false, false));
  2340.         this._todoItems.push(new ListItem("Check the Paris - London trains schedule", true, false));
  2341.         this._todoItems.push(new ListItem("Ask Jonah if he will take care of the dog", false, false));
  2342.         this._todoItems.push(new ListItem("Reschedule airplane tickets for the next month's flight to Hawaii", false, false));
  2343.         this._todoItems.push(new ListItem("Bills due: Alissa's ballet class fee", false, false));
  2344.         this._todoItems.push(new ListItem("Get Alisse from school", false, false));
  2345.         this._todoItems.push(new ListItem("Call Jessie", false, false));
  2346.         this._todoItems.push(new ListItem("Pay Electricity Bill", false, false));
  2347.         this._todoItems.push(new ListItem("Check out the restaurant", false, false));
  2348.     };
  2349.     ListViewReorderModel.prototype.onItemReorderStarted = function (args) {
  2350.         var todoItem = this.todoItems.getItem(args.index);
  2351.         todoItem.isReordered = true;
  2352.     };
  2353.     ListViewReorderModel.prototype.onItemReordered = function (args) {
  2354.         var index = (args.data.targetIndex > -1) ? args.data.targetIndex : args.index;
  2355.         var todoItem = this.todoItems.getItem(index);
  2356.         todoItem.isReordered = false;
  2357.     };
  2358.     return ListViewReorderModel;
  2359. }(observable_1.Observable));
  2360. exports.ListViewReorderModel = ListViewReorderModel;
  2361.  
  2362.  
  2363. /***/ }),
  2364. /* 97 */
  2365. /*!*************************************************************!*\
  2366.   !*** ./examples/listview/selection/selection-view-model.ts ***!
  2367.   \*************************************************************/
  2368. /*! no static exports found */
  2369. /*! all exports used */
  2370. /***/ (function(module, exports, __webpack_require__) {
  2371.  
  2372. Object.defineProperty(exports, "__esModule", { value: true });
  2373. var observable_1 = __webpack_require__(/*! data/observable */ 4);
  2374. var observable_array_1 = __webpack_require__(/*! data/observable-array */ 12);
  2375. var frame_1 = __webpack_require__(/*! ui/frame */ 7);
  2376. var utils = __webpack_require__(/*! utils/utils */ 1);
  2377. var platform = __webpack_require__(/*! platform */ 3);
  2378. var DELTA = 0.1;
  2379. var BlogPostItemData = (function (_super) {
  2380.     __extends(BlogPostItemData, _super);
  2381.     function BlogPostItemData(title, content, summary, fav, id) {
  2382.         var _this = _super.call(this) || this;
  2383.         _this.Title = title;
  2384.         _this.Content = content;
  2385.         _this.Summary = summary;
  2386.         _this.IsFavourite = fav;
  2387.         _this.ID = id;
  2388.         _this.reorderActive = false;
  2389.         _this.isSelected = false;
  2390.         return _this;
  2391.     }
  2392.     Object.defineProperty(BlogPostItemData.prototype, "isSelected", {
  2393.         get: function () {
  2394.             return this.get("_isSelected");
  2395.         },
  2396.         set: function (value) {
  2397.             this.set("_isSelected", value);
  2398.         },
  2399.         enumerable: true,
  2400.         configurable: true
  2401.     });
  2402.     Object.defineProperty(BlogPostItemData.prototype, "ID", {
  2403.         get: function () {
  2404.             return this.get("_id");
  2405.         },
  2406.         set: function (value) {
  2407.             this.set("_id", value);
  2408.         },
  2409.         enumerable: true,
  2410.         configurable: true
  2411.     });
  2412.     Object.defineProperty(BlogPostItemData.prototype, "reorderActive", {
  2413.         get: function () {
  2414.             return this.get("_reorderActive");
  2415.         },
  2416.         set: function (value) {
  2417.             this.set("_reorderActive", value);
  2418.         },
  2419.         enumerable: true,
  2420.         configurable: true
  2421.     });
  2422.     Object.defineProperty(BlogPostItemData.prototype, "Title", {
  2423.         get: function () {
  2424.             return this.get("_title");
  2425.         },
  2426.         set: function (value) {
  2427.             this.set("_title", value);
  2428.         },
  2429.         enumerable: true,
  2430.         configurable: true
  2431.     });
  2432.     Object.defineProperty(BlogPostItemData.prototype, "Content", {
  2433.         get: function () {
  2434.             return this.get("_content");
  2435.         },
  2436.         set: function (value) {
  2437.             this.set("_content", value);
  2438.         },
  2439.         enumerable: true,
  2440.         configurable: true
  2441.     });
  2442.     Object.defineProperty(BlogPostItemData.prototype, "IsFavourite", {
  2443.         get: function () {
  2444.             return this.get("_isFavourite");
  2445.         },
  2446.         set: function (value) {
  2447.             this.set("_isFavourite", value);
  2448.         },
  2449.         enumerable: true,
  2450.         configurable: true
  2451.     });
  2452.     Object.defineProperty(BlogPostItemData.prototype, "Summary", {
  2453.         get: function () {
  2454.             return this.get("_summary");
  2455.         },
  2456.         set: function (value) {
  2457.             this.set("_summary", value);
  2458.         },
  2459.         enumerable: true,
  2460.         configurable: true
  2461.     });
  2462.     return BlogPostItemData;
  2463. }(observable_1.Observable));
  2464. exports.BlogPostItemData = BlogPostItemData;
  2465. var SelectionViewModel = (function (_super) {
  2466.     __extends(SelectionViewModel, _super);
  2467.     function SelectionViewModel(owner) {
  2468.         var _this = _super.call(this) || this;
  2469.         _this._owner = owner;
  2470.         _this.isReorderActive = false;
  2471.         _this.isSelectionActive = false;
  2472.         _this.Mode = "ALL";
  2473.         _this._itemsBackup = new Array();
  2474.         _this._itemsBackup.push(new BlogPostItemData("Master the Essentials of UI Test Automation: Chapter One", "Chapter One: Introduction The goal of this series is to help you understand the right questions to ask of you, your team and your organization. There won't be any Best Practices; there won't be any silver bullets. What we hope is to convey the right information to help you get started on the right foot and get through some of the most common problems teams hit when starting out with UI test automation.", "Chapter One: Introduction The goal of this series is to help you understand the right questions to ask of you, your team and your organization. There won't be any Best Practices; there won't be any silver bullets.", false, 1));
  2475.         _this._itemsBackup.push(new BlogPostItemData("Send Data to Apple Watch with Core Data and Telerik UI for iOS in Swift", "The Apple Watch has been a long rumored device which finally appeared in September, followed by a Watch SDK, called WatchKit, in November. The introduction of the SDK maybe raised more questions than it answered, and we like everybody else are looking into the future for answers from Apple. One such question is: how can I send data, larger than what is allowed for a push notification, from the iPhone to the Watch?", "The Apple Watch has been a long rumored device which finally appeared in September, followed by a Watch SDK, called WatchKit, in November.", true, 2));
  2476.         _this._itemsBackup.push(new BlogPostItemData("6 Key Steps to Successful Agile Testing Projects", "Application teams are continuously adopting agile software techniques as the principal method of building applications. Agile methodologies, such as Scrum, Extreme Programming, Feature-Driven Development and Test-Driven Development offer the ability to iteratively develop applications.", "Application teams are continuously adopting agile software techniques as the principal method of building applications. Agile methodologies, such as Scrum, Extreme Programming, Feature-Driven Development and Test-Driven Development offer the ability to iteratively develop applications.", true, 3));
  2477.         _this._itemsBackup.push(new BlogPostItemData("Increase Your Mobile App Engagement. Become Part of the Web of Apps.", "Mobile developers are facing some severe limitations when it comes to app distribution: app content is almost invisible to browser search, app-to-app connections are scarce, and app updates need to go through a tedious re-submission process on the relevant marketplace. How can Google App Indexing, deep linking and Google Tag Manager for mobile apps help in the process of overcoming these limitations?", "Mobile developers are facing some severe limitations when it comes to app distribution: app content is almost invisible to browser search, app-to-app connections are scarce, and app updates need to go through a tedious re-submission process on the relevant marketplace.", true, 4));
  2478.         _this._itemsBackup.push(new BlogPostItemData("Building a Seismograph App with CoreMotion, Swift and Telerik UI for iOS", "Data visualizations are important, especially on small screen areas, where Excel files or other tables are difficult to read and comprehend. Visualizations are even more important when you add the various sensors that an iPhone device offers, not to mention the different certified third-party devices. Today, I will show you how you can set up the Telerik Chart for iOS to live-stream data coming from the accelerometer sensor using the CoreMotion API.", "Data visualizations are important, especially on small screen areas, where Excel files or other tables are difficult to read and comprehend.", false, 5));
  2479.         _this._itemsBackup.push(new BlogPostItemData("Application Performance Monitoring with the Crittercism Cordova Plugin", "As hybrid mobile apps scale to massive amounts of users and tremendous amount of data, developers need to monitor and trace the app’s performance. Crittercism is the world's first mobile application performance management (mAPM) solution, offering both error monitoring and service monitoring solutions. The Crittercism service monitors every aspect of mobile app performance, allowing Developers and IT Operations to deliver high performing, highly reliable, highly available mobile apps.", "As hybrid mobile apps scale to massive amounts of users and tremendous amount of data, developers need to monitor and trace the app’s performance.", false, 6));
  2480.         return _this;
  2481.     }
  2482.     SelectionViewModel.prototype.reorderToggled = function (state) {
  2483.         this.isReorderActive = state;
  2484.         for (var i = 0; i < this.lvItems.length; i++) {
  2485.             this.lvItems.getItem(i).reorderActive = state;
  2486.         }
  2487.     };
  2488.     Object.defineProperty(SelectionViewModel.prototype, "selectedItemsCount", {
  2489.         get: function () {
  2490.             return this.get("_selectedItemsCount");
  2491.         },
  2492.         set: function (value) {
  2493.             this.set("_selectedItemsCount", value);
  2494.         },
  2495.         enumerable: true,
  2496.         configurable: true
  2497.     });
  2498.     Object.defineProperty(SelectionViewModel.prototype, "isSelectionActive", {
  2499.         get: function () {
  2500.             return this.get("_isSelectionActive");
  2501.         },
  2502.         set: function (value) {
  2503.             this.set("_isSelectionActive", value);
  2504.         },
  2505.         enumerable: true,
  2506.         configurable: true
  2507.     });
  2508.     Object.defineProperty(SelectionViewModel.prototype, "isReorderActive", {
  2509.         get: function () {
  2510.             return this.get("_isReorderActive");
  2511.         },
  2512.         set: function (value) {
  2513.             this.set("_isReorderActive", value);
  2514.         },
  2515.         enumerable: true,
  2516.         configurable: true
  2517.     });
  2518.     Object.defineProperty(SelectionViewModel.prototype, "Mode", {
  2519.         get: function () {
  2520.             return this.get("currentMode");
  2521.         },
  2522.         set: function (value) {
  2523.             this.set("currentMode", value);
  2524.         },
  2525.         enumerable: true,
  2526.         configurable: true
  2527.     });
  2528.     Object.defineProperty(SelectionViewModel.prototype, "CurrentItem", {
  2529.         get: function () {
  2530.             return this.get("currentItem");
  2531.         },
  2532.         set: function (value) {
  2533.             this.set("currentItem", value);
  2534.         },
  2535.         enumerable: true,
  2536.         configurable: true
  2537.     });
  2538.     SelectionViewModel.prototype.updateCurrentState = function () {
  2539.         this.reorderToggled(false);
  2540.         this._lvItems.splice(0, this._lvItems.length);
  2541.         if (this.Mode == "ALL") {
  2542.             for (var i = 0; i < this._itemsBackup.length; ++i) {
  2543.                 this._lvItems.push(this._itemsBackup[i]);
  2544.             }
  2545.         }
  2546.         else {
  2547.             for (var i = 0; i < this._itemsBackup.length; ++i) {
  2548.                 if (this._itemsBackup[i].IsFavourite === true) {
  2549.                     this._lvItems.push(this._itemsBackup[i]);
  2550.                 }
  2551.             }
  2552.         }
  2553.     };
  2554.     Object.defineProperty(SelectionViewModel.prototype, "lvItems", {
  2555.         get: function () {
  2556.             if (this._lvItems) {
  2557.                 return this._lvItems;
  2558.             }
  2559.             this._lvItems = new observable_array_1.ObservableArray();
  2560.             for (var i = 0; i < this._itemsBackup.length; ++i) {
  2561.                 this._lvItems.push(this._itemsBackup[i]);
  2562.             }
  2563.             return this._lvItems;
  2564.         },
  2565.         enumerable: true,
  2566.         configurable: true
  2567.     });
  2568.     //Event handlers
  2569.     SelectionViewModel.prototype.onItemTap = function (args) {
  2570.         if (this.isSelectionActive === true || this.isReorderActive === true) {
  2571.             return;
  2572.         }
  2573.         this.CurrentItem = this._owner.items.getItem(args.index);
  2574.         this._currentItemIndex = args.index;
  2575.         frame_1.topmost().navigate({
  2576.             moduleName: "examples/listview/selection/detail-page",
  2577.             animated: true,
  2578.             context: this.CurrentItem
  2579.         });
  2580.     };
  2581.     SelectionViewModel.prototype.onStartSwipeCell = function (args) {
  2582.         var density = utils.layout.getDisplayDensity();
  2583.         var delta = Math.floor(density) !== density ? 1.1 : DELTA;
  2584.         args.data.swipeLimits.top = 0;
  2585.         args.data.swipeLimits.left = Math.round(density * 100);
  2586.         args.data.swipeLimits.bottom = 0;
  2587.         args.data.swipeLimits.right = Math.round(density * 100);
  2588.         args.data.swipeLimits.threshold = Math.round(density * 50);
  2589.     };
  2590.     SelectionViewModel.prototype.onCellSwiped = function (args) {
  2591.         this._currentItemIndex = args.index;
  2592.     };
  2593.     SelectionViewModel.prototype.onTap_SetAsFavourite = function (args) {
  2594.         var tmp = this.lvItems.getItem(this._currentItemIndex);
  2595.         tmp.IsFavourite = !tmp.IsFavourite;
  2596.         if (tmp.IsFavourite === false && this.Mode === "FAVOURITES") {
  2597.             this.lvItems.splice(this._currentItemIndex, 1);
  2598.         }
  2599.         this._owner.notifySwipeToExecuteFinished();
  2600.     };
  2601.     SelectionViewModel.prototype.onTap_DeletePost = function (args) {
  2602.         this.deleteItemAt(this._currentItemIndex);
  2603.     };
  2604.     SelectionViewModel.prototype.deleteItem = function (item) {
  2605.         var index = this._owner.items.indexOf(item);
  2606.         if (index >= 0) {
  2607.             this.deleteItemAt(index);
  2608.         }
  2609.     };
  2610.     SelectionViewModel.prototype.deleteItemAt = function (index) {
  2611.         this._itemsBackup.splice(index, 1);
  2612.         this.lvItems.splice(index, 1);
  2613.     };
  2614.     SelectionViewModel.prototype.onTap_FavoritesMode = function (args) {
  2615.         if (this.Mode !== "FAVOURITES") {
  2616.             this.Mode = "FAVOURITES";
  2617.             this.updateCurrentState();
  2618.         }
  2619.     };
  2620.     SelectionViewModel.prototype.onTap_AllMode = function (args) {
  2621.         if (this.Mode !== "ALL") {
  2622.             this.Mode = "ALL";
  2623.             this.updateCurrentState();
  2624.         }
  2625.     };
  2626.     SelectionViewModel.prototype.onItemSelected = function (args) {
  2627.         if (this.isSelectionActive === true) {
  2628.             this.selectedItemsCount = this._owner.getSelectedItems().length;
  2629.             this.lvItems.getItem(args.index).isSelected = true;
  2630.         }
  2631.     };
  2632.     SelectionViewModel.prototype.onItemDeselected = function (args) {
  2633.         this.selectedItemsCount = this._owner.getSelectedItems().length;
  2634.         this.lvItems.getItem(args.index).isSelected = false;
  2635.     };
  2636.     SelectionViewModel.prototype.onItemHold = function (args) {
  2637.         if (this.isReorderActive || this.isSelectionActive) {
  2638.             return;
  2639.         }
  2640.         if (platform.device.os === platform.platformNames.android && this.isSelectionActive === false) {
  2641.             this.toggleSelection(args.index);
  2642.         }
  2643.     };
  2644.     SelectionViewModel.prototype.onToggleSelectedFavoriteTap = function (args) {
  2645.         var selectedItems = this._owner.getSelectedItems();
  2646.         for (var i = 0; i < selectedItems.length; i++) {
  2647.             var currentItem = selectedItems[i];
  2648.             currentItem.IsFavourite = !currentItem.IsFavourite;
  2649.         }
  2650.         if (platform.device.os === platform.platformNames.android) {
  2651.             this.turnOffSelection();
  2652.         }
  2653.     };
  2654.     SelectionViewModel.prototype.onActivateReorderTap = function (args) {
  2655.         var selectedItems = this._owner.getSelectedItems();
  2656.         this.isReorderActive = !this.isReorderActive;
  2657.         this.reorderToggled(this.isReorderActive);
  2658.         if (platform.device.os === platform.platformNames.ios) {
  2659.             if (this.isReorderActive === true) {
  2660.                 this.toggleSelection(-1);
  2661.             }
  2662.             else if (this.isReorderActive === false) {
  2663.                 for (var i = 0; i < selectedItems.length; i++) {
  2664.                     var selectedItem = selectedItems[i];
  2665.                     this._owner.deselectItemAt(this._owner.items.indexOf(selectedItem));
  2666.                     selectedItem.isSelected = false;
  2667.                 }
  2668.                 this.turnOffSelection();
  2669.             }
  2670.         }
  2671.     };
  2672.     SelectionViewModel.prototype.exitSelectionMode = function () {
  2673.         this.turnOffSelection();
  2674.         this.reorderToggled(false);
  2675.     };
  2676.     SelectionViewModel.prototype.onDeleteSelectedTap = function (args) {
  2677.         var selectedItems = this._owner.getSelectedItems();
  2678.         for (var i = 0; i < selectedItems.length; i++) {
  2679.             var currentItem = selectedItems[i];
  2680.             this.deleteItemAt(this.lvItems.indexOf(currentItem));
  2681.         }
  2682.         if (platform.device.os === platform.platformNames.android) {
  2683.             this.turnOffSelection();
  2684.         }
  2685.     };
  2686.     SelectionViewModel.prototype.turnOffSelection = function () {
  2687.         this._owner.deselectAll();
  2688.         this._owner.selectionBehavior = "None";
  2689.         this.isSelectionActive = false;
  2690.         this._owner.multipleSelection = false;
  2691.     };
  2692.     SelectionViewModel.prototype.toggleSelection = function (initialIndex) {
  2693.         this.isSelectionActive = true;
  2694.         if (initialIndex !== -1) {
  2695.             this._owner.selectItemAt(initialIndex);
  2696.         }
  2697.         this._owner.selectionBehavior = "Press";
  2698.         this._owner.multipleSelection = true;
  2699.     };
  2700.     return SelectionViewModel;
  2701. }(observable_1.Observable));
  2702. exports.SelectionViewModel = SelectionViewModel;
  2703.  
  2704.  
  2705. /***/ }),
  2706. /* 98 */
  2707. /*!************************************************************************!*\
  2708.   !*** ../node_modules/nativescript-plugin-firebase/firebase.android.js ***!
  2709.   \************************************************************************/
  2710. /*! no static exports found */
  2711. /*! all exports used */
  2712. /***/ (function(module, exports, __webpack_require__) {
  2713.  
  2714. var appModule = __webpack_require__(/*! application */ 2);
  2715. var utils = __webpack_require__(/*! utils/utils */ 1);
  2716. var frame = __webpack_require__(/*! ui/frame */ 7);
  2717. var fs = __webpack_require__(/*! file-system */ 6);
  2718. var firebase = __webpack_require__(/*! ./firebase-common */ 206);
  2719.  
  2720. firebase._launchNotification = null;
  2721.  
  2722. // we need to cache and restore the context, otherwise the next invocation is broken
  2723. firebase._rememberedContext = null;
  2724. firebase._googleSignInIdToken = null;
  2725. firebase._facebookAccessToken = null;
  2726.  
  2727. var fbCallbackManager = null;
  2728. var GOOGLE_SIGNIN_INTENT_ID = 123;
  2729. var REQUEST_INVITE_INTENT_ID = 48
  2730.  
  2731. var gson = typeof(com.google.gson) === "undefined" ? null : new com.google.gson.Gson();
  2732.  
  2733. (function() {
  2734.   if (typeof(com.google.firebase.messaging) === "undefined") {
  2735.     return;
  2736.   }
  2737.   appModule.on("launch", function(args) {
  2738.  
  2739.     var intent = args.android;
  2740.  
  2741.     var extras = intent.getExtras();
  2742.     if (extras !== null) {
  2743.       var result = {
  2744.         foreground: false,
  2745.         data: {}
  2746.       };
  2747.  
  2748.       var iterator = extras.keySet().iterator();
  2749.       while (iterator.hasNext()) {
  2750.         var key = iterator.next();
  2751.         if (key !== "from" && key !== "collapse_key") {
  2752.           result[key] = extras.get(key);
  2753.           result.data[key] = extras.get(key);
  2754.         }
  2755.       }
  2756.  
  2757.       // in case this was a cold start we don't have the _receivedNotificationCallback yet
  2758.       if (firebase._receivedNotificationCallback === null) {
  2759.         firebase._launchNotification = result;
  2760.       } else {
  2761.         // add a little delay just to make sure clients alerting this message will see it as the UI needs to settle
  2762.         setTimeout(function() {
  2763.           firebase._receivedNotificationCallback(result);
  2764.         });
  2765.       }
  2766.     }
  2767.   });
  2768.  
  2769. })();
  2770.  
  2771. firebase.toHashMap = function(obj) {
  2772.   var node = new java.util.HashMap();
  2773.   for (var property in obj) {
  2774.     if (obj.hasOwnProperty(property)) {
  2775.       if (obj[property] === null) {
  2776.         node.put(property, null);
  2777.       } else {
  2778.         switch (typeof obj[property]) {
  2779.           case 'object':
  2780.             node.put(property, firebase.toHashMap(obj[property], node));
  2781.             break;
  2782.           case 'boolean':
  2783.             node.put(property, java.lang.Boolean.valueOf(String(obj[property])));
  2784.             break;
  2785.           case 'number':
  2786.             if (Number(obj[property]) === obj[property] && obj[property] % 1 === 0)
  2787.               node.put(property, java.lang.Long.valueOf(String(obj[property])));
  2788.             else
  2789.               node.put(property, java.lang.Double.valueOf(String(obj[property])));
  2790.             break;
  2791.           case 'string':
  2792.             node.put(property, String(obj[property]));
  2793.             break;
  2794.         }
  2795.       }
  2796.     }
  2797.   }
  2798.   return node;
  2799. };
  2800.  
  2801. firebase.toValue = function(val){
  2802.   var returnVal = null;
  2803.   if (val !== null) {
  2804.     switch (typeof val) {
  2805.       case 'object':
  2806.         returnVal = firebase.toHashMap(val);
  2807.         break;
  2808.       case 'boolean':
  2809.         returnVal = java.lang.Boolean.valueOf(String(val));
  2810.         break;
  2811.       case 'number':
  2812.         if (Number(val) === val && val % 1 === 0)
  2813.           returnVal = java.lang.Long.valueOf(String(val));
  2814.         else
  2815.           returnVal = java.lang.Double.valueOf(String(val));
  2816.         break;
  2817.       case 'string':
  2818.         returnVal = String(val);
  2819.         break;
  2820.     }
  2821.   }
  2822.   return returnVal;
  2823. };
  2824.  
  2825. firebase.toJsObject = function(javaObj) {
  2826.   if (gson !== null) {
  2827.     return JSON.parse(gson.toJson(javaObj));
  2828.   } else {
  2829.     // temp fallback for folks not having fetched gson yet in their build for some reason
  2830.     return firebase.toJsObjectLegacy(javaObj);
  2831.   }
  2832. };
  2833.  
  2834. firebase.toJsObjectLegacy = function(javaObj) {
  2835.   if (javaObj === null || typeof javaObj != "object") {
  2836.     return javaObj;
  2837.   }
  2838.  
  2839.   var node;
  2840.   switch (javaObj.getClass().getName()) {
  2841.     case 'java.lang.Boolean':
  2842.       var str = String(javaObj);
  2843.       return Boolean(!!(str == "True" || str == "true"));
  2844.     case 'java.lang.String':
  2845.       return String(javaObj);
  2846.     case 'java.lang.Long':
  2847.     case 'java.lang.Double':
  2848.       return Number(String(javaObj));
  2849.     case 'java.util.ArrayList':
  2850.       node = [];
  2851.       for (var i = 0; i < javaObj.size(); i++) {
  2852.         node[i] = firebase.toJsObjectLegacy(javaObj.get(i));
  2853.       }
  2854.       break;
  2855.     default:
  2856.       node = {};
  2857.       var iterator = javaObj.entrySet().iterator();
  2858.       while (iterator.hasNext()) {
  2859.         var item = iterator.next();
  2860.         node[item.getKey()] = firebase.toJsObjectLegacy(item.getValue());
  2861.       }
  2862.   }
  2863.   return node;
  2864. };
  2865.  
  2866. firebase.getCallbackData = function(type, snapshot) {
  2867.   return {
  2868.     type: type,
  2869.     key: snapshot.getKey(),
  2870.     value: firebase.toJsObject(snapshot.getValue())
  2871.   };
  2872. };
  2873.  
  2874. firebase.authStateListener = null;
  2875.  
  2876. firebase.init = function (arg) {
  2877.   return new Promise(function (resolve, reject) {
  2878.  
  2879.     function _resolve() {
  2880.       if (firebase.instance !== null) {
  2881.         reject("You already ran init");
  2882.         return;
  2883.       }
  2884.  
  2885.       arg = arg || {};
  2886.  
  2887.       firebase.ServerValue = {
  2888.         TIMESTAMP: firebase.toJsObject(com.google.firebase.database.ServerValue.TIMESTAMP)
  2889.       };
  2890.  
  2891.       var fDatabase = com.google.firebase.database.FirebaseDatabase;
  2892.       if (arg.persist) {
  2893.         fDatabase.getInstance().setPersistenceEnabled(true);
  2894.       }
  2895.       // the URL is picked up from google-services.json, so you can use it like this:
  2896.       firebase.instance = fDatabase.getInstance().getReference();
  2897.       // it is however still possible to pass the URL programmatically (which we'll do for now):
  2898.       // firebase.instance = fDatabase.getInstance().getReferenceFromUrl(arg.url);
  2899.  
  2900.       var firebaseAuth = com.google.firebase.auth.FirebaseAuth.getInstance();
  2901.  
  2902.       if (arg.onAuthStateChanged) {
  2903.         firebase.authStateListener = new com.google.firebase.auth.FirebaseAuth.AuthStateListener({
  2904.           onAuthStateChanged: function (fbAuth) {
  2905.             var user = fbAuth.getCurrentUser();
  2906.             arg.onAuthStateChanged({
  2907.               loggedIn: user !== null,
  2908.               user: toLoginResult(user)
  2909.             });
  2910.           }
  2911.         });
  2912.         firebaseAuth.addAuthStateListener(firebase.authStateListener);
  2913.       }
  2914.  
  2915.       // Listen to auth state changes
  2916.       if (!firebase.authStateListener) {
  2917.         firebase.authStateListener = new com.google.firebase.auth.FirebaseAuth.AuthStateListener({
  2918.           onAuthStateChanged: function (fbAuth) {
  2919.             var user = fbAuth.getCurrentUser();
  2920.             firebase.notifyAuthStateListeners({
  2921.               loggedIn: user !== null,
  2922.               user: toLoginResult(user)
  2923.             });
  2924.           }
  2925.         });
  2926.         firebaseAuth.addAuthStateListener(firebase.authStateListener);
  2927.       }
  2928.  
  2929.       // Firebase notifications (FCM)
  2930.       if (typeof(com.google.firebase.messaging) !== "undefined") {
  2931.         if (arg.onMessageReceivedCallback !== undefined) {
  2932.           firebase.addOnMessageReceivedCallback(arg.onMessageReceivedCallback);
  2933.         }
  2934.         if (arg.onPushTokenReceivedCallback !== undefined) {
  2935.           firebase.addOnPushTokenReceivedCallback(arg.onPushTokenReceivedCallback);
  2936.         }
  2937.       }
  2938.  
  2939.       // Firebase storage
  2940.       if (arg.storageBucket) {
  2941.         if (typeof(com.google.firebase.storage) === "undefined") {
  2942.           reject("Uncomment firebase-storage in the plugin's include.gradle first");
  2943.           return;
  2944.         }
  2945.         firebase.storage = com.google.firebase.storage.FirebaseStorage.getInstance().getReferenceFromUrl(arg.storageBucket);
  2946.       }
  2947.  
  2948.       // Facebook
  2949.       if (typeof(com.facebook) !== "undefined" && typeof(com.facebook.FacebookSdk) !== "undefined") {
  2950.         com.facebook.FacebookSdk.sdkInitialize(com.tns.NativeScriptApplication.getInstance());
  2951.         fbCallbackManager = com.facebook.CallbackManager.Factory.create();
  2952.         appModule.android.on(appModule.AndroidApplication.activityResultEvent, function(eventData){
  2953.           if (eventData.requestCode !== GOOGLE_SIGNIN_INTENT_ID) {
  2954.             fbCallbackManager.onActivityResult(eventData.requestCode, eventData.resultCode, eventData.intent);
  2955.           }
  2956.         });
  2957.       }
  2958.  
  2959.       resolve(firebase.instance);
  2960.     }
  2961.  
  2962.     try {
  2963.       if (appModule.android.foregroundActivity) {
  2964.         _resolve();
  2965.       } else {
  2966.         // if this is called before application.start() wait for the event to fire
  2967.         appModule.on(appModule.launchEvent, _resolve);
  2968.       }
  2969.     } catch (ex) {
  2970.       console.log("Error in firebase.init: " + ex);
  2971.       reject(ex);
  2972.     }
  2973.   });
  2974. };
  2975.  
  2976. firebase.addOnMessageReceivedCallback = function (callback) {
  2977.   return new Promise(function (resolve, reject) {
  2978.     try {
  2979.       if (typeof(com.google.firebase.messaging) === "undefined") {
  2980.         reject("Uncomment firebase-messaging in the plugin's include.gradle first");
  2981.         return;
  2982.       }
  2983.  
  2984.       firebase._receivedNotificationCallback = callback;
  2985.  
  2986.       org.nativescript.plugins.firebase.FirebasePlugin.setOnNotificationReceivedCallback(
  2987.           new org.nativescript.plugins.firebase.FirebasePluginListener({
  2988.             success: function(notification) {
  2989.               callback(JSON.parse(notification));
  2990.             }
  2991.           })
  2992.       );
  2993.  
  2994.       // if the app was launched from a notification, process it now
  2995.       if (firebase._launchNotification !== null) {
  2996.         callback(firebase._launchNotification);
  2997.         firebase._launchNotification = null;
  2998.       }
  2999.  
  3000.       resolve();
  3001.     } catch (ex) {
  3002.       console.log("Error in firebase.addOnMessageReceivedCallback: " + ex);
  3003.       reject(ex);
  3004.     }
  3005.   });
  3006. };
  3007.  
  3008. firebase.addOnPushTokenReceivedCallback = function (callback) {
  3009.   return new Promise(function (resolve, reject) {
  3010.     try {
  3011.       if (typeof(com.google.firebase.messaging) === "undefined") {
  3012.         reject("Uncomment firebase-messaging in the plugin's include.gradle first");
  3013.         return;
  3014.       }
  3015.  
  3016.       org.nativescript.plugins.firebase.FirebasePlugin.setOnPushTokenReceivedCallback(
  3017.           new org.nativescript.plugins.firebase.FirebasePluginListener({
  3018.             success: function(token) {
  3019.               callback(token);
  3020.             }
  3021.           })
  3022.       );
  3023.  
  3024.       resolve();
  3025.     } catch (ex) {
  3026.       console.log("Error in firebase.addOnPushTokenReceivedCallback: " + ex);
  3027.       reject(ex);
  3028.     }
  3029.   });
  3030. };
  3031.  
  3032. firebase.getRemoteConfigDefaults = function (properties) {
  3033.   var defaults = {};
  3034.   for (var p in properties) {
  3035.     var prop = properties[p];
  3036.     if (prop.default !== undefined) {
  3037.       defaults[prop.key] = prop.default;
  3038.     }
  3039.   }
  3040.   return defaults;
  3041. };
  3042.  
  3043. firebase._isGooglePlayServicesAvailable = function () {
  3044.   var context = com.tns.NativeScriptApplication.getInstance();
  3045.   var playServiceStatusSuccess = com.google.android.gms.common.ConnectionResult.SUCCESS; // 0
  3046.   var playServicesStatus = com.google.android.gms.common.GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(context);
  3047.   return playServicesStatus === playServiceStatusSuccess;
  3048. };
  3049.  
  3050. firebase.analytics.logEvent = function (arg) {
  3051.   return new Promise(function (resolve, reject) {
  3052.     try {
  3053.       if (arg.key === undefined) {
  3054.         reject("Argument 'key' is missing");
  3055.         return;
  3056.       }
  3057.  
  3058.       var bundle = new android.os.Bundle();
  3059.       if (arg.parameters !== undefined) {
  3060.         for (var p in arg.parameters) {
  3061.           var param = arg.parameters[p];
  3062.           if (param.value !== undefined) {
  3063.             bundle.putString(param.key, param.value);
  3064.           }
  3065.         }
  3066.       }
  3067.  
  3068.       com.google.firebase.analytics.FirebaseAnalytics.getInstance(appModule.android.currentContext || com.tns.NativeScriptApplication.getInstance()).logEvent(arg.key, bundle);
  3069.  
  3070.       resolve();
  3071.     } catch (ex) {
  3072.       console.log("Error in firebase.analytics.logEvent: " + ex);
  3073.       reject(ex);
  3074.     }
  3075.   });
  3076. };
  3077.  
  3078. firebase.analytics.setUserProperty = function (arg) {
  3079.   return new Promise(function (resolve, reject) {
  3080.     try {
  3081.       if (arg.key === undefined) {
  3082.         reject("Argument 'key' is missing");
  3083.         return;
  3084.       }
  3085.       if (arg.value === undefined) {
  3086.         reject("Argument 'value' is missing");
  3087.         return;
  3088.       }
  3089.  
  3090.       com.google.firebase.analytics.FirebaseAnalytics.getInstance(appModule.android.currentContext || com.tns.NativeScriptApplication.getInstance()).setUserProperty(arg.key, arg.value);
  3091.  
  3092.       resolve();
  3093.     } catch (ex) {
  3094.       console.log("Error in firebase.analytics.setUserProperty: " + ex);
  3095.       reject(ex);
  3096.     }
  3097.   });
  3098. };
  3099.  
  3100. //see https://firebase.google.com/docs/admob/android/quick-start
  3101. firebase.admob.showBanner = function (arg) {
  3102.   return new Promise(function (resolve, reject) {
  3103.     try {
  3104.       var settings = firebase.merge(arg, firebase.admob.defaults);
  3105.  
  3106.       // this should also be possible in init
  3107.       com.google.android.gms.ads.MobileAds.initialize(
  3108.           appModule.android.context,
  3109.           settings.androidBannerId); // TODO not sure its bound to packagename.. this is from the admob-demo
  3110.  
  3111.       // always close a previously opened banner
  3112.       if (firebase.admob.adView !== null && firebase.admob.adView !== undefined) {
  3113.         var parent = firebase.admob.adView.getParent();
  3114.         if (parent !== null) {
  3115.           parent.removeView(firebase.admob.adView);
  3116.         }
  3117.       }
  3118.  
  3119.       firebase.admob.adView = new com.google.android.gms.ads.AdView(appModule.android.foregroundActivity);
  3120.       firebase.admob.adView.setAdUnitId(settings.androidBannerId);
  3121.       var bannerType = firebase.admob._getBannerType(settings.size);
  3122.       firebase.admob.adView.setAdSize(bannerType);
  3123.       console.log("----- bannerType: " + bannerType);
  3124.       // TODO consider implementing events
  3125.       //firebase.admob.adView.setAdListener(new com.google.android.gms.ads.BannerListener());
  3126.  
  3127.       var ad = firebase.admob._buildAdRequest(settings);
  3128.       firebase.admob.adView.loadAd(ad);
  3129.  
  3130.       var density = utils.layout.getDisplayDensity(),
  3131.           top = settings.margins.top * density,
  3132.           bottom = settings.margins.bottom * density;
  3133.  
  3134.       var relativeLayoutParams = new android.widget.RelativeLayout.LayoutParams(
  3135.           android.widget.RelativeLayout.LayoutParams.MATCH_PARENT,
  3136.           android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT);
  3137.  
  3138.       if (bottom > -1) {
  3139.         relativeLayoutParams.bottomMargin = bottom;
  3140.         relativeLayoutParams.addRule(android.widget.RelativeLayout.ALIGN_PARENT_BOTTOM);
  3141.       } else {
  3142.         if (top > -1) {
  3143.           relativeLayoutParams.topMargin = top;
  3144.         }
  3145.         relativeLayoutParams.addRule(android.widget.RelativeLayout.ALIGN_PARENT_TOP);
  3146.       }
  3147.  
  3148.       var adViewLayout = new android.widget.RelativeLayout(appModule.android.foregroundActivity);
  3149.       adViewLayout.addView(firebase.admob.adView, relativeLayoutParams);
  3150.  
  3151.       var relativeLayoutParamsOuter = new android.widget.RelativeLayout.LayoutParams(
  3152.           android.widget.RelativeLayout.LayoutParams.MATCH_PARENT,
  3153.           android.widget.RelativeLayout.LayoutParams.MATCH_PARENT);
  3154.  
  3155.       // wrapping it in a timeout makes sure that when this function is loaded from
  3156.       // a Page.loaded event 'frame.topmost()' doesn't resolve to 'undefined'
  3157.       setTimeout(function() {
  3158.         frame.topmost().currentPage.android.getParent().addView(adViewLayout, relativeLayoutParamsOuter);
  3159.       }, 0);
  3160.  
  3161.       resolve();
  3162.     } catch (ex) {
  3163.       console.log("Error in firebase.admob.showBanner: " + ex);
  3164.       reject(ex);
  3165.     }
  3166.   });
  3167. };
  3168.  
  3169. firebase.admob.showInterstitial = function (arg) {
  3170.   return new Promise(function (resolve, reject) {
  3171.     try {
  3172.       var settings = firebase.merge(arg, firebase.admob.defaults);
  3173.       firebase.admob.interstitialView = new com.google.android.gms.ads.InterstitialAd(appModule.android.foregroundActivity);
  3174.       firebase.admob.interstitialView.setAdUnitId(settings.androidInterstitialId);
  3175.  
  3176.       // Interstitial ads must be loaded before they can be shown, so adding a listener
  3177.       var InterstitialAdListener = com.google.android.gms.ads.AdListener.extend({
  3178.         onAdLoaded: function () {
  3179.           firebase.admob.interstitialView.show();
  3180.           resolve();
  3181.         },
  3182.         onAdFailedToLoad: function (errorCode) {
  3183.           reject(errorCode);
  3184.         },
  3185.         onAdClosed: function() {
  3186.           firebase.admob.interstitialView.setAdListener(null);
  3187.           firebase.admob.interstitialView = null;
  3188.         }
  3189.       });
  3190.       firebase.admob.interstitialView.setAdListener(new InterstitialAdListener());
  3191.  
  3192.       var ad = firebase.admob._buildAdRequest(settings);
  3193.       firebase.admob.interstitialView.loadAd(ad);
  3194.     } catch (ex) {
  3195.       console.log("Error in firebase.admob.showInterstitial: " + ex);
  3196.       reject(ex);
  3197.     }
  3198.   });
  3199. };
  3200.  
  3201. firebase.admob.hideBanner = function (arg) {
  3202.   return new Promise(function (resolve, reject) {
  3203.     try {
  3204.       if (firebase.admob.adView !== null) {
  3205.         var parent = firebase.admob.adView.getParent();
  3206.         if (parent !== null) {
  3207.           parent.removeView(firebase.admob.adView);
  3208.         }
  3209.         firebase.admob.adView = null;
  3210.       }
  3211.       resolve();
  3212.     } catch (ex) {
  3213.       console.log("Error in firebase.admob.hideBanner: " + ex);
  3214.       reject(ex);
  3215.     }
  3216.   });
  3217. };
  3218.  
  3219. firebase.admob._getBannerType = function (size) {
  3220.   if (size == firebase.admob.AD_SIZE.BANNER) {
  3221.     return com.google.android.gms.ads.AdSize.BANNER;
  3222.   } else if (size == firebase.admob.AD_SIZE.LARGE_BANNER) {
  3223.     return com.google.android.gms.ads.AdSize.LARGE_BANNER;
  3224.   } else if (size == firebase.admob.AD_SIZE.MEDIUM_RECTANGLE) {
  3225.     return com.google.android.gms.ads.AdSize.MEDIUM_RECTANGLE;
  3226.   } else if (size == firebase.admob.AD_SIZE.FULL_BANNER) {
  3227.     return com.google.android.gms.ads.AdSize.FULL_BANNER;
  3228.   } else if (size == firebase.admob.AD_SIZE.LEADERBOARD) {
  3229.     return com.google.android.gms.ads.AdSize.LEADERBOARD;
  3230.   } else if (size == firebase.admob.AD_SIZE.SMART_BANNER) {
  3231.     return com.google.android.gms.ads.AdSize.SMART_BANNER;
  3232.   } else {
  3233.     return null;
  3234.   }
  3235. };
  3236.  
  3237. firebase.admob._buildAdRequest = function (settings) {
  3238.   var builder = new com.google.android.gms.ads.AdRequest.Builder();
  3239.   if (settings.testing) {
  3240.     builder.addTestDevice(com.google.android.gms.ads.AdRequest.DEVICE_ID_EMULATOR);
  3241.     // This will request test ads on the emulator and device by passing this hashed device ID.
  3242.     var ANDROID_ID = android.provider.Settings.Secure.getString(appModule.android.foregroundActivity.getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);
  3243.     var deviceId = firebase.admob._md5(ANDROID_ID);
  3244.     if (deviceId !== null) {
  3245.       deviceId = deviceId.toUpperCase();
  3246.       console.log("Treating this deviceId as testdevice: " + deviceId);
  3247.       builder.addTestDevice(deviceId);
  3248.     }
  3249.   }
  3250.   var bundle = new android.os.Bundle();
  3251.   bundle.putInt("nativescript", 1);
  3252.   var adextras = new com.google.android.gms.ads.mediation.admob.AdMobExtras(bundle);
  3253.   //builder = builder.addNetworkExtras(adextras);
  3254.   return builder.build();
  3255. };
  3256.  
  3257. firebase.admob._md5 = function(input) {
  3258.   try {
  3259.     var digest = java.security.MessageDigest.getInstance("MD5");
  3260.     var bytes = [];
  3261.     for (var j = 0; j < input.length; ++j) {
  3262.       bytes.push(input.charCodeAt(j));
  3263.     }
  3264.  
  3265.     var s = new java.lang.String(input);
  3266.     digest.update(s.getBytes());
  3267.     var messageDigest = digest.digest();
  3268.     var hexString = "";
  3269.     for (var i = 0; i < messageDigest.length; i++) {
  3270.       var h = java.lang.Integer.toHexString(0xFF & messageDigest[i]);
  3271.       while (h.length < 2)
  3272.         h = "0" + h;
  3273.       hexString += h;
  3274.     }
  3275.     return hexString;
  3276.  
  3277.   } catch (noSuchAlgorithmException) {
  3278.     console.log("error generating md5: " + noSuchAlgorithmException);
  3279.     return null;
  3280.   }
  3281. };
  3282.  
  3283. firebase.getRemoteConfig = function (arg) {
  3284.   return new Promise(function (resolve, reject) {
  3285.  
  3286.     if (typeof(com.google.firebase.remoteconfig) === "undefined") {
  3287.       reject("Uncomment firebase-config in the plugin's include.gradle first");
  3288.       return;
  3289.     }
  3290.  
  3291.     if (arg.properties === undefined) {
  3292.       reject("Argument 'properties' is missing");
  3293.       return;
  3294.     }
  3295.  
  3296.     function _resolve() {
  3297.       if (!firebase._isGooglePlayServicesAvailable()) {
  3298.         reject("Google Play services is required for this feature, but not available on this device");
  3299.         return;
  3300.       }
  3301.  
  3302.       // Get a Remote Config object instance
  3303.       firebaseRemoteConfig = com.google.firebase.remoteconfig.FirebaseRemoteConfig.getInstance();
  3304.  
  3305.       // Enable developer mode to allow for frequent refreshes of the cache
  3306.       var remoteConfigSettings = new com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings.Builder()
  3307.           .setDeveloperModeEnabled(arg.developerMode || false)
  3308.           .build();
  3309.       firebaseRemoteConfig.setConfigSettings(remoteConfigSettings);
  3310.  
  3311.       var defaults = firebase.getRemoteConfigDefaults(arg.properties);
  3312.       firebaseRemoteConfig.setDefaults(firebase.toHashMap(defaults));
  3313.  
  3314.       var returnMethod = function (throttled) {
  3315.         firebaseRemoteConfig.activateFetched();
  3316.  
  3317.         var lastFetchTime = firebaseRemoteConfig.getInfo().getFetchTimeMillis();
  3318.         var lastFetch = new Date(lastFetchTime);
  3319.  
  3320.         var result = {
  3321.           lastFetch: lastFetch,
  3322.           throttled: throttled,
  3323.           properties: {}
  3324.         };
  3325.  
  3326.         for (var p in arg.properties) {
  3327.           var prop = arg.properties[p];
  3328.           var key = prop.key;
  3329.           var value = firebaseRemoteConfig.getString(key);
  3330.           // we could have the user pass in the type but this seems easier to use
  3331.           result.properties[key] = firebase.strongTypeify(value);
  3332.         }
  3333.  
  3334.         resolve(result);
  3335.       };
  3336.  
  3337.       var onSuccessListener = new com.google.android.gms.tasks.OnSuccessListener({
  3338.         onSuccess: function() {
  3339.           returnMethod(false);
  3340.         }
  3341.       });
  3342.  
  3343.       var onFailureListener = new com.google.android.gms.tasks.OnFailureListener({
  3344.         onFailure: function (exception) {
  3345.           if (exception == "com.google.firebase.remoteconfig.FirebaseRemoteConfigFetchThrottledException") {
  3346.             returnMethod(true);
  3347.           } else {
  3348.             reject("Retrieving remote config data failed. " + exception);
  3349.           }
  3350.         }
  3351.       });
  3352.  
  3353.       // default 12 hours, just like the SDK does
  3354.       var expirationDuration = arg.cacheExpirationSeconds || 43200;
  3355.  
  3356.       firebaseRemoteConfig.fetch(expirationDuration)
  3357.           .addOnSuccessListener(onSuccessListener)
  3358.           .addOnFailureListener(onFailureListener);
  3359.     }
  3360.  
  3361.     try {
  3362.       if (appModule.android.foregroundActivity) {
  3363.         _resolve();
  3364.       } else {
  3365.         // if this is called before application.start() wait for the event to fire
  3366.         appModule.on(appModule.launchEvent, _resolve);
  3367.       }
  3368.     } catch (ex) {
  3369.       console.log("Error in firebase.getRemoteConfig: " + ex);
  3370.       reject(ex);
  3371.     }
  3372.   });
  3373. };
  3374.  
  3375. firebase.getCurrentUser = function (arg) {
  3376.   return new Promise(function (resolve, reject) {
  3377.     try {
  3378.       if (firebase.instance === null) {
  3379.         reject("Run init() first!");
  3380.         return;
  3381.       }
  3382.  
  3383.       var firebaseAuth = com.google.firebase.auth.FirebaseAuth.getInstance();
  3384.       var user = firebaseAuth.getCurrentUser();
  3385.       if (user !== null) {
  3386.         resolve(toLoginResult(user));
  3387.       } else {
  3388.         reject();
  3389.       }
  3390.     } catch (ex) {
  3391.       console.log("Error in firebase.getCurrentUser: " + ex);
  3392.       reject(ex);
  3393.     }
  3394.   });
  3395. };
  3396.  
  3397. firebase.sendEmailVerification = function () {
  3398.   return new Promise(function (resolve, reject) {
  3399.     try {
  3400.       if (firebase.instance === null) {
  3401.         reject("Run init() first!");
  3402.         return;
  3403.       }
  3404.  
  3405.       var firebaseAuth = com.google.firebase.auth.FirebaseAuth.getInstance();
  3406.       var user = firebaseAuth.getCurrentUser();
  3407.       if (user !== null) {
  3408.         var addOnCompleteListener = new com.google.android.gms.tasks.OnCompleteListener({
  3409.           onComplete: function(task) {
  3410.             if (!task.isSuccessful()) {
  3411.               reject((task.getException() && task.getException().getReason ? task.getException().getReason() : task.getException()));
  3412.             } else {
  3413.               resolve();
  3414.             }
  3415.           }
  3416.         });
  3417.  
  3418.         user.sendEmailVerification().addOnCompleteListener(addOnCompleteListener);
  3419.       } else {
  3420.         reject("Log in first");
  3421.       }
  3422.     } catch (ex) {
  3423.       console.log("Error in firebase.sendEmailVerification: " + ex);
  3424.       reject(ex);
  3425.     }
  3426.   });
  3427. };
  3428.  
  3429. firebase.logout = function (arg) {
  3430.   return new Promise(function (resolve, reject) {
  3431.     try {
  3432.       com.google.firebase.auth.FirebaseAuth.getInstance().signOut();
  3433.  
  3434.       // also disconnect from Google otherwise ppl can't connect with a different account
  3435.       if (firebase._mGoogleApiClient) {
  3436.         com.google.android.gms.auth.api.Auth.GoogleSignInApi.revokeAccess(firebase._mGoogleApiClient);
  3437.       }
  3438.  
  3439.       resolve();
  3440.     } catch (ex) {
  3441.       console.log("Error in firebase.logout: " + ex);
  3442.       reject(ex);
  3443.     }
  3444.   });
  3445. };
  3446.  
  3447. firebase.getAuthToken = function (arg) {
  3448.   return new Promise(function (resolve, reject) {
  3449.     try {
  3450.       if (firebase.instance === null) {
  3451.         reject("Run init() first!");
  3452.         return;
  3453.       }
  3454.  
  3455.       var firebaseAuth = com.google.firebase.auth.FirebaseAuth.getInstance();
  3456.       var user = firebaseAuth.getCurrentUser();
  3457.       if (user !== null) {
  3458.         var onSuccessListener = new com.google.android.gms.tasks.OnSuccessListener({
  3459.           onSuccess: function(getTokenResult) {
  3460.             resolve(getTokenResult.getToken());
  3461.           }
  3462.         });
  3463.  
  3464.         var onFailureListener = new com.google.android.gms.tasks.OnFailureListener({
  3465.           onFailure: function (exception) {
  3466.             reject(exception);
  3467.           }
  3468.         });
  3469.  
  3470.         user.getToken(arg.forceRefresh)
  3471.             .addOnSuccessListener(onSuccessListener)
  3472.             .addOnFailureListener(onFailureListener);
  3473.  
  3474.       } else {
  3475.         reject("Log in first");
  3476.       }
  3477.     } catch (ex) {
  3478.       console.log("Error in firebase.getAuthToken: " + ex);
  3479.       reject(ex);
  3480.     }
  3481.   });
  3482. };
  3483.  
  3484. function toLoginResult(user) {
  3485.   if (user === null) {
  3486.     return false;
  3487.   }
  3488.  
  3489.   // for convenience return the result in multiple formats
  3490.   var providers = [];
  3491.   var providerData = user.getProviderData();
  3492.   for (var i = 0; i < providerData.size(); i++) {
  3493.     var pid = providerData.get(i).getProviderId();
  3494.     if (pid==='facebook.com') { providers.push({ id: pid, token: firebase._facebookAccessToken }); }
  3495.     else { providers.push({ id: pid }); }
  3496.   }
  3497.  
  3498.   return {
  3499.     uid: user.getUid(),
  3500.     name: user.getDisplayName(),
  3501.     email: user.getEmail(),
  3502.     emailVerified: user.isEmailVerified(),
  3503.     // provider: user.getProviderId(), // always 'firebase'
  3504.     providers: providers,
  3505.     anonymous: user.isAnonymous(),
  3506.     profileImageURL: user.getPhotoUrl() ? user.getPhotoUrl().toString() : null
  3507.   };
  3508. }
  3509.  
  3510. firebase.login = function (arg) {
  3511.   return new Promise(function (resolve, reject) {
  3512.     try {
  3513.       if (!firebase._isGooglePlayServicesAvailable()) {
  3514.         reject("Google Play services is required for this feature, but not available on this device");
  3515.         return;
  3516.       }
  3517.  
  3518.       var firebaseAuth = com.google.firebase.auth.FirebaseAuth.getInstance();
  3519.       var onCompleteListener = new com.google.android.gms.tasks.OnCompleteListener({
  3520.         onComplete: function (task) {
  3521.           if (firebase._rememberedContext !== null) {
  3522.             appModule.android.currentContext = firebase._rememberedContext;
  3523.             firebase._rememberedContext = null;
  3524.           }
  3525.           if (!task.isSuccessful()) {
  3526.             console.log("Logging in the user failed. " + (task.getException() && task.getException().getReason ? task.getException().getReason() : task.getException()));
  3527.             // also disconnect from Google otherwise ppl can't connect with a different account
  3528.             if (firebase._mGoogleApiClient) {
  3529.               com.google.android.gms.auth.api.Auth.GoogleSignInApi.revokeAccess(firebase._mGoogleApiClient);
  3530.             }
  3531.             reject("Logging in the user failed. " + (task.getException() && task.getException().getReason ? task.getException().getReason() : task.getException()));
  3532.           } else {
  3533.             var user = task.getResult().getUser();
  3534.             resolve(toLoginResult(user));
  3535.           }
  3536.         }
  3537.       });
  3538.  
  3539.       if (arg.type === firebase.LoginType.ANONYMOUS) {
  3540.         firebaseAuth.signInAnonymously().addOnCompleteListener(onCompleteListener);
  3541.  
  3542.       } else if (arg.type === firebase.LoginType.PASSWORD) {
  3543.         if (!arg.email || !arg.password) {
  3544.           reject("Auth type emailandpassword requires an email and password argument");
  3545.         } else {
  3546.             var user = com.google.firebase.auth.FirebaseAuth.getInstance().getCurrentUser();
  3547.             if (user) {
  3548.                 if (firebase._alreadyLinkedToAuthProvider(user, "password")) {
  3549.                     firebaseAuth.signInWithEmailAndPassword(arg.email, arg.password).addOnCompleteListener(onCompleteListener);
  3550.                 } else {
  3551.                     var authCredential = com.google.firebase.auth.EmailAuthProvider.getCredential(arg.email, arg.password);
  3552.                     user.linkWithCredential(authCredential).addOnCompleteListener(onCompleteListener);
  3553.                 }
  3554.             } else {
  3555.                 firebaseAuth.signInWithEmailAndPassword(arg.email, arg.password).addOnCompleteListener(onCompleteListener);
  3556.             }
  3557.         }
  3558.  
  3559.       } else if (arg.type === firebase.LoginType.CUSTOM) {
  3560.         if (!arg.token && !arg.tokenProviderFn) {
  3561.           reject("Auth type custom requires a token or a tokenProviderFn argument");
  3562.         } else if (arg.token) {
  3563.           firebaseAuth.signInWithCustomToken(arg.token).addOnCompleteListener(onCompleteListener);
  3564.         } else if (arg.tokenProviderFn) {
  3565.           arg.tokenProviderFn()
  3566.               .then(
  3567.                   function (token) {
  3568.                     firebaseAuth.signInWithCustomToken(token).addOnCompleteListener(onCompleteListener);
  3569.                   },
  3570.                   function (error) {
  3571.                     reject(error);
  3572.                   }
  3573.               );
  3574.         }
  3575.  
  3576.       } else if (arg.type === firebase.LoginType.FACEBOOK) {
  3577.         if (typeof(com.facebook) === "undefined") {
  3578.           reject("Facebook SDK not installed - see gradle config");
  3579.           return;
  3580.         }
  3581.  
  3582.         var fbLoginManager = com.facebook.login.LoginManager.getInstance();
  3583.         fbLoginManager.registerCallback(
  3584.             fbCallbackManager,
  3585.             new com.facebook.FacebookCallback({
  3586.               onSuccess: function (loginResult) {
  3587.                 firebase._facebookAccessToken = loginResult.getAccessToken().getToken();
  3588.                 var authCredential = com.google.firebase.auth.FacebookAuthProvider.getCredential(firebase._facebookAccessToken);
  3589.  
  3590.                 var user = com.google.firebase.auth.FirebaseAuth.getInstance().getCurrentUser();
  3591.                 if (user) {
  3592.                   if (firebase._alreadyLinkedToAuthProvider(user, "facebook.com")) {
  3593.                     firebaseAuth.signInWithCredential(authCredential).addOnCompleteListener(onCompleteListener);
  3594.                   } else {
  3595.                     user.linkWithCredential(authCredential).addOnCompleteListener(onCompleteListener);
  3596.                   }
  3597.                 } else {
  3598.                   firebaseAuth.signInWithCredential(authCredential).addOnCompleteListener(onCompleteListener);
  3599.                 }
  3600.               },
  3601.               onCancel: function() {
  3602.                 reject("Facebook Login canceled");
  3603.               },
  3604.               onError: function(ex) {
  3605.                 reject("Error while trying to login with Fb "+ex);
  3606.               }
  3607.             })
  3608.         );
  3609.  
  3610.         var scope = ["public_profile", "email"];
  3611.         if (arg.scope) {
  3612.           scope = arg.scope;
  3613.         }
  3614.         var permissions = utils.ad.collections.stringArrayToStringSet(scope);
  3615.  
  3616.         var activity = appModule.android.foregroundActivity;
  3617.         firebase._rememberedContext = appModule.android.currentContext;
  3618.         fbLoginManager.logInWithReadPermissions(activity, permissions);
  3619.  
  3620.       } else if (arg.type === firebase.LoginType.GOOGLE) {
  3621.         if (typeof(com.google.android.gms.auth.api.Auth) === "undefined") {
  3622.           reject("Google Sign In not installed - see gradle config");
  3623.           return;
  3624.         }
  3625.  
  3626.         var clientStringId = utils.ad.resources.getStringId("default_web_client_id");
  3627.         var clientId = utils.ad.getApplicationContext().getResources().getString(clientStringId);
  3628.  
  3629.         // Configure Google Sign In
  3630.         var googleSignInOptions = new com.google.android.gms.auth.api.signin.GoogleSignInOptions.Builder(com.google.android.gms.auth.api.signin.GoogleSignInOptions.DEFAULT_SIGN_IN)
  3631.             .requestIdToken(clientId)
  3632.             .requestEmail()
  3633.             .build();
  3634.  
  3635.         var onConnectionFailedListener = new com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener({
  3636.           onConnectionFailed: function (connectionResult) {
  3637.             reject(connectionResult.getErrorMessage());
  3638.           }
  3639.         });
  3640.  
  3641.         firebase._mGoogleApiClient = new com.google.android.gms.common.api.GoogleApiClient.Builder(com.tns.NativeScriptApplication.getInstance())
  3642.             .addOnConnectionFailedListener(onConnectionFailedListener)
  3643.             .addApi(com.google.android.gms.auth.api.Auth.GOOGLE_SIGN_IN_API, googleSignInOptions)
  3644.             .build();
  3645.  
  3646.         var signInIntent = com.google.android.gms.auth.api.Auth.GoogleSignInApi.getSignInIntent(firebase._mGoogleApiClient);
  3647.  
  3648.         firebase._rememberedContext = appModule.android.currentContext;
  3649.         appModule.android.currentContext.startActivityForResult(signInIntent, GOOGLE_SIGNIN_INTENT_ID);
  3650.  
  3651.         appModule.android.on(appModule.AndroidApplication.activityResultEvent, function(eventData) {
  3652.           if (eventData.requestCode === GOOGLE_SIGNIN_INTENT_ID) {
  3653.             if (firebase._rememberedContext !== null) {
  3654.               appModule.android.currentContext = firebase._rememberedContext;
  3655.               firebase._rememberedContext = null;
  3656.             }
  3657.             var googleSignInResult = com.google.android.gms.auth.api.Auth.GoogleSignInApi.getSignInResultFromIntent(eventData.intent);
  3658.             var success = googleSignInResult.isSuccess();
  3659.             if (success) {
  3660.               var googleSignInAccount = googleSignInResult.getSignInAccount();
  3661.               firebase._googleSignInIdToken = googleSignInAccount.getIdToken();
  3662.               var accessToken = null;
  3663.               var authCredential = com.google.firebase.auth.GoogleAuthProvider.getCredential(firebase._googleSignInIdToken, accessToken);
  3664.  
  3665.               firebase._mGoogleApiClient.connect();
  3666.  
  3667.               var user = com.google.firebase.auth.FirebaseAuth.getInstance().getCurrentUser();
  3668.               if (user) {
  3669.                 if (firebase._alreadyLinkedToAuthProvider(user, "google.com")) {
  3670.                   firebaseAuth.signInWithCredential(authCredential).addOnCompleteListener(onCompleteListener);
  3671.                 } else {
  3672.                   user.linkWithCredential(authCredential).addOnCompleteListener(onCompleteListener);
  3673.                 }
  3674.               } else {
  3675.                 firebaseAuth.signInWithCredential(authCredential).addOnCompleteListener(onCompleteListener);
  3676.               }
  3677.             } else {
  3678.               console.log("Make sure you've uploaded your SHA1 fingerprint(s) to the Firebase console");
  3679.               reject("Has the SHA1 fingerprint been uploaded? Sign-in status: " + googleSignInResult.getStatus());
  3680.             }
  3681.           }
  3682.         });
  3683.  
  3684.       } else {
  3685.         reject ("Unsupported auth type: " + arg.type);
  3686.       }
  3687.     } catch (ex) {
  3688.       console.log("Error in firebase.login: " + ex);
  3689.       reject(ex);
  3690.     }
  3691.   });
  3692. };
  3693.  
  3694. firebase._alreadyLinkedToAuthProvider = function (user, providerId) {
  3695.   var providerData = user.getProviderData();
  3696.   for (var i = 0; i < providerData.size(); i++) {
  3697.     var profile = providerData.get(i);
  3698.     if (profile.getProviderId() === providerId) {
  3699.       return true;
  3700.     }
  3701.   }
  3702.   return false;
  3703. };
  3704.  
  3705. firebase.reauthenticate = function (arg) {
  3706.   return new Promise(function (resolve, reject) {
  3707.     try {
  3708.       var user = com.google.firebase.auth.FirebaseAuth.getInstance().getCurrentUser();
  3709.       if (user === null) {
  3710.         reject("no current user");
  3711.         return;
  3712.       }
  3713.  
  3714.       var authCredential = null;
  3715.       if (arg.type === firebase.LoginType.PASSWORD) {
  3716.         if (!arg.email || !arg.password) {
  3717.           reject("Auth type emailandpassword requires an email and password argument");
  3718.         } else {
  3719.           authCredential = com.google.firebase.auth.EmailAuthProvider.getCredential(arg.email, arg.password);
  3720.         }
  3721.  
  3722.       } else if (arg.type === firebase.LoginType.GOOGLE) {
  3723.         if (!firebase._googleSignInIdToken) {
  3724.           reject("Not currently logged in with Google");
  3725.           return;
  3726.         }
  3727.         authCredential = com.google.firebase.auth.GoogleAuthProvider.getCredential(firebase._googleSignInIdToken, null);
  3728.  
  3729.       } else if (arg.type === firebase.LoginType.FACEBOOK) {
  3730.         if (!firebase._facebookAccessToken) {
  3731.           reject("Not currently logged in with Facebook");
  3732.           return;
  3733.         }
  3734.         authCredential = com.google.firebase.auth.FacebookAuthProvider.getCredential(firebase._facebookAccessToken);
  3735.       }
  3736.  
  3737.       if (authCredential === null) {
  3738.         reject("arg.type should be one of LoginType.PASSWORD | LoginType.GOOGLE | LoginType.FACEBOOK");
  3739.         return;
  3740.       }
  3741.  
  3742.       var onCompleteListener = new com.google.android.gms.tasks.OnCompleteListener({
  3743.         onComplete: function (task) {
  3744.           if (task.isSuccessful()) {
  3745.             resolve();
  3746.           } else {
  3747.             // TODO extract error
  3748.             reject("Reathentication failed");
  3749.           }
  3750.         }
  3751.       });
  3752.       user.reauthenticate(authCredential).addOnCompleteListener(onCompleteListener);
  3753.  
  3754.     } catch (ex) {
  3755.       console.log("Error in firebase.reauthenticate: " + ex);
  3756.       reject(ex);
  3757.     }
  3758.   });
  3759. };
  3760.  
  3761. firebase.resetPassword = function (arg) {
  3762.   return new Promise(function (resolve, reject) {
  3763.     try {
  3764.       if (!arg.email) {
  3765.         reject("Resetting a password requires an email argument");
  3766.       } else {
  3767.         var onCompleteListener = new com.google.android.gms.tasks.OnCompleteListener({
  3768.           onComplete: function (task) {
  3769.             console.log("--- reset pwd: " + task);
  3770.             if (task.isSuccessful()) {
  3771.               resolve();
  3772.             } else {
  3773.               // TODO extract error
  3774.               reject("Sending password reset email failed");
  3775.             }
  3776.           }
  3777.         });
  3778.  
  3779.         var firebaseAuth = com.google.firebase.auth.FirebaseAuth.getInstance();
  3780.         firebaseAuth.sendPasswordResetEmail(arg.email).addOnCompleteListener(onCompleteListener);
  3781.       }
  3782.     } catch (ex) {
  3783.       console.log("Error in firebase.resetPassword: " + ex);
  3784.       reject(ex);
  3785.     }
  3786.   });
  3787. };
  3788.  
  3789. firebase.changePassword = function (arg) {
  3790.   return new Promise(function (resolve, reject) {
  3791.     try {
  3792.       if (!arg.email || !arg.oldPassword || !arg.newPassword) {
  3793.         reject("Changing a password requires an email and an oldPassword and a newPassword arguments");
  3794.       } else {
  3795.         var onCompleteListener = new com.google.android.gms.tasks.OnCompleteListener({
  3796.           onComplete: function (task) {
  3797.             console.log("--- changed pwd: " + task);
  3798.             if (task.isSuccessful()) {
  3799.               resolve();
  3800.             } else {
  3801.               // TODO extract error
  3802.               reject("Updating password failed");
  3803.             }
  3804.           }
  3805.         });
  3806.  
  3807.         var user = com.google.firebase.auth.FirebaseAuth.getInstance().getCurrentUser();
  3808.  
  3809.         if (user === null) {
  3810.           reject("no current user");
  3811.         } else {
  3812.           user.updatePassword(arg.newPassword).addOnCompleteListener(onCompleteListener);
  3813.         }
  3814.       }
  3815.     } catch (ex) {
  3816.       console.log("Error in firebase.changePassword: " + ex);
  3817.       reject(ex);
  3818.     }
  3819.   });
  3820. };
  3821.  
  3822. firebase.createUser = function (arg) {
  3823.   return new Promise(function (resolve, reject) {
  3824.     try {
  3825.       if (!arg.email || !arg.password) {
  3826.         reject("Creating a user requires an email and password argument");
  3827.       } else {
  3828.         var firebaseAuth = com.google.firebase.auth.FirebaseAuth.getInstance();
  3829.  
  3830.         var onCompleteListener = new com.google.android.gms.tasks.OnCompleteListener({
  3831.           onComplete: function (task) {
  3832.             // see https://firebase.google.com/docs/reference/android/com/google/firebase/auth/FirebaseAuth#public-methods
  3833.             if (!task.isSuccessful()) {
  3834.               reject("Creating a user failed. " + (task.getException() && task.getException().getReason ? task.getException().getReason() : task.getException()));
  3835.             } else {
  3836.               var user = task.getResult().getUser();
  3837.               resolve({key: user.getUid()});
  3838.             }
  3839.           }
  3840.         });
  3841.         firebaseAuth.createUserWithEmailAndPassword(arg.email, arg.password).addOnCompleteListener(onCompleteListener);
  3842.       }
  3843.     } catch (ex) {
  3844.       console.log("Error in firebase.createUser: " + ex);
  3845.       reject(ex);
  3846.     }
  3847.   });
  3848. };
  3849.  
  3850. firebase.deleteUser = function (arg) {
  3851.   return new Promise(function (resolve, reject) {
  3852.     try {
  3853.       var firebaseAuth = com.google.firebase.auth.FirebaseAuth.getInstance();
  3854.       var user = firebaseAuth.getCurrentUser();
  3855.  
  3856.       if (user === null) {
  3857.         reject("no current user");
  3858.         return;
  3859.       }
  3860.  
  3861.       var onCompleteListener = new com.google.android.gms.tasks.OnCompleteListener({
  3862.         onComplete: function (task) {
  3863.           if (!task.isSuccessful()) {
  3864.             reject("Deleting a user failed. " + (task.getException() && task.getException().getReason ? task.getException().getReason() : task.getException()));
  3865.           } else {
  3866.             resolve();
  3867.           }
  3868.         }
  3869.       });
  3870.  
  3871.       user.delete().addOnCompleteListener(onCompleteListener);
  3872.     } catch (ex) {
  3873.       console.log("Error in firebase.deleteUser: " + ex);
  3874.       reject(ex);
  3875.     }
  3876.   });
  3877. };
  3878.  
  3879. firebase.updateProfile = function (arg) {
  3880.   return new Promise(function (resolve, reject) {
  3881.     try {
  3882.       if (!arg.displayName && !arg.photoURL) {
  3883.         reject("Updating a profile requires a displayName and / or a photoURL argument");
  3884.       } else {
  3885.         var firebaseAuth = com.google.firebase.auth.FirebaseAuth.getInstance();
  3886.         var user = firebaseAuth.getCurrentUser();
  3887.  
  3888.         if (user === null) {
  3889.           reject("No current user");
  3890.           return;
  3891.         }
  3892.  
  3893.         var onCompleteListener = new com.google.android.gms.tasks.OnCompleteListener({
  3894.           onComplete: function (task) {
  3895.             if (task.isSuccessful()) {
  3896.               resolve();
  3897.             } else {
  3898.               reject("Updating a profile failed. " + (task.getException() && task.getException().getReason ? task.getException().getReason() : task.getException()));
  3899.             }
  3900.           }
  3901.         });
  3902.  
  3903.         var profileUpdateBuilder = new com.google.firebase.auth.UserProfileChangeRequest.Builder();
  3904.  
  3905.         if (arg.displayName)
  3906.           profileUpdateBuilder.setDisplayName(arg.displayName)
  3907.  
  3908.         if (arg.photoURL)
  3909.           profileUpdateBuilder.setPhotoUri(android.net.Uri.parse(arg.photoURL))
  3910.  
  3911.         var profileUpdate = profileUpdateBuilder.build();
  3912.  
  3913.         user.updateProfile(profileUpdate).addOnCompleteListener(onCompleteListener);
  3914.       }
  3915.     } catch (ex) {
  3916.       console.log("Error in firebase.updateProfile: " + ex);
  3917.       reject(ex);
  3918.     }
  3919.   });
  3920. };
  3921.  
  3922. firebase.keepInSync = function (path, switchOn) {
  3923.   return new Promise(function (resolve, reject) {
  3924.     try {
  3925.       var where = firebase.instance.child(path);
  3926.       where.keepSynced(switchOn);
  3927.       resolve();
  3928.     } catch (ex) {
  3929.       console.log("Error in firebase.keepInSync: " + ex);
  3930.       reject(ex);
  3931.     }
  3932.   });
  3933. };
  3934.  
  3935. firebase._addObservers = function(to, updateCallback) {
  3936.   var listener = new com.google.firebase.database.ChildEventListener({
  3937.     onCancelled: function (error) {
  3938.       updateCallback({
  3939.         type: 'Cancelled'
  3940.       });
  3941.     },
  3942.     onChildAdded: function (snapshot, previousChildKey) {
  3943.       updateCallback(firebase.getCallbackData('ChildAdded', snapshot));
  3944.     },
  3945.     onChildRemoved: function (snapshot) {
  3946.       updateCallback(firebase.getCallbackData('ChildRemoved', snapshot));
  3947.     },
  3948.     onChildChanged: function (snapshot, previousChildKey) {
  3949.       updateCallback(firebase.getCallbackData('ChildChanged', snapshot));
  3950.     },
  3951.     onChildMoved: function (snapshot, previousChildKey) {
  3952.       updateCallback(firebase.getCallbackData('ChildMoved', snapshot));
  3953.     }
  3954.   });
  3955.   to.addChildEventListener(listener);
  3956.   return listener;
  3957. };
  3958.  
  3959. firebase.addChildEventListener = function (updateCallback, path) {
  3960.   return new Promise(function (resolve, reject) {
  3961.     try {
  3962.       resolve({
  3963.         path: path,
  3964.         listeners: [firebase._addObservers(firebase.instance.child(path), updateCallback)]
  3965.       });
  3966.     } catch (ex) {
  3967.       console.log("Error in firebase.addChildEventListener: " + ex);
  3968.       reject(ex);
  3969.     }
  3970.   });
  3971. };
  3972.  
  3973. firebase.addValueEventListener = function (updateCallback, path) {
  3974.   return new Promise(function (resolve, reject) {
  3975.     try {
  3976.       var listener = new com.google.firebase.database.ValueEventListener({
  3977.         onDataChange: function (snapshot) {
  3978.           updateCallback(firebase.getCallbackData('ValueChanged', snapshot));
  3979.         },
  3980.         onCancelled: function (databaseError) {
  3981.           updateCallback({
  3982.             error: databaseError.getMessage()
  3983.           });
  3984.         }
  3985.       });
  3986.       firebase.instance.child(path).addValueEventListener(listener);
  3987.       resolve({
  3988.         path: path,
  3989.         listeners: [listener]
  3990.       });
  3991.     } catch (ex) {
  3992.       console.log("Error in firebase.addValueEventListener: " + ex);
  3993.       reject(ex);
  3994.     }
  3995.   });
  3996. };
  3997.  
  3998. firebase.removeEventListeners = function (listeners, path) {
  3999.   return new Promise(function (resolve, reject) {
  4000.     try {
  4001.       var ref = firebase.instance.child(path);
  4002.       for (var i=0; i < listeners.length; i++) {
  4003.         var listener = listeners[i];
  4004.         console.log("Removing listener at path " + path + ": " + listener);
  4005.         ref.removeEventListener(listener);
  4006.       }
  4007.       resolve();
  4008.     } catch (ex) {
  4009.       console.log("Error in firebase.removeEventListeners: " + ex);
  4010.       reject(ex);
  4011.     }
  4012.   });
  4013. };
  4014.  
  4015. firebase.push = function (path, val) {
  4016.   return new Promise(function (resolve, reject) {
  4017.     try {
  4018.       var pushInstance = firebase.instance.child(path).push();
  4019.       pushInstance.setValue(firebase.toValue(val));
  4020.       resolve({
  4021.         key: pushInstance.getKey()
  4022.       });
  4023.     } catch (ex) {
  4024.       console.log("Error in firebase.push: " + ex);
  4025.       reject(ex);
  4026.     }
  4027.   });
  4028. };
  4029.  
  4030. firebase.setValue = function (path, val) {
  4031.   return new Promise(function (resolve, reject) {
  4032.     try {
  4033.       firebase.instance.child(path).setValue(firebase.toValue(val));
  4034.       resolve();
  4035.     } catch (ex) {
  4036.       console.log("Error in firebase.setValue: " + ex);
  4037.       reject(ex);
  4038.     }
  4039.   });
  4040. };
  4041.  
  4042. firebase.update = function (path, val) {
  4043.   return new Promise(function (resolve, reject) {
  4044.     try {
  4045.       if (typeof val == "object") {
  4046.         firebase.instance.child(path).updateChildren(firebase.toHashMap(val));
  4047.       } else {
  4048.         var lastPartOfPath = path.lastIndexOf("/");
  4049.         var pathPrefix = path.substring(0, lastPartOfPath);
  4050.         var pathSuffix = path.substring(lastPartOfPath + 1);
  4051.         var updateObject = '{"' + pathSuffix + '" : "' + val + '"}';
  4052.         firebase.instance.child(pathPrefix).updateChildren(firebase.toHashMap(JSON.parse(updateObject)));
  4053.       }
  4054.       resolve();
  4055.     } catch (ex) {
  4056.       console.log("Error in firebase.update: " + ex);
  4057.       reject(ex);
  4058.     }
  4059.   });
  4060. };
  4061.  
  4062. firebase.query = function (updateCallback, path, options) {
  4063.   return new Promise(function (resolve, reject) {
  4064.     try {
  4065.       var query;
  4066.  
  4067.       // orderBy
  4068.       if (options.orderBy.type === firebase.QueryOrderByType.KEY) {
  4069.         query = firebase.instance.child(path).orderByKey();
  4070.       } else if (options.orderBy.type === firebase.QueryOrderByType.VALUE) {
  4071.         query = firebase.instance.child(path).orderByValue();
  4072.       } else if (options.orderBy.type === firebase.QueryOrderByType.PRIORITY) {
  4073.         query = firebase.instance.child(path).orderByPriority();
  4074.       } else if (options.orderBy.type === firebase.QueryOrderByType.CHILD) {
  4075.         if (!options.orderBy.value) {
  4076.           reject("When orderBy.type is 'child' you must set orderBy.value as well.");
  4077.           return;
  4078.         }
  4079.         query = firebase.instance.child(path).orderByChild(options.orderBy.value);
  4080.       } else {
  4081.         reject("Invalid orderBy.type, use constants like firebase.QueryOrderByType.VALUE");
  4082.         return;
  4083.       }
  4084.  
  4085.       // range
  4086.       if (options.range && options.range.type) {
  4087.         if (!options.range.value) {
  4088.           reject("Please set range.value");
  4089.           return;
  4090.         }
  4091.         if (options.range.type === firebase.QueryRangeType.START_AT) {
  4092.           query = query.startAt(options.range.value);
  4093.         } else if (options.range.type === firebase.QueryRangeType.END_AT) {
  4094.           query = query.endAt(options.range.value);
  4095.         } else if (options.range.type === firebase.QueryRangeType.EQUAL_TO) {
  4096.           query = query.equalTo(options.range.value);
  4097.         } else {
  4098.           reject("Invalid range.type, use constants like firebase.QueryRangeType.START_AT");
  4099.           return;
  4100.         }
  4101.       }
  4102.  
  4103.       // ranges
  4104.       if (options.ranges) {
  4105.         for (var i=0; i < options.ranges.length; i++) {
  4106.           var range = options.ranges[i];
  4107.           if (!range.value) {
  4108.             reject("Please set ranges["+i+"].value");
  4109.             return;
  4110.           }
  4111.           if (range.type === firebase.QueryRangeType.START_AT) {
  4112.             query = query.startAt(range.value);
  4113.           } else if (range.type === firebase.QueryRangeType.END_AT) {
  4114.             query = query.endAt(range.value);
  4115.           } else if (range.type === firebase.QueryRangeType.EQUAL_TO) {
  4116.             query = query.equalTo(range.value);
  4117.           } else {
  4118.             reject("Invalid ranges["+i+"].type, use constants like firebase.QueryRangeType.START_AT");
  4119.             return;
  4120.           }
  4121.         }
  4122.       }
  4123.  
  4124.       // limit
  4125.       if (options.limit && options.limit.type) {
  4126.         if (!options.limit.value) {
  4127.           reject("Please set limit.value");
  4128.           return;
  4129.         }
  4130.         if (options.limit.type === firebase.QueryLimitType.FIRST) {
  4131.           query = query.limitToFirst(options.limit.value);
  4132.         } else if (options.limit.type === firebase.QueryLimitType.LAST) {
  4133.           query = query.limitToLast(options.limit.value);
  4134.         } else {
  4135.           reject("Invalid limit.type, use constants like firebase.QueryLimitType.FIRST");
  4136.           return;
  4137.         }
  4138.       }
  4139.  
  4140.       if (options.singleEvent) {
  4141.         var listener = new com.google.firebase.database.ValueEventListener({
  4142.           onDataChange: function (snapshot) {
  4143.             var data = firebase.getCallbackData('ValueChanged', snapshot);
  4144.             updateCallback(data);
  4145.             // resolve promise with data in case of single event, see https://github.com/EddyVerbruggen/nativescript-plugin-firebase/issues/126
  4146.             resolve(data);
  4147.           },
  4148.           onCancelled: function (databaseError) {
  4149.             updateCallback({
  4150.               error: databaseError.getMessage()
  4151.             });
  4152.             // see comment at 'onDataChange'
  4153.             resolve({
  4154.               error: databaseError.getMessage()
  4155.             });
  4156.           }
  4157.         });
  4158.         query.addListenerForSingleValueEvent(listener);
  4159.       } else {
  4160.         resolve({
  4161.           path: path,
  4162.           listeners: [firebase._addObservers(query, updateCallback)]
  4163.         });
  4164.       }
  4165.     } catch (ex) {
  4166.       console.log("Error in firebase.query: " + ex);
  4167.       reject(ex);
  4168.     }
  4169.   });
  4170. };
  4171.  
  4172. firebase.remove = function (path) {
  4173.   return new Promise(function (resolve, reject) {
  4174.     try {
  4175.       firebase.instance.child(path).setValue(null);
  4176.       resolve();
  4177.     } catch (ex) {
  4178.       console.log("Error in firebase.remove: " + ex);
  4179.       reject(ex);
  4180.     }
  4181.   });
  4182. };
  4183.  
  4184. function getStorageRef(reject, arg) {
  4185.   if (typeof(com.google.firebase.storage) === "undefined") {
  4186.     reject("Uncomment firebase-storage in the plugin's include.gradle first");
  4187.     return;
  4188.   }
  4189.  
  4190.   if (!arg.remoteFullPath) {
  4191.     reject("remoteFullPath is mandatory");
  4192.     return;
  4193.   }
  4194.  
  4195.   var storageRef = firebase.storage;
  4196.  
  4197.   if (arg.bucket) {
  4198.     storageRef = com.google.firebase.storage.FirebaseStorage.getInstance().getReferenceFromUrl(arg.bucket);
  4199.   }
  4200.  
  4201.   return storageRef;
  4202. }
  4203.  
  4204. firebase.uploadFile = function (arg) {
  4205.   return new Promise(function (resolve, reject) {
  4206.     try {
  4207.  
  4208.       var storageRef = getStorageRef(reject, arg);
  4209.  
  4210.       if (!storageRef) {
  4211.         return;
  4212.       }
  4213.  
  4214.       var storageReference = storageRef.child(arg.remoteFullPath);
  4215.  
  4216.       var onSuccessListener = new com.google.android.gms.tasks.OnSuccessListener({
  4217.         onSuccess: function(uploadTaskSnapshot) {
  4218.           var metadata = uploadTaskSnapshot.getMetadata();
  4219.           resolve({
  4220.             name: metadata.getName(),
  4221.             contentType: metadata.getContentType(),
  4222.             created: new Date(metadata.getCreationTimeMillis()),
  4223.             updated: new Date(metadata.getUpdatedTimeMillis()),
  4224.             bucket: metadata.getBucket(),
  4225.             size: metadata.getSizeBytes(),
  4226.             url: metadata.getDownloadUrl().toString()
  4227.           });
  4228.         }
  4229.       });
  4230.  
  4231.       var onFailureListener = new com.google.android.gms.tasks.OnFailureListener({
  4232.         onFailure: function (exception) {
  4233.           console.log("--- upload failed");
  4234.           reject("Upload failed. " + exception);
  4235.         }
  4236.       });
  4237.  
  4238.       var onProgressListener = new com.google.firebase.storage.OnProgressListener({
  4239.         onProgress: function (snapshot) {
  4240.           if (typeof(arg.onProgress) === "function") {
  4241.             var fractionCompleted = snapshot.getBytesTransferred() / snapshot.getTotalByteCount();
  4242.             arg.onProgress({
  4243.               fractionCompleted: fractionCompleted,
  4244.               percentageCompleted: Math.round(fractionCompleted * 100)
  4245.             });
  4246.           }
  4247.         }
  4248.       });
  4249.  
  4250.       if (arg.localFile) {
  4251.         if (typeof(arg.localFile) !== "object") {
  4252.           reject("localFile argument must be a File object; use file-system module to create one");
  4253.           return;
  4254.         }
  4255.  
  4256.         // using 'putFile' (not 'putBytes') so Firebase can infer the mimetype
  4257.         var localFileUrl = android.net.Uri.fromFile(new java.io.File(arg.localFile.path));
  4258.         var uploadFileTask = storageReference.putFile(localFileUrl)
  4259.             .addOnFailureListener(onFailureListener)
  4260.             .addOnSuccessListener(onSuccessListener)
  4261.             .addOnProgressListener(onProgressListener);
  4262.  
  4263.         /*
  4264.         var error;
  4265.         var contents = arg.localFile.readSync(function(e) { error = e; });
  4266.  
  4267.         if (error) {
  4268.           reject("Error reading file " + arg.localFile + ": " + error);
  4269.           return;
  4270.         }
  4271.  
  4272.         var uploadDataTask = storageReference.putBytes(contents)
  4273.             .addOnFailureListener(onFailureListener)
  4274.             .addOnSuccessListener(onSuccessListener)
  4275.             .addOnProgressListener(onProgressListener);
  4276.         */
  4277.  
  4278.       } else if (arg.localFullPath) {
  4279.  
  4280.         if (!fs.File.exists(arg.localFullPath)) {
  4281.           reject("File does not exist: " + arg.localFullPath);
  4282.           return;
  4283.         }
  4284.  
  4285.         var localFileUrl = android.net.Uri.fromFile(new java.io.File(arg.localFullPath));
  4286.         var uploadFileTask = storageReference.putFile(localFileUrl)
  4287.             .addOnFailureListener(onFailureListener)
  4288.             .addOnSuccessListener(onSuccessListener)
  4289.             .addOnProgressListener(onProgressListener);
  4290.  
  4291.       } else {
  4292.         reject("One of localFile or localFullPath is required");
  4293.       }
  4294.  
  4295.     } catch (ex) {
  4296.       console.log("Error in firebase.uploadFile: " + ex);
  4297.       reject(ex);
  4298.     }
  4299.   });
  4300. };
  4301.  
  4302. firebase.downloadFile = function (arg) {
  4303.   return new Promise(function (resolve, reject) {
  4304.     try {
  4305.  
  4306.       var storageRef = getStorageRef(reject, arg);
  4307.  
  4308.       if (!storageRef) {
  4309.         return;
  4310.       }
  4311.  
  4312.       var storageReference = storageRef.child(arg.remoteFullPath);
  4313.  
  4314.       var onSuccessListener = new com.google.android.gms.tasks.OnSuccessListener({
  4315.         onSuccess: function(downloadTaskSnapshot) {
  4316.           resolve();
  4317.         }
  4318.       });
  4319.  
  4320.       var onFailureListener = new com.google.android.gms.tasks.OnFailureListener({
  4321.         onFailure: function (exception) {
  4322.           reject("Download failed. " + exception);
  4323.         }
  4324.       });
  4325.  
  4326.       var localFilePath;
  4327.  
  4328.       if (arg.localFile) {
  4329.         if (typeof(arg.localFile) !== "object") {
  4330.           reject("localFile argument must be a File object; use file-system module to create one");
  4331.           return;
  4332.         }
  4333.         localFilePath = arg.localFile.path;
  4334.  
  4335.       } else if (arg.localFullPath) {
  4336.         localFilePath = arg.localFullPath;
  4337.  
  4338.       } else {
  4339.         reject("One of localFile or localFullPath is required");
  4340.         return;
  4341.       }
  4342.  
  4343.       var file = new java.io.File(localFilePath);
  4344.  
  4345.       storageReference.getFile(file)
  4346.           .addOnSuccessListener(onSuccessListener)
  4347.           .addOnFailureListener(onFailureListener);
  4348.  
  4349.     } catch (ex) {
  4350.       console.log("Error in firebase.downloadFile: " + ex);
  4351.       reject(ex);
  4352.     }
  4353.   });
  4354. };
  4355.  
  4356. firebase.getDownloadUrl = function (arg) {
  4357.   return new Promise(function (resolve, reject) {
  4358.     try {
  4359.  
  4360.       var storageRef = getStorageRef(reject, arg);
  4361.  
  4362.       if (!storageRef) {
  4363.         return;
  4364.       }
  4365.  
  4366.       var storageReference = storageRef.child(arg.remoteFullPath);
  4367.  
  4368.       var onSuccessListener = new com.google.android.gms.tasks.OnSuccessListener({
  4369.         onSuccess: function(uri) {
  4370.           resolve(uri.toString());
  4371.         }
  4372.       });
  4373.  
  4374.       var onFailureListener = new com.google.android.gms.tasks.OnFailureListener({
  4375.         onFailure: function (exception) {
  4376.           reject(exception.getMessage());
  4377.         }
  4378.       });
  4379.  
  4380.       storageReference.getDownloadUrl()
  4381.           .addOnSuccessListener(onSuccessListener)
  4382.           .addOnFailureListener(onFailureListener);
  4383.  
  4384.     } catch (ex) {
  4385.       console.log("Error in firebase.getDownloadUrl: " + ex);
  4386.       reject(ex);
  4387.     }
  4388.   });
  4389. };
  4390.  
  4391. firebase.deleteFile = function (arg) {
  4392.   return new Promise(function (resolve, reject) {
  4393.     try {
  4394.  
  4395.       var storageRef = getStorageRef(reject, arg);
  4396.  
  4397.       if (!storageRef) {
  4398.         return;
  4399.       }
  4400.  
  4401.       var storageReference = storageRef.child(arg.remoteFullPath);
  4402.  
  4403.       var onSuccessListener = new com.google.android.gms.tasks.OnSuccessListener({
  4404.         onSuccess: function() {
  4405.           resolve();
  4406.         }
  4407.       });
  4408.  
  4409.       var onFailureListener = new com.google.android.gms.tasks.OnFailureListener({
  4410.         onFailure: function (exception) {
  4411.           reject(exception.getMessage());
  4412.         }
  4413.       });
  4414.  
  4415.       storageReference.delete()
  4416.           .addOnSuccessListener(onSuccessListener)
  4417.           .addOnFailureListener(onFailureListener);
  4418.  
  4419.     } catch (ex) {
  4420.       console.log("Error in firebase.deleteFile: " + ex);
  4421.       reject(ex);
  4422.     }
  4423.   });
  4424. };
  4425.  
  4426. firebase.subscribeToTopic = function(topicName){
  4427.   return new Promise(function (resolve, reject) {
  4428.     try {
  4429.  
  4430.       if (typeof(com.google.firebase.messaging) === "undefined") {
  4431.         reject("Uncomment firebase-messaging in the plugin's include.gradle first");
  4432.         return;
  4433.       }
  4434.  
  4435.       if (firebase.instance === null) {
  4436.         reject("Can be run only after init");
  4437.         return;
  4438.       }
  4439.  
  4440.       com.google.firebase.messaging.FirebaseMessaging.getInstance().subscribeToTopic(topicName);
  4441.       resolve();
  4442.     } catch(ex){
  4443.       console.log("Error in firebase.subscribeToTopic: " + ex);
  4444.       reject(ex);
  4445.     }
  4446.   });
  4447. };
  4448.  
  4449. firebase.unsubscribeFromTopic = function(topicName){
  4450.   return new Promise(function (resolve, reject) {
  4451.     try {
  4452.  
  4453.       if (typeof(com.google.firebase.messaging) === "undefined") {
  4454.         reject("Uncomment firebase-messaging in the plugin's include.gradle first");
  4455.         return;
  4456.       }
  4457.  
  4458.       if (firebase.instance === null) {
  4459.         reject("Can be run only after init");
  4460.         return;
  4461.       }
  4462.  
  4463.       com.google.firebase.messaging.FirebaseMessaging.getInstance().unsubscribeFromTopic(topicName);
  4464.       resolve();
  4465.     } catch(ex){
  4466.       console.log("Error in firebase.unsubscribeFromTopic: " + ex);
  4467.       reject(ex);
  4468.     }
  4469.   });
  4470. };
  4471.  
  4472. firebase.sendCrashLog = function (arg) {
  4473.   return new Promise(function (resolve, reject) {
  4474.     try {
  4475.  
  4476.       if (typeof(com.google.firebase.crash) === "undefined") {
  4477.         reject("Make sure firebase-crash is in the plugin's include.gradle");
  4478.         return;
  4479.       }
  4480.  
  4481.       if (!arg.message) {
  4482.         reject("The mandatory 'message' argument is missing");
  4483.         return;
  4484.       }
  4485.  
  4486.       com.google.firebase.crash.FirebaseCrash.log(arg.message);
  4487.       resolve();
  4488.     } catch (ex) {
  4489.       console.log("Error in firebase.sendCrashLog: " + ex);
  4490.       reject(ex);
  4491.     }
  4492.   });
  4493. };
  4494.  
  4495. firebase.invites.sendInvitation = function (arg) {
  4496.   return new Promise(function (resolve, reject) {
  4497.     try {
  4498.  
  4499.       if (typeof(com.google.android.gms.appinvite) === "undefined") {
  4500.         reject("Make sure firebase-invites is in the plugin's include.gradle");
  4501.         return;
  4502.       }
  4503.  
  4504.       if (!arg.message || !arg.title) {
  4505.         reject("The mandatory 'message' or 'title' argument is missing");
  4506.         return;
  4507.       }
  4508.  
  4509.       var builder = new com.google.android.gms.appinvite.AppInviteInvitation.IntentBuilder(arg.title).setMessage(arg.message);
  4510.  
  4511.       if (arg.deepLink) {
  4512.         builder.setDeepLink(android.net.Uri.parse(arg.deepLink));
  4513.       }
  4514.  
  4515.       if (arg.callToActionText) {
  4516.         builder.setCallToActionText(arg.callToActionText);
  4517.       }
  4518.  
  4519.       if (arg.customImage) {
  4520.         builder.setCustomImage(android.net.Uri.parse(arg.customImage));
  4521.       }
  4522.  
  4523.       if (arg.iosClientID) {
  4524.         builder.setOtherPlatformsTargetApplication(com.google.android.gms.appinvite.AppInviteInvitation.IntentBuilder.PlatformMode.PROJECT_PLATFORM_IOS, arg.iosClientID);
  4525.       }
  4526.  
  4527.       var firebaseInviteIntent = builder.build();
  4528.  
  4529.       appModule.android.foregroundActivity.startActivityForResult(firebaseInviteIntent, REQUEST_INVITE_INTENT_ID);
  4530.  
  4531.       appModule.android.onActivityResult = function (requestCode, resultCode, data) {
  4532.  
  4533.           if (requestCode === REQUEST_INVITE_INTENT_ID) {
  4534.  
  4535.               if (resultCode === android.app.Activity.RESULT_OK) {
  4536.                   // Get the invitation IDs of all sent messages
  4537.                   var ids = com.google.android.gms.appinvite.AppInviteInvitation.getInvitationIds(resultCode, data);
  4538.                  
  4539.                   try {
  4540.                     var invitationIds = firebase.toJsObject(ids);
  4541.                     resolve({
  4542.                       count: ids.length,
  4543.                       invitationIds: invitationIds
  4544.                     });
  4545.                   } catch (e) {
  4546.                     reject(e)
  4547.                   }
  4548.                  
  4549.               } else {
  4550.                   if (resultCode === 3) {
  4551.                     reject("Resultcode 3, see http://stackoverflow.com/questions/37883664/result-code-3-when-implementing-appinvites");
  4552.                   } else {
  4553.                     reject("Resultcode: " + resultCode);
  4554.                   }
  4555.               }
  4556.           }
  4557.         };
  4558.      
  4559.     } catch (ex) {
  4560.       console.log("Error in firebase.sendInvitation: " + ex);
  4561.       reject(ex);
  4562.     }
  4563.   });
  4564. };
  4565.  
  4566. firebase.invites.getInvitation = function () {
  4567.   return new Promise(function (resolve, reject) {
  4568.     try {
  4569.  
  4570.       if (typeof(com.google.android.gms.appinvite) === "undefined") {
  4571.         reject("Make sure firebase-invites is in the plugin's include.gradle");
  4572.         return;
  4573.       }
  4574.  
  4575.       var onConnectionFailedListener = new com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener({
  4576.           onConnectionFailed: function (connectionResult) {
  4577.             reject(connectionResult.getErrorMessage());
  4578.           }
  4579.       });
  4580.  
  4581.       var autoLaunchDeepLink = false;
  4582.       var activity = appModule.android.foregroundActivity;
  4583.  
  4584.       firebase._mGoogleApiClient = new com.google.android.gms.common.api.GoogleApiClient.Builder(com.tns.NativeScriptApplication.getInstance())
  4585.             .addOnConnectionFailedListener(onConnectionFailedListener)
  4586.             .addApi(com.google.android.gms.appinvite.AppInvite.API)
  4587.             .build();
  4588.  
  4589.       firebase._mGoogleApiClient.connect();
  4590.  
  4591.       var getInvitationCallback = new com.google.android.gms.common.api.ResultCallback({
  4592.           onResult: function(result){
  4593.              
  4594.               console.log("getInvitation:onResult:", result.getStatus().isSuccess());
  4595.               if (result.getStatus().isSuccess()) {
  4596.                 // Extract information from the intent
  4597.                 var intent = result.getInvitationIntent();
  4598.  
  4599.                 try {
  4600.                   var deepLink = com.google.android.gms.appinvite.AppInviteReferral.getDeepLink(intent);
  4601.                   var invitationId = com.google.android.gms.appinvite.AppInviteReferral.getInvitationId(intent);
  4602.  
  4603.                   resolve({
  4604.                     deepLink: firebase.toJsObject(deepLink),
  4605.                     invitationId: firebase.toJsObject(invitationId)
  4606.                   });
  4607.  
  4608.                 } catch (e) {
  4609.                   reject(e);
  4610.                 }
  4611.               } else {
  4612.                 reject("Not launched by invitation");
  4613.               }
  4614.             }
  4615.       });
  4616.  
  4617.       com.google.android.gms.appinvite.AppInvite.AppInviteApi.getInvitation(firebase._mGoogleApiClient, activity, autoLaunchDeepLink)
  4618.          .setResultCallback(getInvitationCallback);
  4619.          
  4620.        
  4621.     } catch (ex) {
  4622.       console.log("Error in firebase.getInvitation: " + ex);
  4623.       reject(ex);
  4624.     }
  4625.   });
  4626. };
  4627.  
  4628. module.exports = firebase;
  4629.  
  4630. /***/ }),
  4631. /* 99 */,
  4632. /* 100 */
  4633. /*!**********************************************!*\
  4634.   !*** ./view-models/group-page-view-model.ts ***!
  4635.   \**********************************************/
  4636. /*! no static exports found */
  4637. /*! all exports used */
  4638. /***/ (function(module, exports, __webpack_require__) {
  4639.  
  4640. Object.defineProperty(exports, "__esModule", { value: true });
  4641. var observable = __webpack_require__(/*! data/observable */ 4);
  4642. var paltfrom = __webpack_require__(/*! platform */ 3);
  4643. var GroupPageViewModel = (function (_super) {
  4644.     __extends(GroupPageViewModel, _super);
  4645.     function GroupPageViewModel(group) {
  4646.         var _this = _super.call(this) || this;
  4647.         _this.set("examples", group.examples);
  4648.         _this.set("group", group);
  4649.         _this.set("useListLayout", false);
  4650.         return _this;
  4651.     }
  4652.     GroupPageViewModel.prototype.toggleShowNew = function () {
  4653.         this.set("showOnlyNew", !this.get("showOnlyNew"));
  4654.     };
  4655.     GroupPageViewModel.prototype.toggleWrapLayout = function () {
  4656.         this.set("useListLayout", !this.get("useListLayout"));
  4657.     };
  4658.     Object.defineProperty(GroupPageViewModel.prototype, "screenWidth", {
  4659.         get: function () {
  4660.             return paltfrom.screen.mainScreen.widthDIPs;
  4661.         },
  4662.         enumerable: true,
  4663.         configurable: true
  4664.     });
  4665.     return GroupPageViewModel;
  4666. }(observable.Observable));
  4667. exports.GroupPageViewModel = GroupPageViewModel;
  4668. function capitalize(str) {
  4669.     return str.charAt(0).toUpperCase() + str.slice(1);
  4670. }
  4671.  
  4672.  
  4673. /***/ }),
  4674. /* 101 */,
  4675. /* 102 */,
  4676. /* 103 */,
  4677. /* 104 */,
  4678. /* 105 */,
  4679. /* 106 */,
  4680. /* 107 */,
  4681. /* 108 */,
  4682. /* 109 */,
  4683. /* 110 */,
  4684. /* 111 */,
  4685. /* 112 */,
  4686. /* 113 */,
  4687. /* 114 */,
  4688. /* 115 */,
  4689. /* 116 */,
  4690. /* 117 */,
  4691. /* 118 */,
  4692. /* 119 */,
  4693. /* 120 */,
  4694. /* 121 */,
  4695. /* 122 */,
  4696. /* 123 */,
  4697. /* 124 */,
  4698. /* 125 */,
  4699. /* 126 */,
  4700. /* 127 */,
  4701. /* 128 */,
  4702. /* 129 */,
  4703. /* 130 */,
  4704. /* 131 */,
  4705. /* 132 */,
  4706. /* 133 */,
  4707. /* 134 */,
  4708. /* 135 */,
  4709. /* 136 */,
  4710. /* 137 */,
  4711. /* 138 */,
  4712. /* 139 */
  4713. /*!*************************************************************************************!*\
  4714.   !*** ../node_modules/tns-core-modules/ui/layouts/wrap-layout/wrap-layout-common.js ***!
  4715.   \*************************************************************************************/
  4716. /*! no static exports found */
  4717. /*! all exports used */
  4718. /***/ (function(module, exports, __webpack_require__) {
  4719.  
  4720. function __export(m) {
  4721.     for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
  4722. }
  4723. Object.defineProperty(exports, "__esModule", { value: true });
  4724. var layout_base_1 = __webpack_require__(/*! ../layout-base */ 9);
  4725. __export(__webpack_require__(/*! ../layout-base */ 9));
  4726. var WrapLayoutBase = (function (_super) {
  4727.     __extends(WrapLayoutBase, _super);
  4728.     function WrapLayoutBase() {
  4729.         return _super !== null && _super.apply(this, arguments) || this;
  4730.     }
  4731.     return WrapLayoutBase;
  4732. }(layout_base_1.LayoutBase));
  4733. exports.WrapLayoutBase = WrapLayoutBase;
  4734. WrapLayoutBase.prototype.recycleNativeView = true;
  4735. exports.itemWidthProperty = new layout_base_1.Property({
  4736.     name: "itemWidth", defaultValue: "auto", affectsLayout: layout_base_1.isIOS, valueConverter: function (v) { return layout_base_1.Length.parse(v); },
  4737.     valueChanged: function (target, oldValue, newValue) { return target.effectiveItemWidth = layout_base_1.Length.toDevicePixels(newValue, -1); }
  4738. });
  4739. exports.itemWidthProperty.register(WrapLayoutBase);
  4740. exports.itemHeightProperty = new layout_base_1.Property({
  4741.     name: "itemHeight", defaultValue: "auto", affectsLayout: layout_base_1.isIOS, valueConverter: function (v) { return layout_base_1.Length.parse(v); },
  4742.     valueChanged: function (target, oldValue, newValue) { return target.effectiveItemHeight = layout_base_1.Length.toDevicePixels(newValue, -1); }
  4743. });
  4744. exports.itemHeightProperty.register(WrapLayoutBase);
  4745. var converter = layout_base_1.makeParser(layout_base_1.makeValidator("horizontal", "vertical"));
  4746. exports.orientationProperty = new layout_base_1.Property({ name: "orientation", defaultValue: "horizontal", affectsLayout: layout_base_1.isIOS, valueConverter: converter });
  4747. exports.orientationProperty.register(WrapLayoutBase);
  4748. //# sourceMappingURL=wrap-layout-common.js.map
  4749.  
  4750. /***/ }),
  4751. /* 140 */,
  4752. /* 141 */,
  4753. /* 142 */,
  4754. /* 143 */,
  4755. /* 144 */,
  4756. /* 145 */,
  4757. /* 146 */
  4758. /*!*************************!*\
  4759.   !*** ./main.android.ts ***!
  4760.   \*************************/
  4761. /*! no static exports found */
  4762. /*! all exports used */
  4763. /***/ (function(module, exports, __webpack_require__) {
  4764.  
  4765. Object.defineProperty(exports, "__esModule", { value: true });
  4766. __webpack_require__(/*! ./bundle-modules */ 147);
  4767. __webpack_require__(/*! ./main-common */ 365);
  4768. function staticAssets() {
  4769.     __webpack_require__(/*! file-loader!./ */ 366);
  4770. }
  4771. exports.staticAssets = staticAssets;
  4772.  
  4773.  
  4774. /***/ }),
  4775. /* 147 */
  4776. /*!***************************!*\
  4777.   !*** ./bundle-modules.ts ***!
  4778.   \***************************/
  4779. /*! no static exports found */
  4780. /*! all exports used */
  4781. /***/ (function(module, exports, __webpack_require__) {
  4782.  
  4783. if (true) {
  4784.     global.registerModule("examples/chart/area-series", function () { return __webpack_require__(/*! ./examples/chart/area-series */ 148); });
  4785.     global.registerModule("examples/chart/bar-series", function () { return __webpack_require__(/*! ./examples/chart/bar-series */ 189); });
  4786.     global.registerModule("examples/chart/line-series", function () { return __webpack_require__(/*! ./examples/chart/line-series */ 190); });
  4787.     global.registerModule("examples/chart/pie-series", function () { return __webpack_require__(/*! ./examples/chart/pie-series */ 191); });
  4788.     global.registerModule("examples/chart/view-model", function () { return __webpack_require__(/*! ./examples/chart/view-model */ 26); });
  4789.     global.registerModule("examples/conference-agenda/conference-agenda-example", function () { return __webpack_require__(/*! ./examples/conference-agenda/conference-agenda-example */ 192); });
  4790.     global.registerModule("examples/conference-agenda/conference-view-model", function () { return __webpack_require__(/*! ./examples/conference-agenda/conference-view-model */ 88); });
  4791.     global.registerModule("examples/dataform/reservations-list-page", function () { return __webpack_require__(/*! ./examples/dataform/reservations-list-page */ 194); });
  4792.     global.registerModule("examples/dataform/reservations-edit-page", function () { return __webpack_require__(/*! ./examples/dataform/reservations-edit-page */ 196); });
  4793.     global.registerModule("examples/example-base-page", function () { return __webpack_require__(/*! ./examples/example-base-page */ 197); });
  4794.     global.registerModule("examples/example-menu", function () { return __webpack_require__(/*! ./examples/example-menu */ 93); });
  4795.     global.registerModule("examples/layouts/layouts-example", function () { return __webpack_require__(/*! ./examples/layouts/layouts-example */ 198); });
  4796.     global.registerModule("examples/listview/layouts/layouts-view-model", function () { return __webpack_require__(/*! ./examples/listview/layouts/layouts-view-model */ 94); });
  4797.     global.registerModule("examples/listview/layouts/listview-layouts", function () { return __webpack_require__(/*! ./examples/listview/layouts/listview-layouts */ 199); });
  4798.     global.registerModule("examples/listview/reorder/listview-reorder-model", function () { return __webpack_require__(/*! ./examples/listview/reorder/listview-reorder-model */ 96); });
  4799.     global.registerModule("examples/listview/reorder/listview-reorder", function () { return __webpack_require__(/*! ./examples/listview/reorder/listview-reorder */ 201); });
  4800.     global.registerModule("examples/listview/selection/detail-page", function () { return __webpack_require__(/*! ./examples/listview/selection/detail-page */ 202); });
  4801.     global.registerModule("examples/listview/selection/main-page", function () { return __webpack_require__(/*! ./examples/listview/selection/main-page */ 203); });
  4802.     global.registerModule("examples/listview/selection/selection-view-model", function () { return __webpack_require__(/*! ./examples/listview/selection/selection-view-model */ 97); });
  4803.     global.registerModule("examples/user-profile/user-profile-example", function () { return __webpack_require__(/*! ./examples/user-profile/user-profile-example */ 204); });
  4804.     global.registerModule("views/what-is-new", function () { return __webpack_require__(/*! ./views/what-is-new */ 205); });
  4805.     global.registerModule("views/about/about", function () { return __webpack_require__(/*! ./views/about/about */ 207); });
  4806.     global.registerModule("views/code-page", function () { return __webpack_require__(/*! ./views/code-page */ 208); });
  4807.     global.registerModule("views/example-info-page", function () { return __webpack_require__(/*! ./views/example-info-page */ 341); });
  4808.     global.registerModule("views/group-info-page", function () { return __webpack_require__(/*! ./views/group-info-page */ 342); });
  4809.     global.registerModule("views/group-page/group-page", function () { return __webpack_require__(/*! ./views/group-page/group-page */ 343); });
  4810.     global.registerModule("views/main-page/main-page", function () { return __webpack_require__(/*! ./views/main-page/main-page */ 344); });
  4811.     global.registerModule("views/side-drawer-content/side-drawer-content", function () { return __webpack_require__(/*! ./views/side-drawer-content/side-drawer-content */ 346); });
  4812.     global.registerModule("ui/page", function () { return __webpack_require__(/*! ui/page */ 53); });
  4813.     global.registerModule("ui/action-bar", function () { return __webpack_require__(/*! ui/action-bar */ 34); });
  4814.     global.registerModule("ui/layouts/absolute-layout", function () { return __webpack_require__(/*! ui/layouts/absolute-layout */ 101); });
  4815.     global.registerModule("ui/activity-indicator", function () { return __webpack_require__(/*! ui/activity-indicator */ 103); });
  4816.     global.registerModule("ui/border", function () { return __webpack_require__(/*! ui/border */ 105); });
  4817.     global.registerModule("ui/button", function () { return __webpack_require__(/*! ui/button */ 45); });
  4818.     global.registerModule("ui/content-view", function () { return __webpack_require__(/*! ui/content-view */ 21); });
  4819.     global.registerModule("ui/date-picker", function () { return __webpack_require__(/*! ui/date-picker */ 106); });
  4820.     global.registerModule("ui/layouts/dock-layout", function () { return __webpack_require__(/*! ui/layouts/dock-layout */ 108); });
  4821.     global.registerModule("ui/layouts/grid-layout", function () { return __webpack_require__(/*! ui/layouts/grid-layout */ 28); });
  4822.     global.registerModule("ui/html-view", function () { return __webpack_require__(/*! ui/html-view */ 110); });
  4823.     global.registerModule("ui/image", function () { return __webpack_require__(/*! ui/image */ 112); });
  4824.     global.registerModule("ui/label", function () { return __webpack_require__(/*! ui/label */ 22); });
  4825.     global.registerModule("ui/list-picker", function () { return __webpack_require__(/*! ui/list-picker */ 114); });
  4826.     global.registerModule("ui/list-view", function () { return __webpack_require__(/*! ui/list-view */ 116); });
  4827.     global.registerModule("ui/placeholder", function () { return __webpack_require__(/*! ui/placeholder */ 118); });
  4828.     global.registerModule("ui/progress", function () { return __webpack_require__(/*! ui/progress */ 119); });
  4829.     global.registerModule("ui/proxy-view-container", function () { return __webpack_require__(/*! ui/proxy-view-container */ 37); });
  4830.     global.registerModule("ui/repeater", function () { return __webpack_require__(/*! ui/repeater */ 121); });
  4831.     global.registerModule("ui/scroll-view", function () { return __webpack_require__(/*! ui/scroll-view */ 122); });
  4832.     global.registerModule("ui/search-bar", function () { return __webpack_require__(/*! ui/search-bar */ 124); });
  4833.     global.registerModule("ui/segmented-bar", function () { return __webpack_require__(/*! ui/segmented-bar */ 126); });
  4834.     global.registerModule("ui/slider", function () { return __webpack_require__(/*! ui/slider */ 128); });
  4835.     global.registerModule("ui/layouts/stack-layout", function () { return __webpack_require__(/*! ui/layouts/stack-layout */ 23); });
  4836.     global.registerModule("ui/switch", function () { return __webpack_require__(/*! ui/switch */ 130); });
  4837.     global.registerModule("ui/tab-view", function () { return __webpack_require__(/*! ui/tab-view */ 132); });
  4838.     global.registerModule("ui/text-field", function () { return __webpack_require__(/*! ui/text-field */ 48); });
  4839.     global.registerModule("ui/text-view", function () { return __webpack_require__(/*! ui/text-view */ 134); });
  4840.     global.registerModule("ui/time-picker", function () { return __webpack_require__(/*! ui/time-picker */ 135); });
  4841.     global.registerModule("ui/web-view", function () { return __webpack_require__(/*! ui/web-view */ 137); });
  4842.     global.registerModule("ui/layouts/wrap-layout", function () { return __webpack_require__(/*! ui/layouts/wrap-layout */ 349); });
  4843.     global.registerModule("text/formatted-string", function () { return __webpack_require__(/*! text/formatted-string */ 46); });
  4844.     global.registerModule("text/span", function () { return __webpack_require__(/*! text/span */ 47); });
  4845.     global.registerModule("ui/proxy-view-container", function () { return __webpack_require__(/*! ui/proxy-view-container */ 37); });
  4846.     global.registerModule("nativescript-telerik-ui-pro/sidedrawer", function () { return __webpack_require__(/*! nativescript-telerik-ui-pro/sidedrawer */ 140); });
  4847.     global.registerModule("nativescript-telerik-ui-pro/chart", function () { return __webpack_require__(/*! nativescript-telerik-ui-pro/chart */ 56); });
  4848.     global.registerModule("nativescript-telerik-ui-pro/listview", function () { return __webpack_require__(/*! nativescript-telerik-ui-pro/listview */ 54); });
  4849.     global.registerModule("nativescript-telerik-ui-pro/dataform", function () { return __webpack_require__(/*! nativescript-telerik-ui-pro/dataform */ 144); });
  4850.     global.registerModule("nativescript-fresco/nativescript-fresco", function () { return __webpack_require__(/*! nativescript-fresco/nativescript-fresco */ 363); });
  4851. }
  4852.  
  4853.  
  4854. /***/ }),
  4855. /* 148 */
  4856. /*!***************************************!*\
  4857.   !*** ./examples/chart/area-series.ts ***!
  4858.   \***************************************/
  4859. /*! no static exports found */
  4860. /*! all exports used */
  4861. /***/ (function(module, exports, __webpack_require__) {
  4862.  
  4863. Object.defineProperty(exports, "__esModule", { value: true });
  4864. var utils = __webpack_require__(/*! utils/utils */ 1);
  4865. var models = __webpack_require__(/*! ./view-model */ 26);
  4866. var frame = __webpack_require__(/*! ui/frame */ 7);
  4867. var app = __webpack_require__(/*! application */ 2);
  4868. var navigator = __webpack_require__(/*! ../../common/navigator */ 5);
  4869. function rootGridLoaded(args) {
  4870.     var grid = args.object;
  4871.     if (grid.android) {
  4872.         var compat = android.support.v4.view.ViewCompat;
  4873.         if (compat.setElevation) {
  4874.             // Fix for the elevation glitch of the tab-view
  4875.             compat.setElevation(grid.android, 4 * utils.layout.getDisplayDensity());
  4876.         }
  4877.     }
  4878. }
  4879. exports.rootGridLoaded = rootGridLoaded;
  4880. function loadItem(page, item) {
  4881.     var dataModel = page.bindingContext;
  4882.     dataModel.loadGalleryFragment(item, page.getViewById("exampleHolder"), "~/examples/chart/area", item.exampleXml);
  4883.     var cartesianChart = page.getViewById("chart");
  4884.     if (app.android) {
  4885.         cartesianChart.horizontalAxis.android.setLabelFitMode(com.telerik.widget.chart.engine.axes.common.AxisLabelFitMode.MULTI_LINE);
  4886.     }
  4887. }
  4888. var dataModel = new models.ChartExamplesDataModel(true);
  4889. function pageNavigatingTo(args) {
  4890.     var page = args.object;
  4891.     page.bindingContext = dataModel;
  4892.     var itemToLoad = dataModel.areaTypes[0];
  4893.     loadItem(page, itemToLoad);
  4894. }
  4895. exports.pageNavigatingTo = pageNavigatingTo;
  4896. function pageNavigatingFrom(args) {
  4897.     var page = args.object;
  4898.     page.bindingContext.clearCache();
  4899. }
  4900. exports.pageNavigatingFrom = pageNavigatingFrom;
  4901. function scrollViewLoaded(args) {
  4902.     if (args.object.android) {
  4903.         args.object.android.setHorizontalScrollBarEnabled(false);
  4904.     }
  4905. }
  4906. exports.scrollViewLoaded = scrollViewLoaded;
  4907. function repeaterItemTap(args) {
  4908.     var item = args.view.bindingContext;
  4909.     var page = frame.topmost().currentPage;
  4910.     loadItem(page, item);
  4911. }
  4912. exports.repeaterItemTap = repeaterItemTap;
  4913. function goBack(args) {
  4914.     navigator.navigateBackFromExample();
  4915. }
  4916. exports.goBack = goBack;
  4917.  
  4918.  
  4919. /***/ }),
  4920. /* 149 */,
  4921. /* 150 */,
  4922. /* 151 */,
  4923. /* 152 */,
  4924. /* 153 */,
  4925. /* 154 */,
  4926. /* 155 */,
  4927. /* 156 */,
  4928. /* 157 */,
  4929. /* 158 */,
  4930. /* 159 */,
  4931. /* 160 */,
  4932. /* 161 */,
  4933. /* 162 */,
  4934. /* 163 */,
  4935. /* 164 */,
  4936. /* 165 */,
  4937. /* 166 */,
  4938. /* 167 */,
  4939. /* 168 */,
  4940. /* 169 */,
  4941. /* 170 */,
  4942. /* 171 */,
  4943. /* 172 */,
  4944. /* 173 */,
  4945. /* 174 */,
  4946. /* 175 */,
  4947. /* 176 */,
  4948. /* 177 */,
  4949. /* 178 */,
  4950. /* 179 */
  4951. /*!*****************************************************!*\
  4952.   !*** ./view-models/example-info-page-view-model.ts ***!
  4953.   \*****************************************************/
  4954. /*! no static exports found */
  4955. /*! all exports used */
  4956. /***/ (function(module, exports, __webpack_require__) {
  4957.  
  4958. Object.defineProperty(exports, "__esModule", { value: true });
  4959. var observable = __webpack_require__(/*! data/observable */ 4);
  4960. var ExampleViewModel = (function (_super) {
  4961.     __extends(ExampleViewModel, _super);
  4962.     function ExampleViewModel(_example) {
  4963.         var _this = _super.call(this) || this;
  4964.         _this._example = _example;
  4965.         return _this;
  4966.     }
  4967.     Object.defineProperty(ExampleViewModel.prototype, "title", {
  4968.         get: function () {
  4969.             return this._example.title;
  4970.         },
  4971.         enumerable: true,
  4972.         configurable: true
  4973.     });
  4974.     Object.defineProperty(ExampleViewModel.prototype, "info", {
  4975.         get: function () {
  4976.             return this._example.info;
  4977.         },
  4978.         enumerable: true,
  4979.         configurable: true
  4980.     });
  4981.     Object.defineProperty(ExampleViewModel.prototype, "image", {
  4982.         get: function () {
  4983.             return this._example.image;
  4984.         },
  4985.         enumerable: true,
  4986.         configurable: true
  4987.     });
  4988.     Object.defineProperty(ExampleViewModel.prototype, "isFeatured", {
  4989.         get: function () {
  4990.             return this._example.isFeatured;
  4991.         },
  4992.         enumerable: true,
  4993.         configurable: true
  4994.     });
  4995.     Object.defineProperty(ExampleViewModel.prototype, "isNew", {
  4996.         get: function () {
  4997.             return this._example.isNew;
  4998.         },
  4999.         enumerable: true,
  5000.         configurable: true
  5001.     });
  5002.     Object.defineProperty(ExampleViewModel.prototype, "path", {
  5003.         get: function () {
  5004.             return this._example.path;
  5005.         },
  5006.         enumerable: true,
  5007.         configurable: true
  5008.     });
  5009.     Object.defineProperty(ExampleViewModel.prototype, "group", {
  5010.         get: function () {
  5011.             return this._example.group;
  5012.         },
  5013.         enumerable: true,
  5014.         configurable: true
  5015.     });
  5016.     Object.defineProperty(ExampleViewModel.prototype, "controls", {
  5017.         get: function () {
  5018.             return this._example.controls;
  5019.         },
  5020.         enumerable: true,
  5021.         configurable: true
  5022.     });
  5023.     Object.defineProperty(ExampleViewModel.prototype, "example", {
  5024.         get: function () {
  5025.             return this._example;
  5026.         },
  5027.         enumerable: true,
  5028.         configurable: true
  5029.     });
  5030.     return ExampleViewModel;
  5031. }(observable.Observable));
  5032. exports.ExampleViewModel = ExampleViewModel;
  5033. var ExampleInfoPageViewModel = (function (_super) {
  5034.     __extends(ExampleInfoPageViewModel, _super);
  5035.     function ExampleInfoPageViewModel(example) {
  5036.         var _this = _super.call(this) || this;
  5037.         if (!example) {
  5038.             throw new Error("Cannot create view model with no example");
  5039.         }
  5040.         var examplesWrappers = example.group.examples.map(function (e) {
  5041.             var exVM = new ExampleViewModel(e);
  5042.             if (e === example) {
  5043.                 _this._currentExample = exVM;
  5044.             }
  5045.             return exVM;
  5046.         });
  5047.         _this._examples = examplesWrappers;
  5048.         _this._group = example.group;
  5049.         return _this;
  5050.     }
  5051.     Object.defineProperty(ExampleInfoPageViewModel.prototype, "examples", {
  5052.         get: function () {
  5053.             return this._examples;
  5054.         },
  5055.         enumerable: true,
  5056.         configurable: true
  5057.     });
  5058.     Object.defineProperty(ExampleInfoPageViewModel.prototype, "group", {
  5059.         get: function () {
  5060.             return this._group;
  5061.         },
  5062.         enumerable: true,
  5063.         configurable: true
  5064.     });
  5065.     Object.defineProperty(ExampleInfoPageViewModel.prototype, "currentExample", {
  5066.         get: function () {
  5067.             return this._currentExample;
  5068.         },
  5069.         set: function (value) {
  5070.             if (value !== this._currentExample) {
  5071.                 this._currentExample = value;
  5072.                 this.notifyPropertyChange("currentExample", value);
  5073.             }
  5074.         },
  5075.         enumerable: true,
  5076.         configurable: true
  5077.     });
  5078.     return ExampleInfoPageViewModel;
  5079. }(observable.Observable));
  5080. exports.ExampleInfoPageViewModel = ExampleInfoPageViewModel;
  5081.  
  5082.  
  5083. /***/ }),
  5084. /* 180 */
  5085. /*!***********************************************************************!*\
  5086.   !*** ../node_modules/nativescript-telerik-analytics/common/common.js ***!
  5087.   \***********************************************************************/
  5088. /*! no static exports found */
  5089. /*! all exports used */
  5090. /***/ (function(module, exports, __webpack_require__) {
  5091.  
  5092. "use strict";
  5093.  
  5094.  
  5095. (function(global) {
  5096.     var _private = global._private = global._private || { };
  5097.  
  5098.     var Analytics = { },
  5099.         dateTime = null,
  5100.         tools = null;
  5101.  
  5102.     if (true) {
  5103.         if (typeof module !== 'undefined' && module.exports) {
  5104.             exports = module.exports = Analytics;
  5105.         }
  5106.         exports._ta = Analytics;
  5107.         var DateTime = __webpack_require__(/*! ./datetime */ 52);
  5108.         dateTime = new DateTime();
  5109.         var Tools = __webpack_require__(/*! ./tools */ 27);
  5110.         tools = new Tools();
  5111.     } else {
  5112.         if (global._ta) {
  5113.             Analytics = global._ta;
  5114.         }
  5115.         global._ta = Analytics;
  5116.         dateTime = new _private.DateTime();
  5117.         tools = new _private.Tools();
  5118.     }
  5119.  
  5120.     var protocolVersion = tools.getProtocolVersion(),
  5121.         initialized = false,
  5122.         started = false,
  5123.         requestsQueue = [],
  5124.         eventsQueue = { events: [] },
  5125.         settings = null,
  5126.         eventSequence = 0,
  5127.         payloadSequence = -1,
  5128.         sessionId = null,
  5129.         startTime = null,
  5130.         unixStartTime = null,
  5131.         timings = { },
  5132.         tracker = null,
  5133.         lastEvents = [],
  5134.         originalSendInterval,
  5135.         failedRequests = 0;
  5136.  
  5137.     Analytics.initBase = function(options) {
  5138.         if (options.logger) {
  5139.             tools.logger = options.logger;
  5140.         }
  5141.  
  5142.         if (initialized) {
  5143.             tools.logger.info('The monitor is already initialized');
  5144.             return;
  5145.         }
  5146.  
  5147.         settings = options;
  5148.         requestsQueue = settings.store.getRequestsQueueSync();
  5149.  
  5150.         initialized = true;
  5151.         tools.logger.info('Successfully initialized monitor with settings', options);
  5152.  
  5153.         originalSendInterval = options.sendInterval;
  5154.         ensureAsyncQ();
  5155.         process();
  5156.     };
  5157.  
  5158.     Analytics.reset = function() {
  5159.         if (!initialized) {
  5160.             tools.logger.info('The monitor is not initialized. Call init() first');
  5161.             return;
  5162.         }
  5163.  
  5164.         initialized = false;
  5165.     };
  5166.  
  5167.     /**
  5168.      * Returns if a session is currently running and accepting tracking events
  5169.      */
  5170.     Analytics.isSessionRunning = function() {
  5171.         return started === true;
  5172.     };
  5173.  
  5174.     /**
  5175.      * Starts a new Analytics session. When started the monitor will begin collecting data from the calls
  5176.      * and send them asynchronously to the Telerik Analytics servers. Prior to starting a new session, the
  5177.      * _ta.init method should be called
  5178.      */
  5179.     Analytics.start = function() {
  5180.         startSessionInternal(false);
  5181.     };
  5182.  
  5183.     function startSessionInternal(forceNew) {
  5184.         if (!initialized || started) {
  5185.             tools.logger.info('The monitor is not initialized or is already started');
  5186.             return;
  5187.         }
  5188.  
  5189.         eventSequence = 0;
  5190.         payloadSequence = -1;
  5191.         lastEvents = [];
  5192.  
  5193.         startTime = dateTime.getISO8601LocalDate();
  5194.         unixStartTime = dateTime.getUnixTimestamp();
  5195.         var startEvent = {
  5196.             name: '$Start',
  5197.             'is': 'event',
  5198.             at: getTimestamp()
  5199.         };
  5200.  
  5201.         settings.internalEvents.clear();
  5202.         sessionId = generateUUID();
  5203.  
  5204.         started = true;
  5205.  
  5206.         eventsQueue = { events: [] };
  5207.         tracker = new UniquenessTracker();
  5208.         tracker.start();
  5209.  
  5210.         if (typeof settings.store.loadSession === 'function' && forceNew !== true) {
  5211.             var data = settings.store.loadSession();
  5212.             if (data != null && data.isExpired === false) {
  5213.                 sessionId = data.sessionId;
  5214.                 eventSequence = data.eventSequence;
  5215.                 payloadSequence = data.payloadSequence;
  5216.                 startTime = data.startTime;
  5217.                 unixStartTime = data.unixStartTime;
  5218.  
  5219.                 tools.logger.info('Reusing existing session: ' + sessionId);
  5220.                 return;
  5221.             }
  5222.         }
  5223.  
  5224.         lastEvents.push({
  5225.             name: startEvent.name,
  5226.             at: startEvent.at
  5227.         });
  5228.  
  5229.         var mask = safelyInvoke('track', function() { return tracker.track(startEvent.name); }, 0);
  5230.         if (mask != 0) {
  5231.             startEvent.umask = mask;
  5232.         }
  5233.  
  5234.         var sessionData = createEnvelope();
  5235.         sessionData.events = [ startEvent ];
  5236.  
  5237.         var device = getDevice();
  5238.         sessionData.session.common = {
  5239.             deviceId: device.deviceId,
  5240.             startnumber: device.totalSessions,
  5241.             environment: safelyInvoke('collectEnvInfo', settings.environment.collect)
  5242.         };
  5243.  
  5244.         if (tools.isDefinedAndNotNull(settings.sessionProperties)) {
  5245.             sessionData.session.common.properties = tools.sanitizeProperties(settings.sessionProperties);
  5246.         }
  5247.  
  5248.         try {
  5249.             addToRequestsQueueSync(sessionData);
  5250.         } catch (e) {
  5251.             tools.logger.error('Unable to start new session', e);
  5252.             settings.internalEvents.trackError('sessionStart', e);
  5253.         }
  5254.  
  5255.         tools.logger.info('Started new session with id ' + sessionId + ' and device id ' + device.deviceId);
  5256.     }
  5257.     /**
  5258.      * Registers a feature usage. It is recommended that related features are grouped by using simple dot-notation in
  5259.      * the name such as e.g. relating print to pdf and print to file by naming the features "print.pdf" and "print.file" respectively
  5260.      * @param {string} name The name of the feature. If it is null or empty the request is ignored.
  5261.      * @param {object} [properties] A set of key-value strings to associate with this particular event occurrence
  5262.      * @example
  5263.      * The following shows an example of how you can track features in your application:
  5264.      * _ta.trackEvent('Printing.PDF', {
  5265.      *     length: '15',
  5266.      *     author: 'Example Author'
  5267.      * });
  5268.      */
  5269.     Analytics.trackEvent = function(name, properties) {
  5270.         if (!initialized || !started) {
  5271.             tools.logger.info('Unable to track event because a session is not started. Call the start() method first');
  5272.             return;
  5273.         }
  5274.  
  5275.         checkAndRenewExistingSession();
  5276.  
  5277.         name = getEventName(name);
  5278.         if (!name) {
  5279.             return;
  5280.         }
  5281.  
  5282.         var data = {
  5283.             name: name,
  5284.             'is': 'event',
  5285.             at: getTimestamp()
  5286.         };
  5287.  
  5288.         var mask = safelyInvoke('track', function() { return tracker.track(name); }, 0);
  5289.         if (mask != 0) {
  5290.             data.umask = mask;
  5291.         }
  5292.  
  5293.         if (tools.isDefinedAndNotNull(properties)) {
  5294.             data.properties = tools.sanitizeProperties(properties);
  5295.         }
  5296.  
  5297.         addEvent(data, true);
  5298.     };
  5299.  
  5300.     /**
  5301.      * Register a value on a specific feature. While calls to trackEvent increments the use of a feature in the session a call to
  5302.      * this methods will associate a given value with a named feature. Use this method to e.g. track the distribution
  5303.      * of file sizes imported or the number of results registered. Tracking this distribution across all your application
  5304.      * usage will give insights to what scenarios your applications are handling
  5305.      * @param {string} name The name of the feature. If it is null or empty the request is ignored
  5306.      * @param {integer} value The value to track
  5307.      * @param {object} [properties] A set of key-value strings to associate with this particular event occurrence
  5308.      * @example
  5309.      * The following shows an example of how you can track feature values in your application:
  5310.      * _ta.trackValue('SomeClass.FilesProcessed', 152, {
  5311.      *     processor: 'some processor name',
  5312.      *     fileMask: 'file mask'
  5313.      * });
  5314.      */
  5315.     Analytics.trackValue = function(name, value, properties) {
  5316.         if (!initialized || !started) {
  5317.             tools.logger.info('Unable to track value because a session is not started. Call the start() method first');
  5318.             return;
  5319.         }
  5320.  
  5321.         checkAndRenewExistingSession();
  5322.  
  5323.         if (!tools.isNumber(value)) {
  5324.             tools.logger.info('Unable to track value because the provided parameter must be a valid integer');
  5325.             return;
  5326.         }
  5327.  
  5328.         name = getEventName(name);
  5329.         if (!name) {
  5330.             return;
  5331.         }
  5332.  
  5333.         var data = {
  5334.             name: name,
  5335.             'is': 'value',
  5336.             at: getTimestamp(),
  5337.             value: value
  5338.         };
  5339.  
  5340.         if (tools.isDefinedAndNotNull(properties)) {
  5341.             data.properties = tools.sanitizeProperties(properties);
  5342.         }
  5343.  
  5344.         addEvent(data, false);
  5345.     };
  5346.  
  5347.     /**
  5348.      * Call to track an exception that occured in the application.
  5349.      * @param {object} e The exception to be tracked. It should represent either a javascript Error instance or could be any
  5350.      * object with name, message and stack properties
  5351.      * @param {string} [context] Contextual information about the action being performed when the exception occurred
  5352.      * @example
  5353.      * An example of tracking an exception:
  5354.      * try {
  5355.      *     someOperation();
  5356.      * } catch (e) {
  5357.      *     _ta.trackException(e, 'Some additional context information');
  5358.      * }
  5359.      */
  5360.     Analytics.trackException = function(e, context, persistNow) {
  5361.         if (!initialized || !started) {
  5362.             tools.logger.info('Unable to track error because a session is not started. Call the start() method first');
  5363.             return;
  5364.         }
  5365.  
  5366.         checkAndRenewExistingSession();
  5367.  
  5368.         if (!tools.isDefinedAndNotNull(e)) {
  5369.             tools.logger.info('Unable to track error because the provided error object was undefined');
  5370.             return;
  5371.         }
  5372.  
  5373.         var data = {
  5374.             at: getTimestamp()
  5375.         };
  5376.  
  5377.         var nameAndStack = '';
  5378.         if (tools.isDefinedAndNotNull(e.name)) {
  5379.             data.type = e.name;
  5380.             nameAndStack = e.name;
  5381.         }
  5382.  
  5383.         if (tools.isDefinedAndNotNull(e.message)) {
  5384.             data.message = e.message;
  5385.         }
  5386.  
  5387.         var stack = tools.getFormattedStackTrace(e);
  5388.         if (tools.isDefinedAndNotNull(stack)) {
  5389.             data.stack = stack;
  5390.             nameAndStack += stack;
  5391.         }
  5392.  
  5393.         if (tools.isDefinedAndNotNull(context)) {
  5394.             data.context = context;
  5395.         }
  5396.  
  5397.         if (!data.type && !data.message && !data.stack && !data.context) {
  5398.             tools.logger.info('Unable to track error - the error object must have at least one of the following properties: type, message, stack, context');
  5399.             return;
  5400.         }
  5401.  
  5402.         if (nameAndStack !== '') {
  5403.             var hash = '$X' + getHashCode(nameAndStack);
  5404.             var mask = safelyInvoke('track', function() { return tracker.track(hash); }, 0);
  5405.             if (mask != 0) {
  5406.                 data.umask = mask;
  5407.             }
  5408.         }
  5409.  
  5410.         eventsQueue.errors = eventsQueue.errors || [];
  5411.         eventsQueue.errors.push(data);
  5412.  
  5413.         if (persistNow === true) {
  5414.             try {
  5415.                 var sessionData = getSessionDataFromEventsQueue();
  5416.                 addToRequestsQueueSync(sessionData);
  5417.             } catch (e) {
  5418.                 tools.logger.error('Unable to persist the requests queue', e);
  5419.                 settings.internalEvents.trackError('trackException', e);
  5420.             }
  5421.         }
  5422.     };
  5423.  
  5424.     /**
  5425.      * Starts a named timer for timing some operation.
  5426.      * @param {string} name The name of the timing. If it is null or empty the request is ignored
  5427.      * @returns {TimingScope} A TimingScope instance that is used for stopping or cancelling the timing
  5428.      * @example
  5429.      * The following example illustrates how to track some timing event:
  5430.      * var timing = _ta.trackTimingStart('MyTiming');
  5431.      * setTimeout(function() {
  5432.      *     timing.stop({
  5433.      *         key1: 'value 1',
  5434.      *         key2: 'value 2'
  5435.      *     });
  5436.      * }, 200);
  5437.      */
  5438.     Analytics.trackTimingStart = function(name) {
  5439.         if (!initialized || !started) {
  5440.             tools.logger.info('Unable to start timer because a session is not started. Call the start() method first');
  5441.             return;
  5442.         }
  5443.  
  5444.         checkAndRenewExistingSession();
  5445.  
  5446.         name = getEventName(name);
  5447.         if (!name) {
  5448.             return;
  5449.         }
  5450.  
  5451.         eventsQueue.events.push({
  5452.             name: '$TimingStart.' + name,
  5453.             at: getTimestamp()
  5454.         });
  5455.  
  5456.         return new Analytics.TimingScope(name, timings);
  5457.     };
  5458.  
  5459.     /**
  5460.      * Register the elapse of some operation.
  5461.      * @param {string} name The name of the timing. If it is null or empty the request is ignored
  5462.      * @param {integer} elapsed The elapsed time in milliseconds
  5463.      * @param {object} [properties] A set of key-value strings to associate with this particular event occurrence
  5464.      * @example
  5465.      * The following example illustrates how to track some timing event:
  5466.      * _ta.trackTimingRaw('MyTiming', 1426, {
  5467.      *     key1: 'value 1',
  5468.      *     key2: 'value 2'
  5469.      * });
  5470.      */
  5471.     Analytics.trackTimingRaw = function(name, elapsed, properties, shouldEscape) {
  5472.         if (!initialized || !started) {
  5473.             tools.logger.info('Unable to track timing because a session is not started. Call the start() method first');
  5474.             return;
  5475.         }
  5476.  
  5477.         checkAndRenewExistingSession();
  5478.  
  5479.         if (!tools.isNumber(elapsed)) {
  5480.             tools.logger.info('Unable to track timing because the provided elapsed time is not a valid integer');
  5481.             return;
  5482.         }
  5483.  
  5484.         name = getEventName(name, shouldEscape);
  5485.         if (!name) {
  5486.             return;
  5487.         }
  5488.  
  5489.         var data = {
  5490.             name: name,
  5491.             'is': 'timing',
  5492.             elapsed: elapsed,
  5493.             at: getTimestamp()
  5494.         };
  5495.  
  5496.         if (tools.isDefinedAndNotNull(properties)) {
  5497.             data.properties = tools.sanitizeProperties(properties);
  5498.         }
  5499.  
  5500.         addEvent(data, false);
  5501.     };
  5502.  
  5503.     /**
  5504.      * Call to stop the active session.
  5505.      */
  5506.     Analytics.stop = function(reason) {
  5507.         if (!initialized || !started) {
  5508.             tools.logger.info('Unable to stop a session because no session is started. Call start() first.');
  5509.             return;
  5510.         }
  5511.  
  5512.         started = false;
  5513.  
  5514.         var sessionData = getSessionDataFromEventsQueue() || createEnvelope();
  5515.         sessionData.session.stop = true;
  5516.  
  5517.         var stopEvent = {
  5518.             name: reason || '$Stop.Stop',
  5519.             'is': 'event',
  5520.             at: getTimestamp()
  5521.         };
  5522.  
  5523.         var mask = safelyInvoke('track', function() { return tracker.track(stopEvent.name); }, 0);
  5524.         if (mask != 0) {
  5525.             stopEvent.umask = mask;
  5526.         }
  5527.  
  5528.         sessionData.events = sessionData.events || [];
  5529.         sessionData.events.push(stopEvent);
  5530.  
  5531.         try {
  5532.             tracker.saveToDisk();
  5533.             addToRequestsQueueSync(sessionData);
  5534.         } catch (e) {
  5535.             tools.logger.error('Unable to stop session', e);
  5536.             settings.internalEvents.trackError('sessionStop', e);
  5537.         }
  5538.  
  5539.         if (typeof settings.store.removeSession === 'function') {
  5540.             settings.store.removeSession();
  5541.         }
  5542.     };
  5543.  
  5544.     Analytics.TimingScope = function(name, timings) {
  5545.         this.sessionId = sessionId;
  5546.         this.startTime = dateTime.getUnixTimestamp();
  5547.         this.id = generateUUID();
  5548.         this.name = name;
  5549.         this.timings = timings;
  5550.         this.timings[this.id] = this;
  5551.     };
  5552.  
  5553.     /**
  5554.      * Cancels a timing operation that was started by calling the trackTimingStart method.
  5555.      */
  5556.     Analytics.TimingScope.prototype.cancel = function() {
  5557.         if (typeof this.timings[this.id] === 'undefined') {
  5558.             return;
  5559.         }
  5560.  
  5561.         if (!initialized || !started) {
  5562.             tools.logger.info('Unable to cancel the "' + this.name + '" timing event because there\'s no running session at the moment.');
  5563.             delete this.timings[this.id];
  5564.             return;
  5565.         }
  5566.  
  5567.         if (this.sessionId !== sessionId) {
  5568.             tools.logger.info('Unable to cancel the "' + this.name + '" timing event because it was started in a different session.');
  5569.             delete this.timings[this.id];
  5570.             return;
  5571.         }
  5572.  
  5573.         eventsQueue.events.push({
  5574.             name: this.name,
  5575.             at: getTimestamp(),
  5576.             'is': '$TimingCancel.' + this.name
  5577.         });
  5578.  
  5579.         delete this.timings[this.id];
  5580.  
  5581.         return this.getElapsed();
  5582.     };
  5583.  
  5584.     /**
  5585.      * Register the end of timing
  5586.      * @param {object} [properties] A set of key-value strings to associate with this particular event occurrence
  5587.      * @returns The elapsed time since timer was started in milliseconds
  5588.      */
  5589.     Analytics.TimingScope.prototype.stop = function(properties) {
  5590.         if (typeof this.timings[this.id] === 'undefined') {
  5591.             return;
  5592.         }
  5593.  
  5594.         if (!initialized || !started) {
  5595.             tools.logger.info('Unable to stop the "' + this.name + '" timing event because there\'s no running session at the moment.');
  5596.             delete this.timings[this.id];
  5597.             return;
  5598.         }
  5599.  
  5600.         if (this.sessionId !== sessionId) {
  5601.             tools.logger.info('Unable to stop the "' + this.name + '" timing event because it was started in a different session.');
  5602.             delete this.timings[this.id];
  5603.             return;
  5604.         }
  5605.  
  5606.         var data = {
  5607.             name: this.name,
  5608.             'is': 'timing',
  5609.             at: getTimestamp(),
  5610.             elapsed: this.getElapsed()
  5611.         };
  5612.  
  5613.         if (tools.isDefinedAndNotNull(properties)) {
  5614.             data.properties = tools.sanitizeProperties(properties);
  5615.         }
  5616.  
  5617.         addEvent(data, false);
  5618.         delete this.timings[this.id];
  5619.  
  5620.         return data.elapsed;
  5621.     };
  5622.  
  5623.     /**
  5624.      * Return the time elapsed so far. May be called even after timer has been stopped or cancelled.
  5625.      */
  5626.     Analytics.TimingScope.prototype.getElapsed = function() {
  5627.         var currentTime = dateTime.getUnixTimestamp();
  5628.         return currentTime - this.startTime;
  5629.     };
  5630.  
  5631.     function addEvent(data, setLastEvent) {
  5632.         if (setLastEvent && lastEvents.length > 0) {
  5633.             lastEvents[lastEvents.length - 1] = data;
  5634.         }
  5635.         eventsQueue.events.push(data);
  5636.     }
  5637.  
  5638.     function addToRequestsQueue(request, done) {
  5639.         requestsQueue.push(request);
  5640.         settings.store.saveRequestsQueue(requestsQueue, done);
  5641.     }
  5642.  
  5643.     function addToRequestsQueueSync(request) {
  5644.         requestsQueue.push(request);
  5645.         settings.store.saveRequestsQueueSync(requestsQueue);
  5646.     }
  5647.  
  5648.     function process() {
  5649.         if (!initialized) {
  5650.             return;
  5651.         }
  5652.  
  5653.         if (Analytics.q && Analytics.q.length > 0) {
  5654.             var req;
  5655.             for (var i = 0; i < Analytics.q.length; i++) {
  5656.                 req = Analytics.q[i];
  5657.                 if (req.constructor === Array && req.length > 0) {
  5658.                     var func = Analytics[req[0]];
  5659.                     if (func) {
  5660.                         func.apply(global, req.slice(1) || []);
  5661.                     }
  5662.                 }
  5663.             }
  5664.             Analytics.q = [];
  5665.         }
  5666.  
  5667.         var sessionData = getSessionDataFromEventsQueue();
  5668.         if (sessionData) {
  5669.             addToRequestsQueue(sessionData, send);
  5670.             return;
  5671.         }
  5672.  
  5673.         if (requestsQueue.length > 0) {
  5674.             send();
  5675.         } else {
  5676.             settings.setTimeout.call(global, process, settings.sendInterval);
  5677.         }
  5678.     }
  5679.  
  5680.     function send() {
  5681.         if (tracker != null) {
  5682.             tracker.saveToDisk(sendInternal);
  5683.         } else {
  5684.             sendInternal();
  5685.         }
  5686.     }
  5687.  
  5688.     function sendInternal() {
  5689.         var data = requestsQueue.shift();
  5690.         if (data) {
  5691.             tools.logger.info('Sending statistics', data);
  5692.             settings.http.send(data, function(err, data) {
  5693.                 if (err) {
  5694.                     failedRequests++;
  5695.                     settings.sendInterval = (failedRequests <= 5) ? (failedRequests * 300) : 5000;
  5696.                     requestsQueue.unshift(data);
  5697.                     settings.internalEvents.trackError('httpCallback', err);
  5698.                     tools.logger.error('Failed sending statistics', err);
  5699.                 } else {
  5700.                     failedRequests = 0;
  5701.                     settings.sendInterval = originalSendInterval;
  5702.                     tools.logger.info('Statistics successfully sent');
  5703.                 }
  5704.                 settings.store.saveRequestsQueue(requestsQueue, function(err, data) {
  5705.                     if (err) {
  5706.                         tools.logger.error('Failed to save requests queue', err);
  5707.                         settings.internalEvents.trackError('httpCallbackStore', err);
  5708.                     }
  5709.                     settings.setTimeout.call(global, process, settings.sendInterval);
  5710.                 });
  5711.             });
  5712.         } else {
  5713.             settings.setTimeout.call(global, process, settings.sendInterval);
  5714.         }
  5715.     }
  5716.  
  5717.     function getSessionDataFromEventsQueue() {
  5718.         var sessionData = null;
  5719.         for (var prop in eventsQueue) {
  5720.             var values = eventsQueue[prop];
  5721.             if (values.length > 0) {
  5722.                 sessionData = sessionData || createEnvelope();
  5723.                 sessionData[prop] = values;
  5724.             }
  5725.         }
  5726.  
  5727.         if (sessionData) {
  5728.             for (var prop in eventsQueue) {
  5729.                 if (eventsQueue[prop].length > 0) {
  5730.                     eventsQueue[prop] = [];
  5731.                 }
  5732.             }
  5733.         }
  5734.  
  5735.         return sessionData;
  5736.     }
  5737.  
  5738.     function checkAndRenewExistingSession() {
  5739.         if (typeof settings.store.loadSession === 'function') {
  5740.             var data = settings.store.loadSession();
  5741.             if (data != null && data.isExpired === true) {
  5742.                 tools.logger.info('The existing session has been idle for ' + settings.keepRunningSessionsMs + ' milliseconds -> starting new one');
  5743.                 Analytics.stop('$Stop.Timeout');
  5744.                 startSessionInternal(true);
  5745.             }
  5746.         }
  5747.     }
  5748.  
  5749.     function ensureAsyncQ() {
  5750.         Analytics.q = (global._ta && global._ta.q) ? global._ta.q : [];
  5751.         if (Analytics.q.constructor !== Array) {
  5752.             Analytics.q = [];
  5753.         }
  5754.     }
  5755.  
  5756.     function generateUUID() {
  5757.         var d = new Date().getTime();
  5758.         var uuid = 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
  5759.             var r = (d + Math.random() * 16) % 16 | 0;
  5760.             d = Math.floor(d / 16);
  5761.             return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
  5762.         });
  5763.         return uuid;
  5764.     }
  5765.  
  5766.     function createEnvelope() {
  5767.         var data = {
  5768.             version: protocolVersion,
  5769.             monitor: {
  5770.                 'type': settings.monitorType,
  5771.                 version: settings.monitorVersion
  5772.             },
  5773.             product: {
  5774.                 id: settings.appId
  5775.             },
  5776.             session: {
  5777.                 id: sessionId,
  5778.                 part: ++payloadSequence,
  5779.                 started: startTime,
  5780.                 elapsed: getSessionElapsedTime()
  5781.             }
  5782.         };
  5783.  
  5784.         if (tools.isDefinedAndNotNull(settings.productVersion)) {
  5785.             data.product.version = settings.productVersion;
  5786.         }
  5787.  
  5788.         if (payloadSequence > 0 && lastEvents != null && lastEvents.length > 0) {
  5789.             var lastEvent = getLastEvent();
  5790.             if (lastEvent != null) {
  5791.                 data.session.lastEvent = lastEvent;
  5792.             }
  5793.         }
  5794.         lastEvents.push(null);
  5795.  
  5796.         if (settings.isInternalData === true) {
  5797.             data.session.internal = true;
  5798.         }
  5799.  
  5800.         if (tools.isDefinedAndNotNull(settings.superProperties)) {
  5801.             data.session['super'] = tools.sanitizeProperties(settings.superProperties);
  5802.         }
  5803.  
  5804.         var location = tools.sanitizeLocation(settings.location);
  5805.         if (location != null) {
  5806.             data.session.location = location;
  5807.         }
  5808.  
  5809.         if (tools.isDefinedAndNotNull(settings.clientIP)) {
  5810.             data.session.ip = settings.clientIP;
  5811.         }
  5812.  
  5813.         if (originalSendInterval !== tools.getDefaultSendInterval()) {
  5814.             settings.internalEvents.registerUsage('SessionSend', originalSendInterval);
  5815.         }
  5816.  
  5817.         var internal = settings.internalEvents.get();
  5818.         if (internal) {
  5819.             data.internal = internal;
  5820.         }
  5821.  
  5822.         if (typeof settings.store.saveSession === 'function') {
  5823.             settings.store.saveSession(settings.keepRunningSessionsMs, sessionId, eventSequence, payloadSequence, startTime, unixStartTime);
  5824.         }
  5825.  
  5826.         return data;
  5827.     }
  5828.  
  5829.     function getLastEvent() {
  5830.         for (var i = 0; i < lastEvents.length; i++) {
  5831.             var lastEvent = lastEvents.shift();
  5832.             if (tools.isDefinedAndNotNull(lastEvent)) {
  5833.                 return {
  5834.                     name: lastEvent.name,
  5835.                     at: lastEvent.at
  5836.                 };
  5837.             }
  5838.         }
  5839.         return null;
  5840.     }
  5841.  
  5842.     function getTimestamp() {
  5843.         var timestampDelta = getSessionElapsedTime();
  5844.         return (++eventSequence).toString() + ':' + timestampDelta.toString();
  5845.     }
  5846.  
  5847.     function getSessionElapsedTime() {
  5848.         return dateTime.getUnixTimestamp() - unixStartTime;
  5849.     }
  5850.  
  5851.     function getDevice() {
  5852.         var device = settings.store.getDeviceSync();
  5853.         if (!device) {
  5854.             var deviceId = null;
  5855.             if (typeof settings.store.generateDeviceId === 'function') {
  5856.                 deviceId = settings.store.generateDeviceId();
  5857.             }
  5858.  
  5859.             if (deviceId == null) {
  5860.                 deviceId = generateUUID();
  5861.             }
  5862.  
  5863.             device = {
  5864.                 deviceId: deviceId,
  5865.                 totalSessions: 0
  5866.             };
  5867.         }
  5868.  
  5869.         device.totalSessions++;
  5870.         settings.store.saveDeviceSync(device);
  5871.  
  5872.         return device;
  5873.     }
  5874.  
  5875.     function getEventName(name, shouldEscape) {
  5876.         if (!name || typeof name !== 'string' || name.length < 1) {
  5877.             tools.logger.info('The event name must be a non empty string');
  5878.             return null;
  5879.         }
  5880.  
  5881.         name = trim(name);
  5882.         if ((!tools.isDefinedAndNotNull(shouldEscape) || shouldEscape === true) && name[0] === '$') {
  5883.             name = '\\$' + name.slice(1);
  5884.         }
  5885.  
  5886.         name = tools.chopEventName(name);
  5887.  
  5888.         return name;
  5889.     }
  5890.  
  5891.     function trim(str) {
  5892.         if (str) {
  5893.             if (!String.prototype.trim) {
  5894.                 return str.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); //IE7 does not have trim on string object
  5895.             }
  5896.             return str.trim();
  5897.         }
  5898.         return '';
  5899.     }
  5900.  
  5901.     function safelyInvoke(location, fn, defaultValue) {
  5902.         try {
  5903.             return fn();
  5904.         } catch (e) {
  5905.             tools.logger.error(e.message, e);
  5906.             settings.internalEvents.trackError(location, e);
  5907.             if (tools.isDefinedAndNotNull(defaultValue)) {
  5908.                 return defaultValue;
  5909.             }
  5910.         }
  5911.     }
  5912.  
  5913.     function getHashCode(value) {
  5914.         var hash = 0, i, chr, len;
  5915.         if (!value || value.length === 0) {
  5916.             return hash;
  5917.         }
  5918.         for (i = 0, len = value.length; i < len; i++) {
  5919.             chr = value.charCodeAt(i);
  5920.             hash = ((hash << 5) - hash) + chr;
  5921.             hash |= 0;
  5922.         }
  5923.         return hash;
  5924.     }
  5925.  
  5926.  
  5927.  
  5928.     var dayMilliseconds = 1000 * 60 * 60 * 24,
  5929.         Today           = 0x01,
  5930.         ThisWeek        = 0x02,
  5931.         ThisMonth       = 0x04,
  5932.         All             = 0x07;
  5933.  
  5934.     var TimeBreaker = function(dayNumber) {
  5935.         var date;
  5936.         if (typeof dayNumber !== 'undefined') {
  5937.             date = new Date(Date.UTC(1970, 0, 1, 0, 0, 0, 0));
  5938.             date.setDate(date.getDate() + dayNumber);
  5939.         } else {
  5940.             date = new Date();
  5941.             date.setDate(date.getDate());
  5942.         }
  5943.  
  5944.         date.setHours(0, 0, 0, 0);
  5945.         this.dayNumber = Math.round(date.getTime() / dayMilliseconds);
  5946.         this.weekNumber = Math.round(this.dayNumber / 7);
  5947.         this.monthNumber = (date.getFullYear() - 1970) * 12 + date.getMonth();
  5948.     };
  5949.  
  5950.     var UniquenessTracker = function() {
  5951.     };
  5952.  
  5953.     UniquenessTracker.prototype.start = function() {
  5954.         this._timenow = new TimeBreaker();
  5955.         this._masks = { };
  5956.  
  5957.         var data = settings.store.getCardinalSync();
  5958.         var lines = (data || '').toString().split('\r\n');
  5959.  
  5960.         var days = parseInt(lines[0]);
  5961.         if (isNaN(days)) {
  5962.             days = 0;
  5963.         }
  5964.  
  5965.         var timeonfile = new TimeBreaker(days);
  5966.         var keepmask =
  5967.             (this._timenow.dayNumber === timeonfile.dayNumber ? Today : 0) |
  5968.             (this._timenow.weekNumber === timeonfile.weekNumber ? ThisWeek : 0) |
  5969.             (this._timenow.monthNumber === timeonfile.monthNumber ? ThisMonth : 0);
  5970.  
  5971.         for (var i = 1; i < lines.length; i++) {
  5972.             var fields = lines[i].split(':');
  5973.             if (fields.length < 2) {
  5974.                 break;
  5975.             }
  5976.  
  5977.             var value = parseInt(fields[0]);
  5978.             if (isNaN(value)) {
  5979.                 value = 0;
  5980.             }
  5981.             var m = value & keepmask;
  5982.             if (m != 0) {
  5983.                 var key = fields[1];
  5984.                 this._masks[key] = m | (tools.isDefinedAndNotNull(this._masks[key]) ? this._masks[key] : 0);
  5985.             }
  5986.         }
  5987.  
  5988.         var diskUpdateNeeded = (keepmask != All || !tools.isEmptyObject(this._masks));
  5989.         if (diskUpdateNeeded) {
  5990.             this.saveToDisk();
  5991.         }
  5992.     };
  5993.  
  5994.     UniquenessTracker.prototype.track = function(key) {
  5995.         var existingMask = this._masks[key];
  5996.         var seenNow = (typeof existingMask !== 'undefined') ? (~existingMask & All) : All;
  5997.         this._masks[key] = All;
  5998.         return seenNow;
  5999.     };
  6000.  
  6001.     UniquenessTracker.prototype.saveToDisk = function(done) {
  6002.         var cardinal = this._timenow.dayNumber;
  6003.         var count = 0,
  6004.             max   = 100000;
  6005.         for (var prop in this._masks) {
  6006.             if (count++ == max) {
  6007.                 break;
  6008.             }
  6009.             cardinal = cardinal + '\r\n' + this._masks[prop] + ':' + prop;
  6010.         }
  6011.  
  6012.         settings.store.saveCardinal(cardinal, done);
  6013.     };
  6014. }(this || global));
  6015.  
  6016. /***/ }),
  6017. /* 181 */
  6018. /*!*******************************************************************************!*\
  6019.   !*** ../node_modules/nativescript-telerik-analytics/common/internalEvents.js ***!
  6020.   \*******************************************************************************/
  6021. /*! no static exports found */
  6022. /*! all exports used */
  6023. /***/ (function(module, exports, __webpack_require__) {
  6024.  
  6025. "use strict";
  6026.  
  6027.  
  6028. (function(global) {
  6029.     var _private = global._private = global._private || { };
  6030.  
  6031.     _private.Events = function() {
  6032.         this.dateTime = new _private.DateTime();
  6033.         this.events = { events: [], errors: [] };
  6034.     };
  6035.  
  6036.     _private.Events.prototype.clear = function() {
  6037.         this.events = { events: [], errors: [] };
  6038.     };
  6039.  
  6040.     _private.Events.prototype.trackError = function(location, error) {
  6041.         if (typeof error === 'string') {
  6042.             error = new Error(error);
  6043.         } else if (typeof error === 'undefined' || error == null || (!error.hasOwnProperty('message') && error.message == null)) {
  6044.             error = new Error('');
  6045.         }
  6046.  
  6047.         var element = null;
  6048.         for (var i = 0; i < this.events.errors.length; i++) {
  6049.             if (this.events.errors[i].location === location) {
  6050.                 element = this.events.errors[i];
  6051.                 break;
  6052.             }
  6053.         }
  6054.  
  6055.         if (element == null) {
  6056.             element = {
  6057.                 at: this.dateTime.getISO8601LocalDate(),
  6058.                 location: location,
  6059.                 message: error.message,
  6060.                 count: 0
  6061.             };
  6062.             this.events.errors.push(element);
  6063.         }
  6064.  
  6065.         element.count++;
  6066.     };
  6067.  
  6068.     _private.Events.prototype.registerUsage = function(key, value) {
  6069.         if (key && value) {
  6070.             for (var i = 0; i < this.events.events.length; i++) {
  6071.                 var usage = this.events.events[i];
  6072.                 if (usage.hasOwnProperty(key)) {
  6073.                     usage[key] = value + '';
  6074.                     return;
  6075.                 }
  6076.             }
  6077.  
  6078.             var result = { };
  6079.             result[key] = value;
  6080.             this.events.events.push(result);
  6081.         }
  6082.     };
  6083.  
  6084.     _private.Events.prototype.get = function() {
  6085.         var result = null;
  6086.         if (this.events.errors.length > 0) {
  6087.             result = {
  6088.                 errors: this.events.errors
  6089.             };
  6090.         }
  6091.  
  6092.         if (this.events.events.length > 0) {
  6093.             result = result || { };
  6094.             result.events = this.events.events;
  6095.         }
  6096.  
  6097.         return result;
  6098.     };
  6099.  
  6100.     if (true) {
  6101.         if (typeof module !== 'undefined' && module.exports) {
  6102.             exports = module.exports = _private.Events;
  6103.         }
  6104.         exports._ta = _private.Events;
  6105.         _private.DateTime = __webpack_require__(/*! ./datetime */ 52);
  6106.     }
  6107. }(this || global));
  6108.  
  6109. /***/ }),
  6110. /* 182 */
  6111. /*!***************************************************************************!*\
  6112.   !*** ../node_modules/nativescript-telerik-analytics/nativescript/http.js ***!
  6113.   \***************************************************************************/
  6114. /*! no static exports found */
  6115. /*! all exports used */
  6116. /***/ (function(module, exports, __webpack_require__) {
  6117.  
  6118. "use strict";
  6119.  
  6120.  
  6121. var http  = __webpack_require__(/*! http */ 51),
  6122.     Tools = __webpack_require__(/*! ../common/tools */ 27),
  6123.     tools = new Tools();
  6124.  
  6125. (function(global) {
  6126.     var HttpService = function(serverUrl) {
  6127.         this.serverUrl = serverUrl;
  6128.     };
  6129.  
  6130.     HttpService.prototype.send = function(data, done) {
  6131.         var options = {
  6132.             url: this.serverUrl,
  6133.             method: 'POST',
  6134.             headers: {
  6135.                 'Content-Type': 'application/json',
  6136.             },
  6137.             content: JSON.stringify(data)
  6138.         };
  6139.  
  6140.         http.request(options).then(function(response) {
  6141.             if (response.statusCode >= 200 && response.statusCode < 300) {
  6142.                 tools.logger.info('Successfully sent analytics data', data);
  6143.                 done(null, data);
  6144.             } else {
  6145.                 var err = new Error('An error occurred while sending analytics data. StatusCode: ' + response.statusCode);
  6146.                 tools.logger.error(err.message, err);
  6147.                 done(err, data);
  6148.             }
  6149.         }, function(e) {
  6150.             tools.logger.error('An error occurred while sending analytics data', e);
  6151.             done(e, data);
  6152.         });
  6153.     };
  6154.  
  6155.     exports = module.exports = HttpService;
  6156. }(this || global));
  6157.  
  6158. /***/ }),
  6159. /* 183 */
  6160. /*!****************************************************************************!*\
  6161.   !*** ../node_modules/nativescript-telerik-analytics/nativescript/store.js ***!
  6162.   \****************************************************************************/
  6163. /*! no static exports found */
  6164. /*! all exports used */
  6165. /***/ (function(module, exports, __webpack_require__) {
  6166.  
  6167. "use strict";
  6168.  
  6169.  
  6170. var appSettings   = __webpack_require__(/*! application-settings */ 85),
  6171.     emulator      = __webpack_require__(/*! ./emulator-native */ 86),
  6172.     Tools         = __webpack_require__(/*! ../common/tools */ 27),
  6173.     tools         = new Tools();
  6174.  
  6175. (function(global) {
  6176.     var StoreService = function(settings) {
  6177.         this.keysPrefix = settings.keysPrefix;
  6178.         this.queueKey = settings.queueKey;
  6179.         this.deviceKey = settings.deviceKey;
  6180.         this.cardinalKey = settings.cardinalKey;
  6181.     };
  6182.  
  6183.     exports = module.exports = StoreService;
  6184.  
  6185.     StoreService.prototype.saveRequestsQueue = function(value, done) {
  6186.         setValue(this.keysPrefix, this.queueKey, value, done);
  6187.     };
  6188.  
  6189.     StoreService.prototype.saveRequestsQueueSync = function(value) {
  6190.         setValue(this.keysPrefix, this.queueKey, value, null);
  6191.     };
  6192.  
  6193.     StoreService.prototype.getRequestsQueueSync = function() {
  6194.         var value = getValueSync(this.keysPrefix, this.queueKey);
  6195.         if (typeof value !== 'undefined' && value != null && typeof value.push !== 'undefined') {
  6196.             return value;
  6197.         }
  6198.         return [];
  6199.     };
  6200.  
  6201.     StoreService.prototype.saveCardinal = function(value, done) {
  6202.         if (done) {
  6203.             setValue(this.keysPrefix, this.cardinalKey, value, done);
  6204.         } else {
  6205.             setValueSync(this.keysPrefix, this.cardinalKey, value);
  6206.         }
  6207.     };
  6208.  
  6209.     StoreService.prototype.getCardinalSync = function() {
  6210.         return getValueSync(this.keysPrefix, this.cardinalKey);
  6211.     };
  6212.  
  6213.     StoreService.prototype.saveDeviceSync = function(device) {
  6214.         try {
  6215.             var value = device.deviceId + '|' + device.totalSessions;
  6216.             setValueSync(this.keysPrefix, this.deviceKey, value);
  6217.         } catch (e) { }
  6218.     };
  6219.  
  6220.     StoreService.prototype.getDeviceSync = function() {
  6221.         try {
  6222.             var value = getValueSync(this.keysPrefix, this.deviceKey);
  6223.             if (typeof value === 'undefined' || value == null) {
  6224.                 return null;
  6225.             }
  6226.  
  6227.             var parts = value.split('|');
  6228.             if (parts.length < 2) {
  6229.                 return null;
  6230.             }
  6231.  
  6232.             var totalSessions = parseInt(parts[1]);
  6233.             if (isNaN(totalSessions)) {
  6234.                 totalSessions = 0;
  6235.             }
  6236.  
  6237.             return {
  6238.                 deviceId: parts[0],
  6239.                 totalSessions: totalSessions
  6240.             };
  6241.         } catch (e) {
  6242.             tools.logger.error(e.message, e);
  6243.             return null;
  6244.         }
  6245.     };
  6246.  
  6247.     StoreService.prototype.generateDeviceId = function() {
  6248.         if (emulator.tools.isEmulator) {
  6249.             return emulator.tools.emulatorType;
  6250.         }
  6251.         return null;
  6252.     };
  6253.  
  6254.     function setValue(keysPrefix, key, value, done) {
  6255.         done = done || function(err, data) { };
  6256.  
  6257.         key = keysPrefix + key;
  6258.  
  6259.         if (typeof value === 'object') {
  6260.             value = JSON.stringify(value);
  6261.         }
  6262.  
  6263.         if (typeof value !== 'undefined' && value !== null) {
  6264.             appSettings.setString(key, value.toString());
  6265.         } else if (value === null) {
  6266.             appSettings.remove(key);
  6267.         }
  6268.  
  6269.         done(null, null);
  6270.     }
  6271.  
  6272.     function setValueSync(keysPrefix, key, value, storageOnly) {
  6273.         setValue(keysPrefix, key, value, null);
  6274.     }
  6275.  
  6276.     function getValue(keysPrefix, key, done) {
  6277.         key = keysPrefix + key;
  6278.  
  6279.         var data = appSettings.getString(key);
  6280.         var result = null;
  6281.         try {
  6282.             result = JSON.parse(data);
  6283.         }
  6284.         catch(e) {
  6285.             result = data;
  6286.         }
  6287.  
  6288.         done(null, result);
  6289.     }
  6290.  
  6291.     function getValueSync(keysPrefix, key) {
  6292.         var result = null;
  6293.         getValue(keysPrefix, key, function(err, data) {
  6294.             result = data;
  6295.         });
  6296.         return result;
  6297.     }
  6298. }(this || global));
  6299.  
  6300. /***/ }),
  6301. /* 184 */
  6302. /*!********************************************************************************************!*\
  6303.   !*** ../node_modules/tns-core-modules/application-settings/application-settings-common.js ***!
  6304.   \********************************************************************************************/
  6305. /*! no static exports found */
  6306. /*! all exports used */
  6307. /***/ (function(module, exports) {
  6308.  
  6309. Object.defineProperty(exports, "__esModule", { value: true });
  6310. exports.checkKey = function (key) {
  6311.     if (typeof key !== "string") {
  6312.         throw new Error("key: '" + key + "' must be a string");
  6313.     }
  6314. };
  6315. exports.ensureValidValue = function (value, valueType) {
  6316.     if (typeof value !== valueType) {
  6317.         throw new Error("value: '" + value + "' must be a " + valueType);
  6318.     }
  6319. };
  6320. //# sourceMappingURL=application-settings-common.js.map
  6321.  
  6322. /***/ }),
  6323. /* 185 */
  6324. /*!**********************************************************************************!*\
  6325.   !*** ../node_modules/nativescript-telerik-analytics/nativescript/environment.js ***!
  6326.   \**********************************************************************************/
  6327. /*! no static exports found */
  6328. /*! all exports used */
  6329. /***/ (function(module, exports, __webpack_require__) {
  6330.  
  6331. "use strict";
  6332.  
  6333.  
  6334. var Tools    = __webpack_require__(/*! ../common/tools */ 27),
  6335.     tools    = new Tools(),
  6336.     platform = __webpack_require__(/*! platform */ 3),
  6337.     env      = __webpack_require__(/*! ./environment-native */ 186),
  6338.     emulator = __webpack_require__(/*! ./emulator-native */ 86);
  6339.  
  6340. (function(global) {
  6341.     var EnvironmentService = function() {
  6342.     };
  6343.  
  6344.     EnvironmentService.prototype.collect = function() {
  6345.         var environment = {
  6346.             hw: {
  6347.                 manufacturer: platform.device.manufacturer,
  6348.                 model: env.device.model,
  6349.                 memory: env.device.totalMemory,
  6350.                 cpus: env.device.cpus,
  6351.                 arch: env.device.arch,
  6352.                 screen: {
  6353.                     width: env.device.screenWidth,
  6354.                     height: env.device.screenHeight,
  6355.                     dpi: env.device.dpi
  6356.                 }
  6357.             },
  6358.             os: {
  6359.                 platform: platform.device.os,
  6360.                 version: platform.device.osVersion
  6361.             },
  6362.             sw: {
  6363.                 culture: getCulture()
  6364.             }
  6365.         };
  6366.  
  6367.         if (emulator.tools.isEmulator) {
  6368.             environment.hw.virtual = true;
  6369.         }
  6370.  
  6371.         if (env.device.platformSpecific) {
  6372.             for (var key in env.device.platformSpecific) {
  6373.                 if (env.device.platformSpecific.hasOwnProperty(key)) {
  6374.                     environment.sw[key] = env.device.platformSpecific[key];
  6375.                 }
  6376.             }
  6377.         }
  6378.  
  6379.         tools.logger.info('Environment info collected', environment);
  6380.  
  6381.         return environment;
  6382.     };
  6383.  
  6384.     function getCulture() {
  6385.         var result = platform.device.language;
  6386.         if (!tools.isDefinedAndNotNull(platform.device.region)) {
  6387.             return result;
  6388.         }
  6389.  
  6390.         if (tools.isDefinedAndNotNull(result)) {
  6391.             result += '-';
  6392.         }
  6393.  
  6394.         result += platform.device.region;
  6395.         return result;
  6396.     }
  6397.  
  6398.     exports = module.exports = EnvironmentService;
  6399. }(this || global));
  6400.  
  6401. /***/ }),
  6402. /* 186 */
  6403. /*!*************************************************************************************************!*\
  6404.   !*** ../node_modules/nativescript-telerik-analytics/nativescript/environment-native.android.js ***!
  6405.   \*************************************************************************************************/
  6406. /*! no static exports found */
  6407. /*! all exports used */
  6408. /***/ (function(module, exports, __webpack_require__) {
  6409.  
  6410. var application = __webpack_require__(/*! application */ 2),
  6411.     platform    = __webpack_require__(/*! platform */ 3),
  6412.     utils       = __webpack_require__(/*! utils/utils */ 1);
  6413.  
  6414. var device = (function () {
  6415.     function device() {
  6416.     }
  6417.  
  6418.     Object.defineProperty(device, 'totalMemory', {
  6419.         get: function () {
  6420.             if (!device._totalMemory) {
  6421.                 device._totalMemory = executeSafely(function() {
  6422.                     var context = application.android.context;
  6423.                     var activityManager = context.getSystemService(android.content.Context.ACTIVITY_SERVICE);
  6424.                     if (!activityManager) {
  6425.                         return 0;
  6426.                     }
  6427.  
  6428.                     var memoryInfo = new android.app.ActivityManager.MemoryInfo();
  6429.                     activityManager.getMemoryInfo(memoryInfo);
  6430.                     return memoryInfo.totalMem;
  6431.                 }, 0);
  6432.             }
  6433.             return device._totalMemory;
  6434.         },
  6435.         enumerable: true,
  6436.         configurable: true
  6437.     });
  6438.  
  6439.     Object.defineProperty(device, 'model', {
  6440.         get: function () {
  6441.             return platform.device.model;
  6442.         },
  6443.         enumerable: true,
  6444.         configurable: true
  6445.     });
  6446.  
  6447.     Object.defineProperty(device, 'cpus', {
  6448.         get: function () {
  6449.             if (!device._cpus) {
  6450.                 device._cpus = executeSafely(function() {
  6451.                     return java.lang.Runtime.getRuntime().availableProcessors();
  6452.                 }, 0);
  6453.             }
  6454.             return device._cpus;
  6455.         },
  6456.         enumerable: true,
  6457.         configurable: true
  6458.     });
  6459.  
  6460.     Object.defineProperty(device, 'arch', {
  6461.         get: function () {
  6462.             if (!device._arch) {
  6463.                 device._arch = getPropertySafe('os.arch', '');
  6464.             }
  6465.             return device._arch;
  6466.         },
  6467.         enumerable: true,
  6468.         configurable: true
  6469.     });
  6470.  
  6471.     Object.defineProperty(device, 'dpi', {
  6472.         get: function () {
  6473.             if (!device._dpi) {
  6474.                 try {
  6475.                     var metrics = utils.ad.getApplicationContext().getResources().getDisplayMetrics();
  6476.                     device._dpi = metrics.densityDpi;
  6477.                 } catch (e) {
  6478.                     device._dpi = 0;
  6479.                 }
  6480.             }
  6481.             return device._dpi;
  6482.         },
  6483.         enumerable: true,
  6484.         configurable: true
  6485.     });
  6486.  
  6487.     Object.defineProperty(device, 'screenWidth', {
  6488.         get: function () {
  6489.             if (!device._screenWidth) {
  6490.                 try {
  6491.                     var metrics = getRealMetrics();
  6492.                     device._screenWidth = metrics.widthPixels;
  6493.                 } catch (e) {
  6494.                     device._screenWidth = 0;
  6495.                 }
  6496.             }
  6497.             return device._screenWidth;
  6498.         },
  6499.         enumerable: true,
  6500.         configurable: true
  6501.     });
  6502.  
  6503.     Object.defineProperty(device, 'screenHeight', {
  6504.         get: function () {
  6505.             if (!device._screenHeight) {
  6506.                 try {
  6507.                     var metrics = getRealMetrics();
  6508.                     device._screenHeight = metrics.heightPixels;
  6509.                 } catch (e) {
  6510.                     device._screenHeight = 0;
  6511.                 }
  6512.             }
  6513.             return device._screenHeight;
  6514.         },
  6515.         enumerable: true,
  6516.         configurable: true
  6517.     });
  6518.  
  6519.     Object.defineProperty(device, 'platformSpecific', {
  6520.         get: function () {
  6521.             if (!device._platformSpecific) {
  6522.                 device._platformSpecific = executeSafely(function() {
  6523.                     var result = {
  6524.                         java: {
  6525.                             vendor: getPropertySafe('java.vendor', null),
  6526.                             vm: {
  6527.                                 version: getPropertySafe('java.vm.version', null),
  6528.                                 vendor: getPropertySafe('java.vm.vendor', null)
  6529.                             }
  6530.                         },
  6531.                         android: {
  6532.                             kernelVersion: getPropertySafe('os.version')
  6533.                         }
  6534.                     };
  6535.  
  6536.                     for (var key in result.java) {
  6537.                         if (result.java.hasOwnProperty(key) && result.java[key] == null) {
  6538.                             delete result.java[key];
  6539.                         }
  6540.                     }
  6541.  
  6542.                     return result;
  6543.                 }, null);
  6544.             }
  6545.             return device._platformSpecific;
  6546.         },
  6547.         enumerable: true,
  6548.         configurable: true
  6549.     });
  6550.  
  6551.     function getAndroidKernel() {
  6552.         var kernelVersion = getPropertySafe('os.version', null);
  6553.         if (kernelVersion && kernelVersion.length > 0 && kernelVersion.indexOf('-') > 0) {
  6554.             kernelVersion = kernelVersion.substring(0, kernelVersion.indexOf('-'));
  6555.         }
  6556.  
  6557.         return kernelVersion;
  6558.     }
  6559.  
  6560.     function getPropertySafe(key, defaultValue) {
  6561.         return executeSafely(function() {
  6562.             return java.lang.System.getProperty(key);
  6563.         }, defaultValue);
  6564.     }
  6565.  
  6566.     function executeSafely(func, defaultValue) {
  6567.         try {
  6568.             return func() || defaultValue;
  6569.         } catch (e) {
  6570.             return defaultValue;
  6571.         }
  6572.     }
  6573.  
  6574.     function getRealMetrics() {
  6575.         var metrics = new android.util.DisplayMetrics();
  6576.         var context = utils.ad.getApplicationContext();
  6577.         var windowManager = context.getSystemService(android.content.Context.WINDOW_SERVICE);
  6578.         windowManager.getDefaultDisplay().getRealMetrics(metrics);
  6579.         return metrics;
  6580.     }
  6581.  
  6582.     return device;
  6583. })();
  6584.  
  6585. exports.device = device;
  6586.  
  6587. /***/ }),
  6588. /* 187 */
  6589. /*!*************************************************************************************************!*\
  6590.   !*** ../node_modules/nativescript-telerik-analytics/nativescript/monitortype-native.android.js ***!
  6591.   \*************************************************************************************************/
  6592. /*! no static exports found */
  6593. /*! all exports used */
  6594. /***/ (function(module, exports, __webpack_require__) {
  6595.  
  6596. var application = __webpack_require__(/*! application */ 2);
  6597.  
  6598. var device = (function () {
  6599.     function device() {
  6600.     }
  6601.  
  6602.     Object.defineProperty(device, 'monitorType', {
  6603.         get: function () {
  6604.             return 'android';
  6605.         },
  6606.         enumerable: true,
  6607.         configurable: true
  6608.     });
  6609.  
  6610.     Object.defineProperty(device, 'productVersion', {
  6611.         get: function () {
  6612.             if (!device._productVersion) {
  6613.                 try {
  6614.                     var context = application.android.context;
  6615.                     var packageManager = context.getPackageManager();
  6616.                     var packageName = context.getPackageName();
  6617.                     device._productVersion = packageManager.getPackageInfo(packageName, 0).versionName;
  6618.                 } catch (e) {
  6619.                     device._productVersion = '0.0.0';
  6620.                 }
  6621.             }
  6622.             return device._productVersion;
  6623.         },
  6624.         enumerable: true,
  6625.         configurable: true
  6626.     });
  6627.  
  6628.     return device;
  6629. })();
  6630.  
  6631. exports.device = device;
  6632.  
  6633. /***/ }),
  6634. /* 188 */
  6635. /*!************************************************************************************************!*\
  6636.   !*** ../node_modules/nativescript-telerik-analytics/nativescript/exceptions-native.android.js ***!
  6637.   \************************************************************************************************/
  6638. /*! no static exports found */
  6639. /*! all exports used */
  6640. /***/ (function(module, exports, __webpack_require__) {
  6641.  
  6642. "use strict";
  6643.  
  6644.  
  6645. (function() {
  6646.     exports.formatNativeException = function(error) {
  6647.         try {
  6648.             var nativeException = error.nativeException;
  6649.             if (nativeException instanceof java.lang.Throwable) {
  6650.                 var inner = getInnerMostException(nativeException);
  6651.                 var e = {
  6652.                     name: inner.getClass().getName(),
  6653.                     message: inner.getMessage(),
  6654.                     stack: error.stackTrace || error.stack
  6655.                 };
  6656.                 return e;
  6657.             }
  6658.         } catch (e) {
  6659.         }
  6660.  
  6661.         return error;
  6662.     };
  6663.  
  6664.     function getInnerMostException(error) {
  6665.         var inner = error;
  6666.         while (inner.getCause() != null) {
  6667.             inner = inner.getCause();
  6668.         }
  6669.  
  6670.         return inner;
  6671.     }
  6672. }());
  6673.  
  6674. /***/ }),
  6675. /* 189 */
  6676. /*!**************************************!*\
  6677.   !*** ./examples/chart/bar-series.ts ***!
  6678.   \**************************************/
  6679. /*! no static exports found */
  6680. /*! all exports used */
  6681. /***/ (function(module, exports, __webpack_require__) {
  6682.  
  6683. Object.defineProperty(exports, "__esModule", { value: true });
  6684. var utils = __webpack_require__(/*! utils/utils */ 1);
  6685. var models = __webpack_require__(/*! ./view-model */ 26);
  6686. var frame = __webpack_require__(/*! ui/frame */ 7);
  6687. var app = __webpack_require__(/*! application */ 2);
  6688. var navigator = __webpack_require__(/*! ../../common/navigator */ 5);
  6689. function rootGridLoaded(args) {
  6690.     var grid = args.object;
  6691.     if (grid.android) {
  6692.         var compat = android.support.v4.view.ViewCompat;
  6693.         if (compat.setElevation) {
  6694.             // Fix for the elevation glitch of the tab-view
  6695.             compat.setElevation(grid.android, 4 * utils.layout.getDisplayDensity());
  6696.         }
  6697.     }
  6698. }
  6699. exports.rootGridLoaded = rootGridLoaded;
  6700. function loadItem(page, item) {
  6701.     var dataModel = page.bindingContext;
  6702.     dataModel.loadGalleryFragment(item, page.getViewById("exampleHolder"), "~/examples/chart/bar", item.exampleXml);
  6703.     var cartesianChart = page.getViewById("chart");
  6704.     if (app.android) {
  6705.         cartesianChart.horizontalAxis.android.setLabelFitMode(com.telerik.widget.chart.engine.axes.common.AxisLabelFitMode.MULTI_LINE);
  6706.     }
  6707. }
  6708. var dataModel = new models.ChartExamplesDataModel(true);
  6709. function pageNavigatingTo(args) {
  6710.     var page = args.object;
  6711.     page.bindingContext = dataModel;
  6712.     var itemToLoad = dataModel.barTypes[0];
  6713.     loadItem(page, itemToLoad);
  6714. }
  6715. exports.pageNavigatingTo = pageNavigatingTo;
  6716. function pageNavigatingFrom(args) {
  6717.     var page = args.object;
  6718.     page.bindingContext.clearCache();
  6719. }
  6720. exports.pageNavigatingFrom = pageNavigatingFrom;
  6721. function scrollViewLoaded(args) {
  6722.     if (args.object.android) {
  6723.         args.object.android.setHorizontalScrollBarEnabled(false);
  6724.     }
  6725. }
  6726. exports.scrollViewLoaded = scrollViewLoaded;
  6727. function repeaterItemTap(args) {
  6728.     var item = args.view.bindingContext;
  6729.     var page = frame.topmost().currentPage;
  6730.     loadItem(page, item);
  6731. }
  6732. exports.repeaterItemTap = repeaterItemTap;
  6733. function goBack(args) {
  6734.     navigator.navigateBackFromExample();
  6735. }
  6736. exports.goBack = goBack;
  6737.  
  6738.  
  6739. /***/ }),
  6740. /* 190 */
  6741. /*!***************************************!*\
  6742.   !*** ./examples/chart/line-series.ts ***!
  6743.   \***************************************/
  6744. /*! no static exports found */
  6745. /*! all exports used */
  6746. /***/ (function(module, exports, __webpack_require__) {
  6747.  
  6748. Object.defineProperty(exports, "__esModule", { value: true });
  6749. var utils = __webpack_require__(/*! utils/utils */ 1);
  6750. var models = __webpack_require__(/*! ./view-model */ 26);
  6751. var frame = __webpack_require__(/*! ui/frame */ 7);
  6752. var app = __webpack_require__(/*! application */ 2);
  6753. var navigator = __webpack_require__(/*! ../../common/navigator */ 5);
  6754. function rootGridLoaded(args) {
  6755.     var grid = args.object;
  6756.     if (grid.android) {
  6757.         var compat = android.support.v4.view.ViewCompat;
  6758.         if (compat.setElevation) {
  6759.             // Fix for the elevation glitch of the tab-view
  6760.             compat.setElevation(grid.android, 4 * utils.layout.getDisplayDensity());
  6761.         }
  6762.     }
  6763. }
  6764. exports.rootGridLoaded = rootGridLoaded;
  6765. function loadItem(page, item) {
  6766.     var dataModel = page.bindingContext;
  6767.     dataModel.loadGalleryFragment(item, page.getViewById("exampleHolder"), "~/examples/chart/line", item.exampleXml);
  6768.     var cartesianChart = page.getViewById("chart");
  6769.     if (app.android) {
  6770.         cartesianChart.horizontalAxis.android.setLabelFitMode(com.telerik.widget.chart.engine.axes.common.AxisLabelFitMode.MULTI_LINE);
  6771.     }
  6772. }
  6773. var dataModel = new models.ChartExamplesDataModel(true);
  6774. function pageNavigatingTo(args) {
  6775.     var page = args.object;
  6776.     page.bindingContext = dataModel;
  6777.     var itemToLoad = dataModel.lineTypes[0];
  6778.     loadItem(page, itemToLoad);
  6779. }
  6780. exports.pageNavigatingTo = pageNavigatingTo;
  6781. function pageNavigatingFrom(args) {
  6782.     var page = args.object;
  6783.     page.bindingContext.clearCache();
  6784. }
  6785. exports.pageNavigatingFrom = pageNavigatingFrom;
  6786. function scrollViewLoaded(args) {
  6787.     if (args.object.android) {
  6788.         args.object.android.setHorizontalScrollBarEnabled(false);
  6789.     }
  6790. }
  6791. exports.scrollViewLoaded = scrollViewLoaded;
  6792. function repeaterItemTap(args) {
  6793.     var item = args.view.bindingContext;
  6794.     var page = frame.topmost().currentPage;
  6795.     loadItem(page, item);
  6796. }
  6797. exports.repeaterItemTap = repeaterItemTap;
  6798. function goBack(args) {
  6799.     navigator.navigateBackFromExample();
  6800. }
  6801. exports.goBack = goBack;
  6802.  
  6803.  
  6804. /***/ }),
  6805. /* 191 */
  6806. /*!**************************************!*\
  6807.   !*** ./examples/chart/pie-series.ts ***!
  6808.   \**************************************/
  6809. /*! no static exports found */
  6810. /*! all exports used */
  6811. /***/ (function(module, exports, __webpack_require__) {
  6812.  
  6813. Object.defineProperty(exports, "__esModule", { value: true });
  6814. var utils = __webpack_require__(/*! utils/utils */ 1);
  6815. var models = __webpack_require__(/*! ./view-model */ 26);
  6816. var frame = __webpack_require__(/*! ui/frame */ 7);
  6817. var navigator = __webpack_require__(/*! ../../common/navigator */ 5);
  6818. function rootGridLoaded(args) {
  6819.     var grid = args.object;
  6820.     if (grid.android) {
  6821.         var compat = android.support.v4.view.ViewCompat;
  6822.         if (compat.setElevation) {
  6823.             // Fix for the elevation glitch of the tab-view
  6824.             compat.setElevation(grid.android, 4 * utils.layout.getDisplayDensity());
  6825.         }
  6826.     }
  6827. }
  6828. exports.rootGridLoaded = rootGridLoaded;
  6829. function loadItem(page, item) {
  6830.     var dataModel = page.bindingContext;
  6831.     dataModel.loadGalleryFragment(item, page.getViewById("exampleHolder"), "~/examples/chart/pie", item.exampleXml);
  6832. }
  6833. var dataModel = new models.ChartExamplesDataModel(false);
  6834. function pageNavigatingTo(args) {
  6835.     var page = args.object;
  6836.     page.bindingContext = dataModel;
  6837.     var itemToLoad = dataModel.pieTypes[0];
  6838.     loadItem(page, itemToLoad);
  6839. }
  6840. exports.pageNavigatingTo = pageNavigatingTo;
  6841. function scrollViewLoaded(args) {
  6842.     if (args.object.android) {
  6843.         args.object.android.setHorizontalScrollBarEnabled(false);
  6844.     }
  6845. }
  6846. exports.scrollViewLoaded = scrollViewLoaded;
  6847. function repeaterItemTap(args) {
  6848.     var item = args.view.bindingContext;
  6849.     var page = frame.topmost().currentPage;
  6850.     loadItem(page, item);
  6851. }
  6852. exports.repeaterItemTap = repeaterItemTap;
  6853. function goBack(args) {
  6854.     navigator.navigateBackFromExample();
  6855. }
  6856. exports.goBack = goBack;
  6857.  
  6858.  
  6859. /***/ }),
  6860. /* 192 */
  6861. /*!*****************************************************************!*\
  6862.   !*** ./examples/conference-agenda/conference-agenda-example.ts ***!
  6863.   \*****************************************************************/
  6864. /*! no static exports found */
  6865. /*! all exports used */
  6866. /***/ (function(module, exports, __webpack_require__) {
  6867.  
  6868. Object.defineProperty(exports, "__esModule", { value: true });
  6869. var color_1 = __webpack_require__(/*! color */ 11);
  6870. var platform = __webpack_require__(/*! platform */ 3);
  6871. var navigator = __webpack_require__(/*! ../../common/navigator */ 5);
  6872. var linearGradient = __webpack_require__(/*! ../../common/linear-gradient */ 87);
  6873. var conferenceViewModel = __webpack_require__(/*! ./conference-view-model */ 88);
  6874. var utils = __webpack_require__(/*! utils/utils */ 1);
  6875. function pageNavigatingTo(args) {
  6876.     var page = args.object;
  6877.     page.bindingContext = conferenceViewModel.instance;
  6878. }
  6879. exports.pageNavigatingTo = pageNavigatingTo;
  6880. function doNotShowAndroidKeyboard(args) {
  6881.     var searchBar = args.object;
  6882.     if (searchBar.android) {
  6883.         searchBar.android.clearFocus();
  6884.     }
  6885. }
  6886. exports.doNotShowAndroidKeyboard = doNotShowAndroidKeyboard;
  6887. function onBackgroundLoaded(args) {
  6888.     var background = args.object;
  6889.     var colors = new Array(new color_1.Color("#67749b"), new color_1.Color("#5b677b"));
  6890.     var orientation = linearGradient.Orientation.Top_Bottom;
  6891.     switch (platform.device.os) {
  6892.         case platform.platformNames.android:
  6893.             linearGradient.drawBackground(background, colors, orientation);
  6894.             break;
  6895.         case platform.platformNames.ios:
  6896.             // The iOS view has to be sized in order to apply a background
  6897.             setTimeout(function () {
  6898.                 linearGradient.drawBackground(background, colors, orientation);
  6899.             });
  6900.             var search = background.getViewById("search");
  6901.             search.ios.backgroundImage = UIImage.alloc().init();
  6902.             break;
  6903.     }
  6904. }
  6905. exports.onBackgroundLoaded = onBackgroundLoaded;
  6906. function changeCellBackground(args) {
  6907.     if (args.ios) {
  6908.         var cell = args.ios;
  6909.         cell.backgroundColor = utils.ios.getter(UIColor, UIColor.clearColor);
  6910.     }
  6911. }
  6912. exports.changeCellBackground = changeCellBackground;
  6913. function toggleFavourite(args) {
  6914.     var session = args.view.bindingContext;
  6915.     session.toggleFavourite();
  6916. }
  6917. exports.toggleFavourite = toggleFavourite;
  6918. var closeTimeout = 0;
  6919. function inputTap(args) {
  6920.     if (closeTimeout) {
  6921.         clearTimeout(closeTimeout);
  6922.     }
  6923.     closeTimeout = setTimeout(function () {
  6924.         closeTimeout = 0;
  6925.     }, 20);
  6926. }
  6927. exports.inputTap = inputTap;
  6928. function tap(args) {
  6929.     var page = args.object.page;
  6930.     if (!closeTimeout) {
  6931.         closeTimeout = setTimeout(function () {
  6932.             page.getViewById("search").dismissSoftInput();
  6933.             closeTimeout = 0;
  6934.         }, 20);
  6935.     }
  6936. }
  6937. exports.tap = tap;
  6938. function goBack(args) {
  6939.     navigator.navigateBackFromExample();
  6940. }
  6941. exports.goBack = goBack;
  6942.  
  6943.  
  6944. /***/ }),
  6945. /* 193 */
  6946. /*!******************************************!*\
  6947.   !*** ./common/linear-gradient-common.ts ***!
  6948.   \******************************************/
  6949. /*! no static exports found */
  6950. /*! all exports used */
  6951. /***/ (function(module, exports) {
  6952.  
  6953. Object.defineProperty(exports, "__esModule", { value: true });
  6954. var Orientation;
  6955. (function (Orientation) {
  6956.     Orientation[Orientation["TopLeft_BottomRight"] = 0] = "TopLeft_BottomRight";
  6957.     Orientation[Orientation["Left_Right"] = 1] = "Left_Right";
  6958.     Orientation[Orientation["BottomLeft_TopRight"] = 2] = "BottomLeft_TopRight";
  6959.     Orientation[Orientation["Bottom_Top"] = 3] = "Bottom_Top";
  6960.     Orientation[Orientation["BottomRight_TopLeft"] = 4] = "BottomRight_TopLeft";
  6961.     Orientation[Orientation["Right_Left"] = 5] = "Right_Left";
  6962.     Orientation[Orientation["TopRight_BottomLeft"] = 6] = "TopRight_BottomLeft";
  6963.     Orientation[Orientation["Top_Bottom"] = 7] = "Top_Bottom";
  6964. })(Orientation = exports.Orientation || (exports.Orientation = {}));
  6965.  
  6966.  
  6967. /***/ }),
  6968. /* 194 */
  6969. /*!*****************************************************!*\
  6970.   !*** ./examples/dataform/reservations-list-page.ts ***!
  6971.   \*****************************************************/
  6972. /*! no static exports found */
  6973. /*! all exports used */
  6974. /***/ (function(module, exports, __webpack_require__) {
  6975.  
  6976. Object.defineProperty(exports, "__esModule", { value: true });
  6977. var model = __webpack_require__(/*! ./reservations-view-model */ 195);
  6978. var navigator = __webpack_require__(/*! ../../common/navigator */ 5);
  6979. var frame_1 = __webpack_require__(/*! ui/frame */ 7);
  6980. var viewModel;
  6981. function pageNavigatingTo(args) {
  6982.     var page = args.object;
  6983.     if (args.isBackNavigation && args.context instanceof model.ReservationsViewModel) {
  6984.         viewModel = args.context;
  6985.     }
  6986.     else {
  6987.         viewModel = new model.ReservationsViewModel();
  6988.     }
  6989.     page.bindingContext = null;
  6990.     page.bindingContext = viewModel;
  6991. }
  6992. exports.pageNavigatingTo = pageNavigatingTo;
  6993. function pageNavigatedFrom(args) {
  6994.     if (args.isBackNavigation) {
  6995.         viewModel = undefined;
  6996.     }
  6997. }
  6998. exports.pageNavigatedFrom = pageNavigatedFrom;
  6999. function goBack(args) {
  7000.     navigator.navigateBackFromExample();
  7001. }
  7002. exports.goBack = goBack;
  7003. function onItemTap(args) {
  7004.     var item = viewModel.reservations.getItem(args.index);
  7005.     navigateToEditPage(item, false);
  7006. }
  7007. exports.onItemTap = onItemTap;
  7008. function onImageTap(args) {
  7009.     var item = new model.Reservation();
  7010.     navigateToEditPage(item, true);
  7011. }
  7012. exports.onImageTap = onImageTap;
  7013. function navigateToEditPage(item, isNew) {
  7014.     viewModel.currentReservation = item;
  7015.     viewModel.isNew = isNew;
  7016.     frame_1.topmost().navigate({
  7017.         moduleName: "examples/dataform/reservations-edit-page",
  7018.         animated: true,
  7019.         context: viewModel
  7020.     });
  7021. }
  7022. exports.navigateToEditPage = navigateToEditPage;
  7023.  
  7024.  
  7025. /***/ }),
  7026. /* 195 */
  7027. /*!******************************************************!*\
  7028.   !*** ./examples/dataform/reservations-view-model.ts ***!
  7029.   \******************************************************/
  7030. /*! no static exports found */
  7031. /*! all exports used */
  7032. /***/ (function(module, exports, __webpack_require__) {
  7033.  
  7034. Object.defineProperty(exports, "__esModule", { value: true });
  7035. var observable_1 = __webpack_require__(/*! data/observable */ 4);
  7036. var observable_array_1 = __webpack_require__(/*! data/observable-array */ 12);
  7037. var appModule = __webpack_require__(/*! application */ 2);
  7038. var ReservationsViewModel = (function (_super) {
  7039.     __extends(ReservationsViewModel, _super);
  7040.     function ReservationsViewModel() {
  7041.         var _this = _super.call(this) || this;
  7042.         _this.todayDate = formatDateWithDay(new Date());
  7043.         _this.reservations = new observable_array_1.ObservableArray();
  7044.         var today = formatDateWithYear(new Date());
  7045.         var reservation1 = Reservation.makeReservationWith("Rachel Nabors", "359-555-1236", today, "20:00", 3, "patio", 10, "in-person", false);
  7046.         _this.reservations.push(reservation1);
  7047.         var reservation2 = Reservation.makeReservationWith("Christian Heilmann", "359-555-1236", today, "20:30", 4, "patio", 6, "in-person", false);
  7048.         _this.reservations.push(reservation2);
  7049.         var reservation3 = Reservation.makeReservationWith("Thomas Drake", "359-555-1236", today, "21:00", 1, "patio", 4, "in-person", false);
  7050.         _this.reservations.push(reservation3);
  7051.         var reservation4 = Reservation.makeReservationWith("Aaron White", "359-555-1236", today, "21:00", 2, "patio", 2, "in-person", false);
  7052.         _this.reservations.push(reservation4);
  7053.         var reservation5 = Reservation.makeReservationWith("Nancy Davolio", "359-555-1236", today, "21:45", 4, "patio", 6, "in-person", false);
  7054.         _this.reservations.push(reservation5);
  7055.         var options = new Array();
  7056.         options.push("phone");
  7057.         options.push("in-person");
  7058.         options.push("online");
  7059.         options.push("other");
  7060.         _this.originOptions = options;
  7061.         var tOptions = new Array();
  7062.         tOptions.push(1);
  7063.         tOptions.push(2);
  7064.         tOptions.push(3);
  7065.         tOptions.push(4);
  7066.         _this.tableOptions = tOptions;
  7067.         var sOptions = new Array();
  7068.         sOptions.push("1st floor");
  7069.         sOptions.push("2nd floor");
  7070.         sOptions.push("3rd floor");
  7071.         sOptions.push("Patio");
  7072.         _this.sectionOptions = sOptions;
  7073.         appModule.getResources()["timeConverter"] = timeConverter;
  7074.         appModule.getResources()["ampmConverter"] = ampmConverter;
  7075.         return _this;
  7076.     }
  7077.     Object.defineProperty(ReservationsViewModel.prototype, "isNew", {
  7078.         get: function () {
  7079.             return this.get("_isNew");
  7080.         },
  7081.         set: function (value) {
  7082.             this.set("_isNew", value);
  7083.         },
  7084.         enumerable: true,
  7085.         configurable: true
  7086.     });
  7087.     Object.defineProperty(ReservationsViewModel.prototype, "todayDate", {
  7088.         get: function () {
  7089.             return this.get("_todayDate");
  7090.         },
  7091.         set: function (value) {
  7092.             this.set("_todayDate", value);
  7093.         },
  7094.         enumerable: true,
  7095.         configurable: true
  7096.     });
  7097.     Object.defineProperty(ReservationsViewModel.prototype, "reservations", {
  7098.         get: function () {
  7099.             return this.get("_reservations");
  7100.         },
  7101.         set: function (value) {
  7102.             this.set("_reservations", value);
  7103.         },
  7104.         enumerable: true,
  7105.         configurable: true
  7106.     });
  7107.     Object.defineProperty(ReservationsViewModel.prototype, "currentReservation", {
  7108.         get: function () {
  7109.             return this.get("_currentReservation");
  7110.         },
  7111.         set: function (value) {
  7112.             this.set("_currentReservation", value);
  7113.         },
  7114.         enumerable: true,
  7115.         configurable: true
  7116.     });
  7117.     Object.defineProperty(ReservationsViewModel.prototype, "sectionOptions", {
  7118.         get: function () {
  7119.             return this.get("_sectionOptions");
  7120.         },
  7121.         set: function (value) {
  7122.             this.set("_sectionOptions", value);
  7123.         },
  7124.         enumerable: true,
  7125.         configurable: true
  7126.     });
  7127.     Object.defineProperty(ReservationsViewModel.prototype, "originOptions", {
  7128.         get: function () {
  7129.             return this.get("_originOptions");
  7130.         },
  7131.         set: function (value) {
  7132.             this.set("_originOptions", value);
  7133.         },
  7134.         enumerable: true,
  7135.         configurable: true
  7136.     });
  7137.     Object.defineProperty(ReservationsViewModel.prototype, "tableOptions", {
  7138.         get: function () {
  7139.             return this.get("_tableOptions");
  7140.         },
  7141.         set: function (value) {
  7142.             this.set("_tableOptions", value);
  7143.         },
  7144.         enumerable: true,
  7145.         configurable: true
  7146.     });
  7147.     return ReservationsViewModel;
  7148. }(observable_1.Observable));
  7149. exports.ReservationsViewModel = ReservationsViewModel;
  7150. function formatDateWithDay(date) {
  7151.     var day = date.getDate();
  7152.     var month = date.getMonth() + 1;
  7153.     var dateText = day < 10 ? "0" + day : day;
  7154.     var monthText = month < 10 ? "0" + month : month;
  7155.     var dayOfWeek = date.getDay();
  7156.     return dayText(dayOfWeek) + ", " + dateText + "." + monthText;
  7157. }
  7158. function formatDateWithYear(date) {
  7159.     var day = date.getDate();
  7160.     var month = date.getMonth() + 1;
  7161.     var year = date.getFullYear();
  7162.     return year + "-" + month + "-" + day;
  7163. }
  7164. function dayText(day) {
  7165.     switch (day) {
  7166.         case 1: return "Mon";
  7167.         case 2: return "Tue";
  7168.         case 3: return "Wed";
  7169.         case 4: return "Thu";
  7170.         case 5: return "Fri";
  7171.         case 6: return "Sat";
  7172.         case 7: return "Sun";
  7173.     }
  7174. }
  7175. var timeConverter = function (value) {
  7176.     var valueParts = value.split(":");
  7177.     var hour = valueParts[0];
  7178.     var minute = valueParts[1];
  7179.     var hourValue = Number(hour);
  7180.     if (hourValue > 12) {
  7181.         hourValue -= 12;
  7182.     }
  7183.     if (hourValue == 0) {
  7184.         hourValue = 12;
  7185.     }
  7186.     return hourValue + ":" + minute;
  7187. };
  7188. var ampmConverter = function (value) {
  7189.     var valueParts = value.split(":");
  7190.     var hour = valueParts[0];
  7191.     var minute = valueParts[1];
  7192.     var hourValue = Number(hour);
  7193.     if (hourValue >= 12) {
  7194.         return "pm";
  7195.     }
  7196.     return "am";
  7197. };
  7198. var Reservation = (function () {
  7199.     function Reservation() {
  7200.         this.name = "";
  7201.         this.phone = "";
  7202.         this.date = formatDateWithYear(new Date());
  7203.         this.time = "20:00";
  7204.         this.table = 1;
  7205.         this.section = "patio";
  7206.         this.guests = 1;
  7207.         this.origin = "in-person";
  7208.         this.cancelled = false;
  7209.     }
  7210.     Reservation.makeReservationWith = function (name, phone, date, time, table, section, guests, origin, cancelled) {
  7211.         var r = new Reservation();
  7212.         r.name = name;
  7213.         r.phone = phone;
  7214.         r.date = date;
  7215.         r.time = time;
  7216.         r.table = table;
  7217.         r.section = section;
  7218.         r.guests = guests;
  7219.         r.origin = origin;
  7220.         r.cancelled = cancelled;
  7221.         return r;
  7222.     };
  7223.     return Reservation;
  7224. }());
  7225. exports.Reservation = Reservation;
  7226.  
  7227.  
  7228. /***/ }),
  7229. /* 196 */
  7230. /*!*************************************************************!*\
  7231.   !*** ./examples/dataform/reservations-edit-page.android.ts ***!
  7232.   \*************************************************************/
  7233. /*! no static exports found */
  7234. /*! all exports used */
  7235. /***/ (function(module, exports, __webpack_require__) {
  7236.  
  7237. Object.defineProperty(exports, "__esModule", { value: true });
  7238. var viewModule = __webpack_require__(/*! ui/core/view */ 0);
  7239. var navigator = __webpack_require__(/*! ../../common/navigator */ 5);
  7240. var color_1 = __webpack_require__(/*! color */ 11);
  7241. var platform = __webpack_require__(/*! platform */ 3);
  7242. var colorAccent = new color_1.Color("#BF3136");
  7243. var model;
  7244. var imageWidth;
  7245. var scale;
  7246. function pageNavigatedTo(args) {
  7247.     var screen = platform.screen;
  7248.     scale = screen.mainScreen.scale;
  7249.     imageWidth = 56 * scale;
  7250.     var page = args.object;
  7251.     model = args.context;
  7252.     page.bindingContext = model;
  7253. }
  7254. exports.pageNavigatedTo = pageNavigatedTo;
  7255. function saveChanges(args) {
  7256.     var page = args.object.page;
  7257.     var dataForm = viewModule.getViewById(page, "reservationForm");
  7258.     dataForm.commitAll();
  7259.     if (dataForm.hasValidationErrors()) {
  7260.         return;
  7261.     }
  7262.     if (model.isNew) {
  7263.         model.reservations.push(model.currentReservation);
  7264.     }
  7265.     navigator.navigateBackWithContext(model);
  7266. }
  7267. exports.saveChanges = saveChanges;
  7268. function goBack(args) {
  7269.     navigator.navigateBack();
  7270. }
  7271. exports.goBack = goBack;
  7272. function dfEditorUpdate(data) {
  7273.     if (data.propertyName == "guests") {
  7274.         setupEditorGuests(data.editor);
  7275.     }
  7276.     if (data.propertyName == "section" || data.propertyName == "table") {
  7277.         editorSetupPicker(data.editor);
  7278.     }
  7279.     if (data.propertyName == "origin") {
  7280.         var root;
  7281.         if (data.editor.rootLayout instanceof Function) {
  7282.             root = data.editor.rootLayout();
  7283.         }
  7284.         else {
  7285.             root = data.editor.rootLayout;
  7286.         }
  7287.         root.getLayoutParams().setMargins(imageWidth, 0, 0, 0);
  7288.     }
  7289. }
  7290. exports.dfEditorUpdate = dfEditorUpdate;
  7291. function dfEditorSetup(data) {
  7292. }
  7293. exports.dfEditorSetup = dfEditorSetup;
  7294. function setupEditorGuests(editor) {
  7295.     var numberPicker = editor.getEditorView();
  7296.     numberPicker.setPluralFormatString("%.0f guests");
  7297.     numberPicker.setSingleFormatString("%.0f guest");
  7298.     numberPicker.decreaseView().setTextColor(colorAccent.android);
  7299.     numberPicker.increaseView().setTextColor(colorAccent.android);
  7300. }
  7301. exports.setupEditorGuests = setupEditorGuests;
  7302. function dfGroupUpdate(data) {
  7303.     if (data.groupName != "TABLE DETAILS") {
  7304.         return;
  7305.     }
  7306.     var androidContext = data.group.rootLayout().getContext();
  7307.     var bgResourceId = androidContext.getResources().getIdentifier("dataform_table_bg", "drawable", androidContext.getPackageName());
  7308.     var bgDrawable = androidContext.getResources().getDrawable(bgResourceId);
  7309.     data.group.rootLayout().setBackground(bgDrawable);
  7310. }
  7311. exports.dfGroupUpdate = dfGroupUpdate;
  7312. function editorSetupPicker(editor) {
  7313.     var androidContext = editor.getEditorView().getContext();
  7314.     var customEditorLayoutId = androidContext.getResources().getIdentifier("reservation_table_spinner_editor", "layout", androidContext.getPackageName());
  7315.     var customItemLayoutId = androidContext.getResources().getIdentifier("reservation_table_spinner_item", "layout", androidContext.getPackageName());
  7316.     editor.setSpinnerItemLayoutId(customItemLayoutId);
  7317.     editor.setEditorLayout(customEditorLayoutId);
  7318. }
  7319. exports.editorSetupPicker = editorSetupPicker;
  7320. // Custom Button editor
  7321. var buttonValue;
  7322. function editorNeedsView(args) {
  7323.     var editorView = new android.widget.TextView(args.context);
  7324.     editorView.setTextColor(colorAccent.android);
  7325.     var layoutParams = new android.widget.FrameLayout.LayoutParams(-2, -2);
  7326.     layoutParams.setMargins(imageWidth, 0, 0, 0);
  7327.     editorView.setLayoutParams(layoutParams);
  7328.     var editorPadding = 4 * scale;
  7329.     editorView.setPadding(editorPadding, editorPadding, editorPadding, editorPadding);
  7330.     editorView.setOnClickListener(new android.view.View.OnClickListener({
  7331.         onClick: function (view) {
  7332.             handleTap(view, args.object);
  7333.         }
  7334.     }));
  7335.     args.view = editorView;
  7336. }
  7337. exports.editorNeedsView = editorNeedsView;
  7338. function editorHasToApplyValue(args) {
  7339.     updateEditorValue(args.view, args.value);
  7340. }
  7341. exports.editorHasToApplyValue = editorHasToApplyValue;
  7342. function editorNeedsValue(args) {
  7343.     args.value = buttonValue;
  7344. }
  7345. exports.editorNeedsValue = editorNeedsValue;
  7346. function updateEditorValue(editorView, value) {
  7347.     buttonValue = value;
  7348.     var buttonText = buttonValue ? "CANCELLED" : "CANCEL RESERVATION";
  7349.     editorView.setText(buttonText);
  7350. }
  7351. exports.updateEditorValue = updateEditorValue;
  7352. function handleTap(editorView, editor) {
  7353.     var newValue = !buttonValue;
  7354.     updateEditorValue(editorView, newValue);
  7355.     editor.notifyValueChanged();
  7356. }
  7357. exports.handleTap = handleTap;
  7358.  
  7359.  
  7360. /***/ }),
  7361. /* 197 */
  7362. /*!***************************************!*\
  7363.   !*** ./examples/example-base-page.ts ***!
  7364.   \***************************************/
  7365. /*! no static exports found */
  7366. /*! all exports used */
  7367. /***/ (function(module, exports, __webpack_require__) {
  7368.  
  7369. Object.defineProperty(exports, "__esModule", { value: true });
  7370. var pages = __webpack_require__(/*! ui/page */ 53);
  7371. var platform = __webpack_require__(/*! platform */ 3);
  7372. var prof = __webpack_require__(/*! ../common/profiling */ 35);
  7373. var builder = __webpack_require__(/*! ui/builder */ 20);
  7374. var file_system_1 = __webpack_require__(/*! file-system */ 6);
  7375. var OVERLAY_ELEVATION = 12;
  7376. var CURVE = (platform.device.os === platform.platformNames.android) ? new android.view.animation.AccelerateDecelerateInterpolator() : UIViewAnimationCurve.UIViewAnimationCurveEaseInOut;
  7377. var ExamplePage = (function (_super) {
  7378.     __extends(ExamplePage, _super);
  7379.     function ExamplePage() {
  7380.         var _this = _super.call(this) || this;
  7381.         // TODO: Hides the back button for iOS, check if this can be set in XML or with cross platform API.
  7382.         _this.on("navigatingTo", function (args) {
  7383.             if (!_this.sidedrawer) {
  7384.                 var root = _this.content;
  7385.                 var originalRootBindingContext = root.bindingContext;
  7386.                 var menuPath = file_system_1.knownFolders.currentApp().path + "/examples/example-menu.xml";
  7387.                 var menufragment = builder.load(menuPath, __webpack_require__(/*! ./example-menu */ 93));
  7388.                 _this.sidedrawer = menufragment.getViewById("example-menu-drawer");
  7389.                 _this.content = menufragment;
  7390.                 _this.sidedrawer.mainContent = root;
  7391.                 if (root.bindingContext !== originalRootBindingContext) {
  7392.                     root.bindingContext = originalRootBindingContext;
  7393.                 }
  7394.                 _this.sidedrawer.drawerContent.bindingContext = _this.navigationContext;
  7395.             }
  7396.         });
  7397.         return _this;
  7398.     }
  7399.     ExamplePage.prototype.onLoaded = function () {
  7400.         var _this = this;
  7401.         _super.prototype.onLoaded.call(this);
  7402.         // prof.stopCPUProfile("example");
  7403.         prof.stop("example");
  7404.         this.actionBar.actionItems.getItems().forEach(function (item) {
  7405.             if (item.id === "exampleMenuButton") {
  7406.                 item.on("tap", function () {
  7407.                     // TODO: Toggle instead
  7408.                     _this.sidedrawer.gesturesEnabled = true;
  7409.                     _this.sidedrawer.showDrawer();
  7410.                 });
  7411.             }
  7412.         });
  7413.     };
  7414.     return ExamplePage;
  7415. }(pages.Page));
  7416. exports.ExamplePage = ExamplePage;
  7417.  
  7418.  
  7419. /***/ }),
  7420. /* 198 */
  7421. /*!*********************************************!*\
  7422.   !*** ./examples/layouts/layouts-example.ts ***!
  7423.   \*********************************************/
  7424. /*! no static exports found */
  7425. /*! all exports used */
  7426. /***/ (function(module, exports, __webpack_require__) {
  7427.  
  7428. Object.defineProperty(exports, "__esModule", { value: true });
  7429. var observable = __webpack_require__(/*! data/observable */ 4);
  7430. var utils = __webpack_require__(/*! utils/utils */ 1);
  7431. var navigator = __webpack_require__(/*! ../../common/navigator */ 5);
  7432. var page;
  7433. function rootGridLoaded(args) {
  7434.     var grid = args.object;
  7435.     if (grid.android) {
  7436.         var compat = android.support.v4.view.ViewCompat;
  7437.         if (compat.setElevation) {
  7438.             // Fix for the elevation glitch of the tab-view
  7439.             compat.setElevation(grid.android, 4 * utils.layout.getDisplayDensity());
  7440.         }
  7441.     }
  7442. }
  7443. exports.rootGridLoaded = rootGridLoaded;
  7444. // TODO: This should be in "pageNavigatingTo" but that method is defined in the Page base class
  7445. function pageNavigatingTo(args) {
  7446.     page = args.object;
  7447.     page.bindingContext = observable.fromObject({
  7448.         selectedIndex: 0
  7449.     });
  7450.     selectedIndexChanged(null);
  7451. }
  7452. exports.pageNavigatingTo = pageNavigatingTo;
  7453. function goBack(args) {
  7454.     navigator.navigateBackFromExample();
  7455. }
  7456. exports.goBack = goBack;
  7457. function selectedIndexChanged(args) {
  7458.     if (page !== undefined) {
  7459.         var tabView = page.getViewById("tabView");
  7460.         var index = tabView.selectedIndex;
  7461.         var names = ["btn-red", "btn-yellow", "btn-blue", "btn-lightblue", "btn-lightgreen"];
  7462.         for (var _i = 0, names_1 = names; _i < names_1.length; _i++) {
  7463.             var name_1 = names_1[_i];
  7464.             var view = page.getViewById("" + index + name_1);
  7465.             if (view !== undefined) {
  7466.                 view.className = name_1;
  7467.                 view.className = name_1 + "-animated";
  7468.             }
  7469.         }
  7470.     }
  7471. }
  7472. exports.selectedIndexChanged = selectedIndexChanged;
  7473. function buttonTap(args) {
  7474.     var button = args.object;
  7475.     var className = button.className.replace("-animated", "").replace("2", "");
  7476.     button.className = className;
  7477.     button.className = className + "-animated2";
  7478. }
  7479. exports.buttonTap = buttonTap;
  7480.  
  7481.  
  7482. /***/ }),
  7483. /* 199 */
  7484. /*!*******************************************************!*\
  7485.   !*** ./examples/listview/layouts/listview-layouts.ts ***!
  7486.   \*******************************************************/
  7487. /*! no static exports found */
  7488. /*! all exports used */
  7489. /***/ (function(module, exports, __webpack_require__) {
  7490.  
  7491. Object.defineProperty(exports, "__esModule", { value: true });
  7492. var layouts_view_model_1 = __webpack_require__(/*! ./layouts-view-model */ 94);
  7493. var listview_1 = __webpack_require__(/*! nativescript-telerik-ui-pro/listview */ 54);
  7494. var navigator = __webpack_require__(/*! ../../../common/navigator */ 5);
  7495. var GRID_LAYOUT = new listview_1.ListViewGridLayout();
  7496. GRID_LAYOUT.spanCount = 2;
  7497. GRID_LAYOUT.itemHeight = 160;
  7498. var LINEAR_LAYOUT = new listview_1.ListViewLinearLayout();
  7499. LINEAR_LAYOUT.itemHeight = 210;
  7500. if (LINEAR_LAYOUT.ios) {
  7501.     LINEAR_LAYOUT.ios.dynamicItemSize = false;
  7502. }
  7503. function pageNavigatingTo(args) {
  7504.     var page = args.object;
  7505.     page.bindingContext = new layouts_view_model_1.ListViewLayoutsModel();
  7506. }
  7507. exports.pageNavigatingTo = pageNavigatingTo;
  7508. function onChangeLayoutTap(args) {
  7509.     var page = args.object.page;
  7510.     var listView = page.getViewById("list-view");
  7511.     var viewModel = page.bindingContext;
  7512.     listView.listViewLayout = viewModel.isLinearActive ? GRID_LAYOUT : LINEAR_LAYOUT;
  7513.     viewModel.isLinearActive = !viewModel.isLinearActive;
  7514. }
  7515. exports.onChangeLayoutTap = onChangeLayoutTap;
  7516. function goBack(args) {
  7517.     navigator.navigateBackFromExample();
  7518. }
  7519. exports.goBack = goBack;
  7520.  
  7521.  
  7522. /***/ }),
  7523. /* 200 */,
  7524. /* 201 */
  7525. /*!*******************************************************!*\
  7526.   !*** ./examples/listview/reorder/listview-reorder.ts ***!
  7527.   \*******************************************************/
  7528. /*! no static exports found */
  7529. /*! all exports used */
  7530. /***/ (function(module, exports, __webpack_require__) {
  7531.  
  7532. Object.defineProperty(exports, "__esModule", { value: true });
  7533. var model = __webpack_require__(/*! ./listview-reorder-model */ 96);
  7534. var viewModule = __webpack_require__(/*! ui/core/view */ 0);
  7535. var utils = __webpack_require__(/*! utils/utils */ 1);
  7536. var navigator = __webpack_require__(/*! ../../../common/navigator */ 5);
  7537. var viewModel = new model.ListViewReorderModel();
  7538. var todoList;
  7539. var reorderedItem;
  7540. function pageNavigatingTo(args) {
  7541.     var page = args.object;
  7542.     if (viewModel === undefined) {
  7543.         viewModel = new model.ListViewReorderModel();
  7544.     }
  7545.     page.bindingContext = viewModel;
  7546.     todoList = page.getViewById("todo-list");
  7547. }
  7548. exports.pageNavigatingTo = pageNavigatingTo;
  7549. function pageNavigatedFrom(args) {
  7550.     if (args.isBackNavigation) {
  7551.         viewModel = undefined;
  7552.     }
  7553. }
  7554. exports.pageNavigatedFrom = pageNavigatedFrom;
  7555. function onItemSwipeProgressStarted(args) {
  7556.     args.data.swipeLimits.threshold = todoList.getMeasuredWidth() * utils.layout.getDisplayDensity();
  7557.     args.data.swipeLimits.left = 350 * utils.layout.getDisplayDensity();
  7558.     args.data.swipeLimits.right = 350 * utils.layout.getDisplayDensity();
  7559. }
  7560. exports.onItemSwipeProgressStarted = onItemSwipeProgressStarted;
  7561. function onItemSwipeProgressChanged(args) {
  7562.     var itemView = args.object;
  7563.     var currentView;
  7564.     if (args.data.x >= 0) {
  7565.         currentView = itemView.getViewById("complete-view");
  7566.         var dimensions = viewModule.View.measureChild(currentView.parent, currentView, utils.layout.makeMeasureSpec(args.data.x, utils.layout.EXACTLY), utils.layout.makeMeasureSpec(currentView.getMeasuredHeight(), utils.layout.EXACTLY));
  7567.         viewModule.View.layoutChild(currentView.parent, currentView, 0, 0, dimensions.measuredWidth, dimensions.measuredHeight);
  7568.     }
  7569.     else {
  7570.         currentView = itemView.getViewById("delete-view");
  7571.         var dimensions = viewModule.View.measureChild(currentView.parent, currentView, utils.layout.makeMeasureSpec(Math.abs(args.data.x), utils.layout.EXACTLY), utils.layout.makeMeasureSpec(currentView.getMeasuredHeight(), utils.layout.EXACTLY));
  7572.         viewModule.View.layoutChild(currentView.parent, currentView, itemView.getMeasuredWidth() - dimensions.measuredWidth, 0, itemView.getMeasuredWidth(), dimensions.measuredHeight);
  7573.     }
  7574. }
  7575. exports.onItemSwipeProgressChanged = onItemSwipeProgressChanged;
  7576. function onItemSwipeProgressEnded(args) {
  7577.     if ((args.data.x * utils.layout.getDisplayDensity()) < -args.data.swipeLimits.threshold / 5) {
  7578.         viewModel.todoItems.splice(args.index, 1);
  7579.     }
  7580.     else if ((args.data.x * utils.layout.getDisplayDensity()) > args.data.swipeLimits.threshold / 5) {
  7581.         var completedItem = viewModel.todoItems.getItem(args.index);
  7582.         completedItem.isDone = !completedItem.isDone;
  7583.         console.log("TODO DONE: " + completedItem.isDone);
  7584.     }
  7585. }
  7586. exports.onItemSwipeProgressEnded = onItemSwipeProgressEnded;
  7587. function goBack(args) {
  7588.     navigator.navigateBackFromExample();
  7589. }
  7590. exports.goBack = goBack;
  7591.  
  7592.  
  7593. /***/ }),
  7594. /* 202 */
  7595. /*!****************************************************!*\
  7596.   !*** ./examples/listview/selection/detail-page.ts ***!
  7597.   \****************************************************/
  7598. /*! no static exports found */
  7599. /*! all exports used */
  7600. /***/ (function(module, exports, __webpack_require__) {
  7601.  
  7602. Object.defineProperty(exports, "__esModule", { value: true });
  7603. var navigator = __webpack_require__(/*! ../../../common/navigator */ 5);
  7604. function pageNavigatedTo(args) {
  7605.     var page = args.object;
  7606.     var item = args.context;
  7607.     page.bindingContext = item;
  7608. }
  7609. exports.pageNavigatedTo = pageNavigatedTo;
  7610. function onToggleFavouriteTap(args) {
  7611.     var page = args.object.page;
  7612.     var item = page.bindingContext;
  7613.     navigator.navigateBackWithContext({ action: "favorite", item: item });
  7614. }
  7615. exports.onToggleFavouriteTap = onToggleFavouriteTap;
  7616. function onDeleteTap(args) {
  7617.     var page = args.object.page;
  7618.     var item = page.bindingContext;
  7619.     navigator.navigateBackWithContext({ action: "delete", item: item });
  7620. }
  7621. exports.onDeleteTap = onDeleteTap;
  7622. function goBack(args) {
  7623.     navigator.navigateBack();
  7624. }
  7625. exports.goBack = goBack;
  7626.  
  7627.  
  7628. /***/ }),
  7629. /* 203 */
  7630. /*!**************************************************!*\
  7631.   !*** ./examples/listview/selection/main-page.ts ***!
  7632.   \**************************************************/
  7633. /*! no static exports found */
  7634. /*! all exports used */
  7635. /***/ (function(module, exports, __webpack_require__) {
  7636.  
  7637. Object.defineProperty(exports, "__esModule", { value: true });
  7638. var selection_view_model_1 = __webpack_require__(/*! ./selection-view-model */ 97);
  7639. var navigator = __webpack_require__(/*! ../../../common/navigator */ 5);
  7640. var platform = __webpack_require__(/*! platform */ 3);
  7641. var frame_1 = __webpack_require__(/*! ui/frame */ 7);
  7642. function listViewLoaded(args) {
  7643.     var listView = args.object;
  7644.     var page = args.object.page;
  7645.     if (!page.bindingContext) {
  7646.         page.bindingContext = new selection_view_model_1.SelectionViewModel(listView);
  7647.     }
  7648. }
  7649. exports.listViewLoaded = listViewLoaded;
  7650. // Returning from the details-page
  7651. function pageNavigatedTo(args) {
  7652.     var page = args.object;
  7653.     var viewModel = page.bindingContext;
  7654.     if (args.isBackNavigation && args.context && args.context.action && args.context.item && viewModel) {
  7655.         switch (args.context.action) {
  7656.             case "delete":
  7657.                 viewModel.deleteItem(args.context.item);
  7658.                 break;
  7659.             case "favorite":
  7660.                 var item = args.context.item;
  7661.                 item.IsFavourite = !item.IsFavourite;
  7662.                 break;
  7663.         }
  7664.         // Clear the delete/favorite context for the next time the user goes back to this page.
  7665.         frame_1.topmost().currentEntry.context = null;
  7666.     }
  7667. }
  7668. exports.pageNavigatedTo = pageNavigatedTo;
  7669. function goBack(args) {
  7670.     var page = args.object.page;
  7671.     var viewModel = page.bindingContext;
  7672.     if (platform.device.os === platform.platformNames.android && viewModel && (viewModel.isSelectionActive || viewModel.isReorderActive)) {
  7673.         viewModel.exitSelectionMode();
  7674.         return;
  7675.     }
  7676.     navigator.navigateBackFromExample();
  7677. }
  7678. exports.goBack = goBack;
  7679.  
  7680.  
  7681. /***/ }),
  7682. /* 204 */
  7683. /*!*******************************************************!*\
  7684.   !*** ./examples/user-profile/user-profile-example.ts ***!
  7685.   \*******************************************************/
  7686. /*! no static exports found */
  7687. /*! all exports used */
  7688. /***/ (function(module, exports, __webpack_require__) {
  7689.  
  7690. Object.defineProperty(exports, "__esModule", { value: true });
  7691. var observable = __webpack_require__(/*! data/observable */ 4);
  7692. var color_1 = __webpack_require__(/*! color */ 11);
  7693. var platform = __webpack_require__(/*! platform */ 3);
  7694. var application = __webpack_require__(/*! application */ 2);
  7695. var navigator = __webpack_require__(/*! ../../common/navigator */ 5);
  7696. var linearGradient = __webpack_require__(/*! ../../common/linear-gradient */ 87);
  7697. function onPageNavigatingTo(args) {
  7698.     var page = args.object;
  7699.     var viewModel = observable.fromObject({
  7700.         username: "ILoveNS",
  7701.         email: "team@mail.com",
  7702.         password: "password",
  7703.         bio: undefined,
  7704.         isPublic: true,
  7705.         showPassword: false
  7706.     });
  7707.     page.bindingContext = viewModel;
  7708. }
  7709. exports.onPageNavigatingTo = onPageNavigatingTo;
  7710. function onContentLoaded(args) {
  7711.     var view = args.object;
  7712.     // if (platform.device.os === platform.platformNames.ios) {
  7713.     //     view.ios.backgroundColor = UIColor.whiteColor();
  7714.     //     view.ios.layer.masksToBounds = false;
  7715.     //     view.ios.layer.shadowColor = UIColor.blackColor().CGColor;
  7716.     //     view.ios.layer.shadowOffset = CGSizeMake(5.0, 5.0);
  7717.     //     view.ios.layer.shadowOpacity = 0.5;
  7718.     //     view.ios.layer.bord
  7719.     // }
  7720. }
  7721. exports.onContentLoaded = onContentLoaded;
  7722. function onBackgroundLoaded(args) {
  7723.     var background = args.object;
  7724.     var colors = new Array(new color_1.Color("#667297"), new color_1.Color("#5C687C"));
  7725.     var orientation = linearGradient.Orientation.Top_Bottom;
  7726.     switch (platform.device.os) {
  7727.         case platform.platformNames.android:
  7728.             linearGradient.drawBackground(background, colors, orientation);
  7729.             break;
  7730.         case platform.platformNames.ios:
  7731.             // The iOS view has to be sized in order to apply a background
  7732.             setTimeout(function () {
  7733.                 linearGradient.drawBackground(background, colors, orientation);
  7734.             });
  7735.             break;
  7736.     }
  7737. }
  7738. exports.onBackgroundLoaded = onBackgroundLoaded;
  7739. function onProfilePictureTapped(args) {
  7740.     notify("Change Image Tapped!");
  7741. }
  7742. exports.onProfilePictureTapped = onProfilePictureTapped;
  7743. function onUpdateButtonTapped(args) {
  7744.     notify("Update Tapped!");
  7745. }
  7746. exports.onUpdateButtonTapped = onUpdateButtonTapped;
  7747. function notify(msg) {
  7748.     switch (platform.device.os) {
  7749.         case platform.platformNames.android:
  7750.             android.widget.Toast.makeText(application.android.context, msg, android.widget.Toast.LENGTH_SHORT).show();
  7751.             break;
  7752.         case platform.platformNames.ios:
  7753.             console.log(msg);
  7754.             break;
  7755.     }
  7756. }
  7757. function onShowPasswordTapped(args) {
  7758.     var view = args.object;
  7759.     var viewModel = view.page.bindingContext;
  7760.     viewModel.showPassword = !viewModel.showPassword;
  7761. }
  7762. exports.onShowPasswordTapped = onShowPasswordTapped;
  7763. var closeTimeout = 0;
  7764. function onTextInputTapped(args) {
  7765.     if (closeTimeout) {
  7766.         clearTimeout(closeTimeout);
  7767.     }
  7768.     closeTimeout = setTimeout(function () {
  7769.         closeTimeout = 0;
  7770.     }, 20);
  7771. }
  7772. exports.onTextInputTapped = onTextInputTapped;
  7773. function onPageTapped(args) {
  7774.     var page = args.object;
  7775.     if (!closeTimeout) {
  7776.         closeTimeout = setTimeout(function () {
  7777.             page.getViewById("username").dismissSoftInput();
  7778.             page.getViewById("email").dismissSoftInput();
  7779.             page.getViewById("password").dismissSoftInput();
  7780.             page.getViewById("bio").dismissSoftInput();
  7781.             closeTimeout = 0;
  7782.         }, 20);
  7783.     }
  7784. }
  7785. exports.onPageTapped = onPageTapped;
  7786. function goBack(args) {
  7787.     navigator.navigateBackFromExample();
  7788. }
  7789. exports.goBack = goBack;
  7790.  
  7791.  
  7792. /***/ }),
  7793. /* 205 */
  7794. /*!******************************!*\
  7795.   !*** ./views/what-is-new.ts ***!
  7796.   \******************************/
  7797. /*! no static exports found */
  7798. /*! all exports used */
  7799. /***/ (function(module, exports, __webpack_require__) {
  7800.  
  7801. Object.defineProperty(exports, "__esModule", { value: true });
  7802. var firebase = __webpack_require__(/*! ../common/firebase */ 29);
  7803. var utils = __webpack_require__(/*! utils/utils */ 1);
  7804. var platform_1 = __webpack_require__(/*! platform */ 3);
  7805. var navigator = __webpack_require__(/*! ../common/navigator */ 5);
  7806. function navigatingTo(args) {
  7807.     args.object.bindingContext = firebase.viewModel;
  7808. }
  7809. exports.navigatingTo = navigatingTo;
  7810. function itemTap(args) {
  7811.     var article = firebase.viewModel.news[args.index];
  7812.     article.isRead = true;
  7813.     if (article.url) {
  7814.         utils.openUrl(article.url);
  7815.     }
  7816. }
  7817. exports.itemTap = itemTap;
  7818. function listViewItemLoading(args) {
  7819.     if (platform_1.isIOS) {
  7820.         var cell = args.ios;
  7821.         cell.selectionStyle = UITableViewCellSelectionStyle.UITableViewCellSelectionStyleNone;
  7822.     }
  7823. }
  7824. exports.listViewItemLoading = listViewItemLoading;
  7825. function goBack(args) {
  7826.     navigator.navigateBack();
  7827. }
  7828. exports.goBack = goBack;
  7829.  
  7830.  
  7831. /***/ }),
  7832. /* 206 */
  7833. /*!***********************************************************************!*\
  7834.   !*** ../node_modules/nativescript-plugin-firebase/firebase-common.js ***!
  7835.   \***********************************************************************/
  7836. /*! no static exports found */
  7837. /*! all exports used */
  7838. /***/ (function(module, exports) {
  7839.  
  7840. var firebase = {};
  7841. firebase.analytics = {};
  7842. firebase.invites = {};
  7843. firebase.admob = {};
  7844. firebase.admob.AD_SIZE = {
  7845.   SMART_BANNER: "SMART",
  7846.   LARGE_BANNER: "LARGE",
  7847.   BANNER: "BANNER",
  7848.   MEDIUM_RECTANGLE: "MEDIUM",
  7849.   FULL_BANNER: "FULL",
  7850.   LEADERBOARD: "LEADERBOARD",
  7851.   SKYSCRAPER: "SKYSCRAPER",
  7852.   FLUID: "FLUID"
  7853. };
  7854. firebase.admob.defaults = {
  7855.   margins: {
  7856.     top: -1,
  7857.     bottom: -1
  7858.   },
  7859.   testing: false,
  7860.   size: firebase.admob.AD_SIZE.SMART_BANNER
  7861. };
  7862.  
  7863. firebase.merge = function merge(obj1, obj2){ // Our merge function
  7864.   var result = {}; // return result
  7865.   for(var i in obj1){      // for every property in obj1
  7866.     if((i in obj2) && (typeof obj1[i] === "object") && (i !== null)){
  7867.       result[i] = merge(obj1[i],obj2[i]); // if it's an object, merge
  7868.     }else{
  7869.       result[i] = obj1[i]; // add it to result
  7870.     }
  7871.   }
  7872.   for(i in obj2){ // add the remaining properties from object 2
  7873.     if(i in result){ //conflict
  7874.       continue;
  7875.     }
  7876.     result[i] = obj2[i];
  7877.   }
  7878.   return result;
  7879. };
  7880.  
  7881. firebase.LoginType = {
  7882.   ANONYMOUS: "anonymous",
  7883.   PASSWORD: "password",
  7884.   CUSTOM: "custom",
  7885.   FACEBOOK: "facebook",
  7886.   GOOGLE: "google"
  7887. };
  7888.  
  7889. firebase.QueryOrderByType = {
  7890.   KEY: "key",
  7891.   VALUE: "value",
  7892.   CHILD: "child",
  7893.   PRIORITY: "priority"    
  7894. };
  7895.  
  7896. firebase.QueryLimitType = {
  7897.   FIRST: "first",
  7898.   LAST: "last"
  7899. };
  7900.  
  7901. firebase.QueryRangeType = {
  7902.   START_AT: "startAt",
  7903.   END_AT: "endAt",
  7904.   EQUAL_TO: "equalTo"
  7905. };
  7906.  
  7907. firebase.instance = null;
  7908. firebase.storage = null;
  7909. firebase.firebaseRemoteConfig = null;
  7910. firebase.authStateListeners = [];
  7911. firebase._receivedNotificationCallback = null;
  7912.  
  7913. firebase.addAuthStateListener = function(listener) {
  7914.   if (firebase.authStateListeners.indexOf(listener) === -1) {
  7915.     firebase.authStateListeners.push(listener);
  7916.   }
  7917.   return true;
  7918. };
  7919.    
  7920. firebase.removeAuthStateListener = function(listener) {
  7921.   var index = firebase.authStateListeners.indexOf(listener);
  7922.   if (index >= 0) {
  7923.     firebase.authStateListeners.splice(index, 1);
  7924.   } else {
  7925.     return false;
  7926.   }
  7927. };
  7928.  
  7929. firebase.hasAuthStateListener = function(listener) {
  7930.   return firebase.authStateListeners.indexOf(listener) >= 0;
  7931. };
  7932.  
  7933. firebase.notifyAuthStateListeners = function(data) {
  7934.   firebase.authStateListeners.forEach(function (listener) {
  7935.     try {
  7936.       if (listener.thisArg) {
  7937.         listener.onAuthStateChanged.call(listener.thisArg, data);
  7938.       } else {
  7939.         listener.onAuthStateChanged(data);
  7940.       }
  7941.     } catch (ex) {
  7942.       console.error("Firebase AuthStateListener failed to trigger", listener, ex);
  7943.     }
  7944.   });
  7945. };
  7946.  
  7947. firebase.strongTypeify = function (value) {
  7948.   if (value === "true") {
  7949.     value = true;
  7950.   } else if (value === "false") {
  7951.     value = false;
  7952.   } else if (parseFloat(value) == value) {
  7953.     value = parseFloat(value);
  7954.   } else if (parseInt(value) == value) {
  7955.     value = parseInt(value);
  7956.   }
  7957.   return value;
  7958. };
  7959.  
  7960. module.exports = firebase;
  7961.  
  7962. /***/ }),
  7963. /* 207 */
  7964. /*!******************************!*\
  7965.   !*** ./views/about/about.ts ***!
  7966.   \******************************/
  7967. /*! no static exports found */
  7968. /*! all exports used */
  7969. /***/ (function(module, exports, __webpack_require__) {
  7970.  
  7971. Object.defineProperty(exports, "__esModule", { value: true });
  7972. var navigator = __webpack_require__(/*! ../../common/navigator */ 5);
  7973. var page;
  7974. function onPageLoaded(args) {
  7975.     page = args.object;
  7976. }
  7977. exports.onPageLoaded = onPageLoaded;
  7978. function goBack() {
  7979.     navigator.navigateBack();
  7980. }
  7981. exports.goBack = goBack;
  7982. function showSlideout(args) {
  7983.     page.getViewById("side-drawer").toggleDrawerState();
  7984. }
  7985. exports.showSlideout = showSlideout;
  7986.  
  7987.  
  7988. /***/ }),
  7989. /* 208 */
  7990. /*!****************************!*\
  7991.   !*** ./views/code-page.ts ***!
  7992.   \****************************/
  7993. /*! no static exports found */
  7994. /*! all exports used */
  7995. /***/ (function(module, exports, __webpack_require__) {
  7996.  
  7997. Object.defineProperty(exports, "__esModule", { value: true });
  7998. var navigator = __webpack_require__(/*! ../common/navigator */ 5);
  7999. var codePageVM = __webpack_require__(/*! ../view-models/code-page-view-model */ 209);
  8000. var dialogs = __webpack_require__(/*! ui/dialogs */ 30);
  8001. // Event handler for Page "navigatedTo" event attached in details-page.xml
  8002. function pageNavigatingTo(args) {
  8003.     // Get the event sender
  8004.     var page = args.object;
  8005.     page.bindingContext = new codePageVM.CodePageViewModel(args.context);
  8006. }
  8007. exports.pageNavigatingTo = pageNavigatingTo;
  8008. function selectFile(args) {
  8009.     var vm = args.object.bindingContext;
  8010.     var options = vm.files.map(function (file) { return file.name; });
  8011.     dialogs.action({
  8012.         cancelButtonText: "Cancel",
  8013.         actions: vm.files.map(function (file) { return file.name; }),
  8014.     }).then(function (selectedFile) {
  8015.         vm.selectFile(selectedFile);
  8016.     }, function (error) {
  8017.         console.log("Error selecting file: " + error);
  8018.     });
  8019. }
  8020. exports.selectFile = selectFile;
  8021. function goBack(args) {
  8022.     navigator.navigateBack();
  8023. }
  8024. exports.goBack = goBack;
  8025.  
  8026.  
  8027. /***/ }),
  8028. /* 209 */
  8029. /*!*********************************************!*\
  8030.   !*** ./view-models/code-page-view-model.ts ***!
  8031.   \*********************************************/
  8032. /*! no static exports found */
  8033. /*! all exports used */
  8034. /***/ (function(module, exports, __webpack_require__) {
  8035.  
  8036. Object.defineProperty(exports, "__esModule", { value: true });
  8037. /// <reference path="../typings/highlightjs.d.ts" />
  8038. var observable = __webpack_require__(/*! data/observable */ 4);
  8039. var fs = __webpack_require__(/*! file-system */ 6);
  8040. var hljs = __webpack_require__(/*! highlight.js/lib/index */ 99);
  8041. hljs.configure({
  8042.     tabReplace: "  ",
  8043.     useBR: true
  8044. });
  8045. var cssPath = "styles/code-highlight.css";
  8046. var style;
  8047. var extensionToLanguage = {
  8048.     ".js": "javascript",
  8049.     ".ts": "typescript",
  8050.     ".css": "css",
  8051.     ".xml": "xml",
  8052.     ".json": "json"
  8053. };
  8054. function loadStyles() {
  8055.     var path = fs.path.join(fs.knownFolders.currentApp().path, cssPath);
  8056.     if (!fs.File.exists(path)) {
  8057.         throw new Error("Could not find code-highlight.css. Lookup path: " + path);
  8058.     }
  8059.     style = fs.File.fromPath(path).readTextSync(function (error) {
  8060.         console.log("Error loading style file: " + error);
  8061.     });
  8062. }
  8063. ;
  8064. loadStyles();
  8065. var CodePageViewModel = (function (_super) {
  8066.     __extends(CodePageViewModel, _super);
  8067.     function CodePageViewModel(example) {
  8068.         var _this = _super.call(this) || this;
  8069.         var lastSlashIndex = example.path.lastIndexOf("/");
  8070.         var initialSelectedFile = example.path.substr(lastSlashIndex + 1) + ".xml";
  8071.         var path = example.path.substring(0, lastSlashIndex);
  8072.         path = fs.path.join(fs.knownFolders.currentApp().path, path.replace("~/", ""));
  8073.         console.log("Showing code for " + path);
  8074.         var folder = fs.Folder.fromPath(path);
  8075.         folder.getEntities().then(function (entities) {
  8076.             entities = entities.filter(function (e) { return (e instanceof fs.File); });
  8077.             _this.set("files", entities);
  8078.             _this.selectFile(initialSelectedFile);
  8079.         });
  8080.         _this.set("group", example.group);
  8081.         return _this;
  8082.     }
  8083.     CodePageViewModel.prototype.selectFile = function (fileName) {
  8084.         for (var i = 0; i < this.files.length; i++) {
  8085.             if (this.files[i].name === fileName) {
  8086.                 this.selectFileEntity(this.files[i]);
  8087.                 break;
  8088.             }
  8089.         }
  8090.     };
  8091.     CodePageViewModel.prototype.selectFileEntity = function (entity) {
  8092.         var _this = this;
  8093.         this.set("isLoading", true);
  8094.         this.set("selectedFileName", entity.name);
  8095.         var codeFile = fs.File.fromPath(entity.path);
  8096.         var lang = extensionToLanguage[codeFile.extension];
  8097.         codeFile.readText().then(function (codeString) {
  8098.             var formattedCode = hljs.highlight("javascript", codeString).value;
  8099.             formattedCode = hljs.fixMarkup(formattedCode);
  8100.             formattedCode = "<style>" + style + "</style><pre><code>" + formattedCode + "</pre></code>";
  8101.             _this.set("isLoading", false);
  8102.             _this.set("formattedCode", formattedCode);
  8103.         }, function (error) {
  8104.             _this.set("isLoading", false);
  8105.             console.log("readText() error: " + error);
  8106.         });
  8107.     };
  8108.     return CodePageViewModel;
  8109. }(observable.Observable));
  8110. exports.CodePageViewModel = CodePageViewModel;
  8111.  
  8112.  
  8113. /***/ }),
  8114. /* 210 */,
  8115. /* 211 */,
  8116. /* 212 */,
  8117. /* 213 */,
  8118. /* 214 */,
  8119. /* 215 */,
  8120. /* 216 */,
  8121. /* 217 */,
  8122. /* 218 */,
  8123. /* 219 */,
  8124. /* 220 */,
  8125. /* 221 */,
  8126. /* 222 */,
  8127. /* 223 */,
  8128. /* 224 */,
  8129. /* 225 */,
  8130. /* 226 */,
  8131. /* 227 */,
  8132. /* 228 */,
  8133. /* 229 */,
  8134. /* 230 */,
  8135. /* 231 */,
  8136. /* 232 */,
  8137. /* 233 */,
  8138. /* 234 */,
  8139. /* 235 */,
  8140. /* 236 */,
  8141. /* 237 */,
  8142. /* 238 */,
  8143. /* 239 */,
  8144. /* 240 */,
  8145. /* 241 */,
  8146. /* 242 */,
  8147. /* 243 */,
  8148. /* 244 */,
  8149. /* 245 */,
  8150. /* 246 */,
  8151. /* 247 */,
  8152. /* 248 */,
  8153. /* 249 */,
  8154. /* 250 */,
  8155. /* 251 */,
  8156. /* 252 */,
  8157. /* 253 */,
  8158. /* 254 */,
  8159. /* 255 */,
  8160. /* 256 */,
  8161. /* 257 */,
  8162. /* 258 */,
  8163. /* 259 */,
  8164. /* 260 */,
  8165. /* 261 */,
  8166. /* 262 */,
  8167. /* 263 */,
  8168. /* 264 */,
  8169. /* 265 */,
  8170. /* 266 */,
  8171. /* 267 */,
  8172. /* 268 */,
  8173. /* 269 */,
  8174. /* 270 */,
  8175. /* 271 */,
  8176. /* 272 */,
  8177. /* 273 */,
  8178. /* 274 */,
  8179. /* 275 */,
  8180. /* 276 */,
  8181. /* 277 */,
  8182. /* 278 */,
  8183. /* 279 */,
  8184. /* 280 */,
  8185. /* 281 */,
  8186. /* 282 */,
  8187. /* 283 */,
  8188. /* 284 */,
  8189. /* 285 */,
  8190. /* 286 */,
  8191. /* 287 */,
  8192. /* 288 */,
  8193. /* 289 */,
  8194. /* 290 */,
  8195. /* 291 */,
  8196. /* 292 */,
  8197. /* 293 */,
  8198. /* 294 */,
  8199. /* 295 */,
  8200. /* 296 */,
  8201. /* 297 */,
  8202. /* 298 */,
  8203. /* 299 */,
  8204. /* 300 */,
  8205. /* 301 */,
  8206. /* 302 */,
  8207. /* 303 */,
  8208. /* 304 */,
  8209. /* 305 */,
  8210. /* 306 */,
  8211. /* 307 */,
  8212. /* 308 */,
  8213. /* 309 */,
  8214. /* 310 */,
  8215. /* 311 */,
  8216. /* 312 */,
  8217. /* 313 */,
  8218. /* 314 */,
  8219. /* 315 */,
  8220. /* 316 */,
  8221. /* 317 */,
  8222. /* 318 */,
  8223. /* 319 */,
  8224. /* 320 */,
  8225. /* 321 */,
  8226. /* 322 */,
  8227. /* 323 */,
  8228. /* 324 */,
  8229. /* 325 */,
  8230. /* 326 */,
  8231. /* 327 */,
  8232. /* 328 */,
  8233. /* 329 */,
  8234. /* 330 */,
  8235. /* 331 */,
  8236. /* 332 */,
  8237. /* 333 */,
  8238. /* 334 */,
  8239. /* 335 */,
  8240. /* 336 */,
  8241. /* 337 */,
  8242. /* 338 */,
  8243. /* 339 */,
  8244. /* 340 */,
  8245. /* 341 */
  8246. /*!************************************!*\
  8247.   !*** ./views/example-info-page.ts ***!
  8248.   \************************************/
  8249. /*! no static exports found */
  8250. /*! all exports used */
  8251. /***/ (function(module, exports, __webpack_require__) {
  8252.  
  8253. Object.defineProperty(exports, "__esModule", { value: true });
  8254. var navigator = __webpack_require__(/*! ../common/navigator */ 5);
  8255. var platform = __webpack_require__(/*! platform */ 3);
  8256. var exampleContainerID = "examples-container";
  8257. var CURVE = (platform.device.os === platform.platformNames.android) ? new android.view.animation.DecelerateInterpolator(1) : UIViewAnimationCurve.UIViewAnimationCurveEaseIn;
  8258. function pageNavigatingTo(args) {
  8259.     var page = args.object;
  8260.     var vm = page.navigationContext;
  8261.     page.bindingContext = vm;
  8262. }
  8263. exports.pageNavigatingTo = pageNavigatingTo;
  8264. function showCodeTap(args) {
  8265.     var context = args.object.bindingContext;
  8266.     navigator.navigateToCode(context.currentExample);
  8267. }
  8268. exports.showCodeTap = showCodeTap;
  8269. function openLink(args) {
  8270.     navigator.openLink(args.object);
  8271. }
  8272. exports.openLink = openLink;
  8273. function goBack(args) {
  8274.     navigator.navigateBack();
  8275. }
  8276. exports.goBack = goBack;
  8277.  
  8278.  
  8279. /***/ }),
  8280. /* 342 */
  8281. /*!**********************************!*\
  8282.   !*** ./views/group-info-page.ts ***!
  8283.   \**********************************/
  8284. /*! no static exports found */
  8285. /*! all exports used */
  8286. /***/ (function(module, exports, __webpack_require__) {
  8287.  
  8288. Object.defineProperty(exports, "__esModule", { value: true });
  8289. var navigator = __webpack_require__(/*! ../common/navigator */ 5);
  8290. // Event handler for Page "navigatedTo" event attached in details-page.xml
  8291. function pageNavigatingTo(args) {
  8292.     // Get the event sender
  8293.     var page = args.object;
  8294.     page.bindingContext = args.context;
  8295. }
  8296. exports.pageNavigatingTo = pageNavigatingTo;
  8297. function navigateBack(args) {
  8298.     navigator.navigateBack();
  8299. }
  8300. exports.navigateBack = navigateBack;
  8301. function openLink(args) {
  8302.     navigator.openLink(args.object);
  8303. }
  8304. exports.openLink = openLink;
  8305.  
  8306.  
  8307. /***/ }),
  8308. /* 343 */
  8309. /*!****************************************!*\
  8310.   !*** ./views/group-page/group-page.ts ***!
  8311.   \****************************************/
  8312. /*! no static exports found */
  8313. /*! all exports used */
  8314. /***/ (function(module, exports, __webpack_require__) {
  8315.  
  8316. Object.defineProperty(exports, "__esModule", { value: true });
  8317. var navigator = __webpack_require__(/*! ../../common/navigator */ 5);
  8318. var prof = __webpack_require__(/*! ../../common/profiling */ 35);
  8319. var effects_1 = __webpack_require__(/*! ../../common/effects */ 36);
  8320. var page;
  8321. function pageNavigatingTo(args) {
  8322.     // Get the event sender
  8323.     page = args.object;
  8324.     page.bindingContext = args.context;
  8325. }
  8326. exports.pageNavigatingTo = pageNavigatingTo;
  8327. function pageLoaded() {
  8328.     prof.stop("group");
  8329. }
  8330. exports.pageLoaded = pageLoaded;
  8331. function tileTouch(args) {
  8332.     effects_1.grayTouch(args);
  8333. }
  8334. exports.tileTouch = tileTouch;
  8335. function navigateToExample(args) {
  8336.     var example = args.view.bindingContext;
  8337.     var vm = args.view.page.bindingContext;
  8338.     navigator.navigateToExample(example, example.group.examples);
  8339. }
  8340. exports.navigateToExample = navigateToExample;
  8341. function navigateBack(args) {
  8342.     navigator.navigateBack();
  8343. }
  8344. exports.navigateBack = navigateBack;
  8345. // TODO: The tap="{{ toggleWrapLayout }}" in the XML doesn't seem to work.
  8346. function toggleWrapLayout(e) {
  8347.     e.object.bindingContext.toggleWrapLayout();
  8348. }
  8349. exports.toggleWrapLayout = toggleWrapLayout;
  8350. function infoTap(args) {
  8351.     var currentContext = args.object.bindingContext;
  8352.     navigator.navigateToGroupInfo(currentContext.group);
  8353. }
  8354. exports.infoTap = infoTap;
  8355. function showSlideout(args) {
  8356.     page.getViewById("side-drawer").toggleDrawerState();
  8357. }
  8358. exports.showSlideout = showSlideout;
  8359.  
  8360.  
  8361. /***/ }),
  8362. /* 344 */
  8363. /*!**************************************!*\
  8364.   !*** ./views/main-page/main-page.ts ***!
  8365.   \**************************************/
  8366. /*! no static exports found */
  8367. /*! all exports used */
  8368. /***/ (function(module, exports, __webpack_require__) {
  8369.  
  8370. Object.defineProperty(exports, "__esModule", { value: true });
  8371. var examplesVM = __webpack_require__(/*! ../../view-models/examples-model */ 55);
  8372. var mainPageVM = __webpack_require__(/*! ../../view-models/main-page-view-model */ 345);
  8373. var groupPageVM = __webpack_require__(/*! ../../view-models/group-page-view-model */ 100);
  8374. var navigator = __webpack_require__(/*! ../../common/navigator */ 5);
  8375. var prof = __webpack_require__(/*! ../../common/profiling */ 35);
  8376. var effects_1 = __webpack_require__(/*! ../../common/effects */ 36);
  8377. var analytics_1 = __webpack_require__(/*! ../../common/analytics */ 83);
  8378. var platform = __webpack_require__(/*! platform */ 3);
  8379. var grid_layout_1 = __webpack_require__(/*! ui/layouts/grid-layout */ 28);
  8380. var firebase_1 = __webpack_require__(/*! ../../common/firebase */ 29);
  8381. function pageLoaded(args) {
  8382.     prof.stop("main-page");
  8383.     var page = args.object.page;
  8384.     setTimeout(function () { return page.canEnter = true; }, 3500);
  8385.     if (!page.introStarted) {
  8386.         analytics_1.trackEvent("main-page: play intro");
  8387.         page.introStarted = true;
  8388.     }
  8389.     if (platform.device.os === platform.platformNames.ios) {
  8390.         var examplesList = page.getViewById("examples-wrap-layout");
  8391.         for (var i = 0, length_1 = examplesList.getChildrenCount(); i < length_1; i++) {
  8392.             examplesList.getChildAt(i).ios.layer.masksToBounds = true;
  8393.         }
  8394.     }
  8395.     // To allow the intro things to appear under the ActionBar:
  8396.     grid_layout_1.GridLayout.setRow(page.content, 0);
  8397.     grid_layout_1.GridLayout.setRowSpan(page.content, 2);
  8398. }
  8399. exports.pageLoaded = pageLoaded;
  8400. function onNavigatingTo(args) {
  8401.     args.object.bindingContext = mainPageVM.instance;
  8402. }
  8403. exports.onNavigatingTo = onNavigatingTo;
  8404. function toggleWrapLayout(e) {
  8405.     e.object.bindingContext.toggleWrapLayout();
  8406. }
  8407. exports.toggleWrapLayout = toggleWrapLayout;
  8408. function navigateToExampleGroup(args) {
  8409.     prof.start("group");
  8410.     var page = args.object.page;
  8411.     page.getViewById("side-drawer").closeDrawer();
  8412.     var exampleGroup = args.object.bindingContext;
  8413.     var context = new groupPageVM.GroupPageViewModel(exampleGroup);
  8414.     navigator.navigateToExampleGroup(context);
  8415. }
  8416. exports.navigateToExampleGroup = navigateToExampleGroup;
  8417. function tileTouch(args) {
  8418.     var page = args.object.page;
  8419.     if (!page.introPlayed) {
  8420.         return;
  8421.     }
  8422.     effects_1.grayTouch(args);
  8423. }
  8424. exports.tileTouch = tileTouch;
  8425. function navigateToExample(args) {
  8426.     var page = args.object.page;
  8427.     if (!page.introPlayed) {
  8428.         return;
  8429.     }
  8430.     prof.start("example");
  8431.     page.getViewById("side-drawer").closeDrawer();
  8432.     var example = args.object.bindingContext;
  8433.     navigator.navigateToExample(example, examplesVM.featuredExamples);
  8434. }
  8435. exports.navigateToExample = navigateToExample;
  8436. function showSlideout(args) {
  8437.     var page = args.object.page;
  8438.     page.getViewById("side-drawer").toggleDrawerState();
  8439. }
  8440. exports.showSlideout = showSlideout;
  8441. function tapHome(args) {
  8442.     var page = args.object.page;
  8443.     page.getViewById("side-drawer").closeDrawer();
  8444. }
  8445. exports.tapHome = tapHome;
  8446. function tapAbout(args) {
  8447.     var page = args.object.page;
  8448.     page.getViewById("side-drawer").closeDrawer();
  8449.     navigator.navigateToAbout();
  8450. }
  8451. exports.tapAbout = tapAbout;
  8452. function tapDrawerLink(args) {
  8453.     var page = args.object.page;
  8454.     page.getViewById("side-drawer").closeDrawer();
  8455.     navigator.openLink(args.object);
  8456. }
  8457. exports.tapDrawerLink = tapDrawerLink;
  8458. function tapPage(args) {
  8459.     enter(args, "main-page: enter: page tap");
  8460. }
  8461. exports.tapPage = tapPage;
  8462. function tapGetStarted(args) {
  8463.     enter(args, "main-page: enter: get started tap");
  8464. }
  8465. exports.tapGetStarted = tapGetStarted;
  8466. function enter(args, event) {
  8467.     var page = args.object.page;
  8468.     if (!page.canEnter) {
  8469.         return;
  8470.     }
  8471.     if (page.entered) {
  8472.         return;
  8473.     }
  8474.     analytics_1.trackEvent(event);
  8475.     page.entered = true;
  8476.     var content = page.getViewById("content");
  8477.     content.isEnabled = true;
  8478.     content.opacity = 1;
  8479.     startEnterAnimation(page);
  8480.     startExamplesAnimation(page);
  8481.     setTimeout(function () {
  8482.         page.getViewById("intro-elements").visibility = "collapse";
  8483.         firebase_1.onAfterIntro();
  8484.     }, 1500);
  8485.     showActionBar(page);
  8486. }
  8487. exports.enter = enter;
  8488. function startEnterAnimation(page) {
  8489.     ["intro-background", "intro-logo-bg", "intro-logo-n", "intro-logo-ns", "intro-text-one", "intro-text-two", "intro-get-started", "intro-version"]
  8490.         .forEach(function (id) { return page.getViewById(id).className = id + "-enter"; });
  8491. }
  8492. function startExamplesAnimation(page) {
  8493.     var examplesList = page.getViewById("examples-wrap-layout");
  8494.     var odd = true;
  8495.     var timeout = 1000;
  8496.     setTimeout(function () { return page.introPlayed = true; }, timeout);
  8497.     var classSetterFactory = function (child, className) { return function () { return child.className = className; }; };
  8498.     for (var i = 0, length_2 = examplesList.getChildrenCount(); i < length_2; i++) {
  8499.         var child = examplesList.getChildAt(i);
  8500.         setTimeout(classSetterFactory(child, odd ? "example-odd-enter" : "example-even-enter"), timeout);
  8501.         setTimeout(classSetterFactory(child, ""), timeout + 400);
  8502.         if (odd = !odd) {
  8503.             timeout += 220;
  8504.         }
  8505.     }
  8506. }
  8507. function showActionBar(page) {
  8508.     var introElements = page.getViewById("intro-elements");
  8509.     if (introElements.ios) {
  8510.         setTimeout(function () {
  8511.             introElements.margin = "-44 0 0 0";
  8512.             page.actionBarHidden = false;
  8513.         }, 300);
  8514.     }
  8515.     else {
  8516.         setTimeout(function () {
  8517.             page.actionBar.animate({
  8518.                 opacity: 1,
  8519.                 duration: 200
  8520.             });
  8521.         }, 300);
  8522.     }
  8523. }
  8524.  
  8525.  
  8526. /***/ }),
  8527. /* 345 */
  8528. /*!*********************************************!*\
  8529.   !*** ./view-models/main-page-view-model.ts ***!
  8530.   \*********************************************/
  8531. /*! no static exports found */
  8532. /*! all exports used */
  8533. /***/ (function(module, exports, __webpack_require__) {
  8534.  
  8535. Object.defineProperty(exports, "__esModule", { value: true });
  8536. var examplesVM = __webpack_require__(/*! ./examples-model */ 55);
  8537. var observable = __webpack_require__(/*! data/observable */ 4);
  8538. var paltfrom = __webpack_require__(/*! platform */ 3);
  8539. var firebase_1 = __webpack_require__(/*! ../common/firebase */ 29);
  8540. var MainPageViewModel = (function (_super) {
  8541.     __extends(MainPageViewModel, _super);
  8542.     function MainPageViewModel() {
  8543.         var _this = _super.call(this) || this;
  8544.         _this.set("showOnlyNew", false);
  8545.         _this.set("selectedScreen", 0);
  8546.         _this.set("useListLayout", false);
  8547.         return _this;
  8548.     }
  8549.     Object.defineProperty(MainPageViewModel.prototype, "firebase", {
  8550.         get: function () {
  8551.             return firebase_1.viewModel;
  8552.         },
  8553.         enumerable: true,
  8554.         configurable: true
  8555.     });
  8556.     Object.defineProperty(MainPageViewModel.prototype, "exampleGroups", {
  8557.         get: function () {
  8558.             return examplesVM.groups;
  8559.         },
  8560.         enumerable: true,
  8561.         configurable: true
  8562.     });
  8563.     Object.defineProperty(MainPageViewModel.prototype, "featuredExamples", {
  8564.         get: function () {
  8565.             return examplesVM.featuredExamples;
  8566.         },
  8567.         enumerable: true,
  8568.         configurable: true
  8569.     });
  8570.     MainPageViewModel.prototype.toggleShowNew = function () {
  8571.         this.set("showOnlyNew", !this.get("showOnlyNew"));
  8572.     };
  8573.     MainPageViewModel.prototype.toggleWrapLayout = function () {
  8574.         console.log("toggleWrapLayout");
  8575.         this.set("useListLayout", !this.get("useListLayout"));
  8576.     };
  8577.     Object.defineProperty(MainPageViewModel.prototype, "screenWidth", {
  8578.         get: function () {
  8579.             return paltfrom.screen.mainScreen.widthDIPs;
  8580.         },
  8581.         enumerable: true,
  8582.         configurable: true
  8583.     });
  8584.     return MainPageViewModel;
  8585. }(observable.Observable));
  8586. exports.MainPageViewModel = MainPageViewModel;
  8587. exports.instance = new MainPageViewModel();
  8588.  
  8589.  
  8590. /***/ }),
  8591. /* 346 */
  8592. /*!**********************************************************!*\
  8593.   !*** ./views/side-drawer-content/side-drawer-content.ts ***!
  8594.   \**********************************************************/
  8595. /*! no static exports found */
  8596. /*! all exports used */
  8597. /***/ (function(module, exports, __webpack_require__) {
  8598.  
  8599. Object.defineProperty(exports, "__esModule", { value: true });
  8600. var group_page_view_model_1 = __webpack_require__(/*! ../../view-models/group-page-view-model */ 100);
  8601. var navigator = __webpack_require__(/*! ../../common/navigator */ 5);
  8602. var examples_model_1 = __webpack_require__(/*! ../../view-models/examples-model */ 55);
  8603. var firebase = __webpack_require__(/*! ../../common/firebase */ 29);
  8604. var frame_1 = __webpack_require__(/*! ui/frame */ 7);
  8605. var effects_1 = __webpack_require__(/*! ../../common/effects */ 36);
  8606. var application = __webpack_require__(/*! application */ 2);
  8607. var observable_1 = __webpack_require__(/*! data/observable */ 4);
  8608. var SidedrawerViewModel = (function (_super) {
  8609.     __extends(SidedrawerViewModel, _super);
  8610.     function SidedrawerViewModel() {
  8611.         var _this = _super !== null && _super.apply(this, arguments) || this;
  8612.         _this.groups = examples_model_1.groups;
  8613.         _this.firebase = firebase.viewModel;
  8614.         return _this;
  8615.     }
  8616.     return SidedrawerViewModel;
  8617. }(observable_1.Observable));
  8618. function onLoaded(args) {
  8619.     args.object.bindingContext = new SidedrawerViewModel();
  8620. }
  8621. exports.onLoaded = onLoaded;
  8622. function tileTouch(args) {
  8623.     effects_1.grayTouch(args);
  8624. }
  8625. exports.tileTouch = tileTouch;
  8626. function sideDrawer() {
  8627.     return frame_1.topmost().currentPage.getViewById("side-drawer");
  8628. }
  8629. function closeDrawer() {
  8630.     var instance = sideDrawer();
  8631.     if (instance) {
  8632.         instance.closeDrawer();
  8633.     }
  8634. }
  8635. function toggleDrawerState() {
  8636.     var instance = sideDrawer();
  8637.     if (instance) {
  8638.         instance.toggleDrawerState();
  8639.     }
  8640. }
  8641. function navigateToExampleGroup(args) {
  8642.     closeDrawer();
  8643.     var exampleGroup = args.object.bindingContext;
  8644.     var context = new group_page_view_model_1.GroupPageViewModel(exampleGroup);
  8645.     navigator.navigateToExampleGroup(context);
  8646. }
  8647. exports.navigateToExampleGroup = navigateToExampleGroup;
  8648. function showSlideout(args) {
  8649.     toggleDrawerState();
  8650. }
  8651. exports.showSlideout = showSlideout;
  8652. function tapHome(args) {
  8653.     closeDrawer();
  8654.     navigator.navigateToHome();
  8655. }
  8656. exports.tapHome = tapHome;
  8657. function tapAbout(args) {
  8658.     closeDrawer();
  8659.     if (application.android) {
  8660.         setTimeout(function () { return navigator.navigateToAbout(); }, 600);
  8661.     }
  8662.     else {
  8663.         navigator.navigateToAbout();
  8664.     }
  8665. }
  8666. exports.tapAbout = tapAbout;
  8667. function tapWhatIsNew() {
  8668.     closeDrawer();
  8669.     if (application.android) {
  8670.         setTimeout(function () { return navigator.navigateToWhatIsNew(); }, 600);
  8671.     }
  8672.     else {
  8673.         navigator.navigateToWhatIsNew();
  8674.     }
  8675. }
  8676. exports.tapWhatIsNew = tapWhatIsNew;
  8677. function tapDrawerLink(args) {
  8678.     closeDrawer();
  8679.     navigator.openLink(args.object);
  8680. }
  8681. exports.tapDrawerLink = tapDrawerLink;
  8682.  
  8683.  
  8684. /***/ }),
  8685. /* 347 */,
  8686. /* 348 */,
  8687. /* 349 */
  8688. /*!**************************************************************************************!*\
  8689.   !*** ../node_modules/tns-core-modules/ui/layouts/wrap-layout/wrap-layout.android.js ***!
  8690.   \**************************************************************************************/
  8691. /*! no static exports found */
  8692. /*! all exports used */
  8693. /***/ (function(module, exports, __webpack_require__) {
  8694.  
  8695. function __export(m) {
  8696.     for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
  8697. }
  8698. Object.defineProperty(exports, "__esModule", { value: true });
  8699. var wrap_layout_common_1 = __webpack_require__(/*! ./wrap-layout-common */ 139);
  8700. __export(__webpack_require__(/*! ./wrap-layout-common */ 139));
  8701. var WrapLayout = (function (_super) {
  8702.     __extends(WrapLayout, _super);
  8703.     function WrapLayout() {
  8704.         return _super !== null && _super.apply(this, arguments) || this;
  8705.     }
  8706.     WrapLayout.prototype.createNativeView = function () {
  8707.         return new org.nativescript.widgets.WrapLayout(this._context);
  8708.     };
  8709.     WrapLayout.prototype[wrap_layout_common_1.orientationProperty.setNative] = function (value) {
  8710.         this.nativeView.setOrientation(value === "vertical" ? org.nativescript.widgets.Orientation.vertical : org.nativescript.widgets.Orientation.horizontal);
  8711.     };
  8712.     WrapLayout.prototype[wrap_layout_common_1.itemWidthProperty.setNative] = function (value) {
  8713.         this.nativeView.setItemWidth(wrap_layout_common_1.Length.toDevicePixels(value, -1));
  8714.     };
  8715.     WrapLayout.prototype[wrap_layout_common_1.itemHeightProperty.setNative] = function (value) {
  8716.         this.nativeView.setItemHeight(wrap_layout_common_1.Length.toDevicePixels(value, -1));
  8717.     };
  8718.     return WrapLayout;
  8719. }(wrap_layout_common_1.WrapLayoutBase));
  8720. exports.WrapLayout = WrapLayout;
  8721. //# sourceMappingURL=wrap-layout.android.js.map
  8722.  
  8723. /***/ }),
  8724. /* 350 */,
  8725. /* 351 */,
  8726. /* 352 */,
  8727. /* 353 */,
  8728. /* 354 */,
  8729. /* 355 */,
  8730. /* 356 */,
  8731. /* 357 */,
  8732. /* 358 */,
  8733. /* 359 */,
  8734. /* 360 */,
  8735. /* 361 */,
  8736. /* 362 */,
  8737. /* 363 */
  8738. /*!**************************************************************************!*\
  8739.   !*** ../node_modules/nativescript-fresco/nativescript-fresco.android.js ***!
  8740.   \**************************************************************************/
  8741. /*! no static exports found */
  8742. /*! all exports used */
  8743. /***/ (function(module, exports, __webpack_require__) {
  8744.  
  8745. "use strict";
  8746.  
  8747. var __extends = (this && this.__extends) || (function () {
  8748.     var extendStatics = Object.setPrototypeOf ||
  8749.         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  8750.         function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
  8751.     return function (d, b) {
  8752.         extendStatics(d, b);
  8753.         function __() { this.constructor = d; }
  8754.         d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  8755.     };
  8756. })();
  8757. Object.defineProperty(exports, "__esModule", { value: true });
  8758. var commonModule = __webpack_require__(/*! ./nativescript-fresco-common */ 364);
  8759. var utils = __webpack_require__(/*! utils/utils */ 1);
  8760. var types = __webpack_require__(/*! utils/types */ 13);
  8761. var application = __webpack_require__(/*! application */ 2);
  8762. var imageSource = __webpack_require__(/*! image-source */ 25);
  8763. var fs = __webpack_require__(/*! file-system */ 6);
  8764. global.moduleMerge(commonModule, exports);
  8765. function initialize() {
  8766.     if (application.android) {
  8767.         com.facebook.drawee.backends.pipeline.Fresco.initialize(application.android.context);
  8768.     }
  8769. }
  8770. exports.initialize = initialize;
  8771. ;
  8772. function getImagePipeline() {
  8773.     if (application.android) {
  8774.         var nativePipe = com.facebook.drawee.backends.pipeline.Fresco.getImagePipeline();
  8775.         var imagePineLine = new ImagePipeline();
  8776.         imagePineLine.android = nativePipe;
  8777.         return imagePineLine;
  8778.     }
  8779. }
  8780. exports.getImagePipeline = getImagePipeline;
  8781. ;
  8782. var ImagePipeline = (function () {
  8783.     function ImagePipeline() {
  8784.     }
  8785.     ImagePipeline.prototype.isInDiskCacheSync = function (uri) {
  8786.         return this._android.isInDiskCacheSync(android.net.Uri.parse(uri));
  8787.     };
  8788.     ImagePipeline.prototype.isInBitmapMemoryCache = function (uri) {
  8789.         return this._android.isInBitmapMemoryCache(android.net.Uri.parse(uri));
  8790.     };
  8791.     ImagePipeline.prototype.evictFromMemoryCache = function (uri) {
  8792.         this._android.evictFromMemoryCache(android.net.Uri.parse(uri));
  8793.     };
  8794.     ImagePipeline.prototype.evictFromDiskCache = function (uri) {
  8795.         this._android.evictFromDiskCache(android.net.Uri.parse(uri));
  8796.     };
  8797.     ImagePipeline.prototype.evictFromCache = function (uri) {
  8798.         this._android.evictFromCache(android.net.Uri.parse(uri));
  8799.     };
  8800.     ImagePipeline.prototype.clearCaches = function () {
  8801.         this._android.clearCaches();
  8802.     };
  8803.     ImagePipeline.prototype.clearMemoryCaches = function () {
  8804.         this._android.clearMemoryCaches();
  8805.     };
  8806.     ImagePipeline.prototype.clearDiskCaches = function () {
  8807.         this._android.clearDiskCaches();
  8808.     };
  8809.     Object.defineProperty(ImagePipeline.prototype, "android", {
  8810.         get: function () {
  8811.             return this._android;
  8812.         },
  8813.         set: function (value) {
  8814.             this._android = value;
  8815.         },
  8816.         enumerable: true,
  8817.         configurable: true
  8818.     });
  8819.     return ImagePipeline;
  8820. }());
  8821. exports.ImagePipeline = ImagePipeline;
  8822. var AnimatedImage = (function (_super) {
  8823.     __extends(AnimatedImage, _super);
  8824.     function AnimatedImage() {
  8825.         return _super !== null && _super.apply(this, arguments) || this;
  8826.     }
  8827.     AnimatedImage.prototype.start = function () {
  8828.         _super.prototype.start.call(this);
  8829.     };
  8830.     AnimatedImage.prototype.stop = function () {
  8831.         _super.prototype.stop.call(this);
  8832.     };
  8833.     AnimatedImage.prototype.isRunning = function () {
  8834.         return _super.prototype.isRunning.call(this);
  8835.     };
  8836.     return AnimatedImage;
  8837. }(com.facebook.imagepipeline.animated.base.AnimatedDrawable));
  8838. exports.AnimatedImage = AnimatedImage;
  8839. var FrescoError = (function () {
  8840.     function FrescoError(throwable) {
  8841.         this._message = throwable.getMessage();
  8842.         this._errorType = throwable.getClass().getName();
  8843.         this._stringValue = throwable.toString();
  8844.     }
  8845.     FrescoError.prototype.getMessage = function () {
  8846.         return this._message;
  8847.     };
  8848.     FrescoError.prototype.getErrorType = function () {
  8849.         return this._errorType;
  8850.     };
  8851.     FrescoError.prototype.toString = function () {
  8852.         return this._stringValue;
  8853.     };
  8854.     return FrescoError;
  8855. }());
  8856. exports.FrescoError = FrescoError;
  8857. var ImageInfo = (function () {
  8858.     function ImageInfo(imageInfo) {
  8859.         this._nativeImageInfo = imageInfo;
  8860.     }
  8861.     ImageInfo.prototype.getHeight = function () {
  8862.         return this._nativeImageInfo.getHeight();
  8863.     };
  8864.     ImageInfo.prototype.getWidth = function () {
  8865.         return this._nativeImageInfo.getWidth();
  8866.     };
  8867.     ImageInfo.prototype.getQualityInfo = function () {
  8868.         return this._nativeImageInfo.getQualityInfo();
  8869.     };
  8870.     return ImageInfo;
  8871. }());
  8872. exports.ImageInfo = ImageInfo;
  8873. var FinalEventData = (function (_super) {
  8874.     __extends(FinalEventData, _super);
  8875.     function FinalEventData() {
  8876.         return _super !== null && _super.apply(this, arguments) || this;
  8877.     }
  8878.     Object.defineProperty(FinalEventData.prototype, "imageInfo", {
  8879.         get: function () {
  8880.             return this._imageInfo;
  8881.         },
  8882.         set: function (value) {
  8883.             this._imageInfo = value;
  8884.         },
  8885.         enumerable: true,
  8886.         configurable: true
  8887.     });
  8888.     Object.defineProperty(FinalEventData.prototype, "animatable", {
  8889.         get: function () {
  8890.             return this._animatable;
  8891.         },
  8892.         set: function (value) {
  8893.             this._animatable = value;
  8894.         },
  8895.         enumerable: true,
  8896.         configurable: true
  8897.     });
  8898.     return FinalEventData;
  8899. }(commonModule.EventData));
  8900. exports.FinalEventData = FinalEventData;
  8901. var IntermediateEventData = (function (_super) {
  8902.     __extends(IntermediateEventData, _super);
  8903.     function IntermediateEventData() {
  8904.         return _super !== null && _super.apply(this, arguments) || this;
  8905.     }
  8906.     Object.defineProperty(IntermediateEventData.prototype, "imageInfo", {
  8907.         get: function () {
  8908.             return this._imageInfo;
  8909.         },
  8910.         set: function (value) {
  8911.             this._imageInfo = value;
  8912.         },
  8913.         enumerable: true,
  8914.         configurable: true
  8915.     });
  8916.     return IntermediateEventData;
  8917. }(commonModule.EventData));
  8918. exports.IntermediateEventData = IntermediateEventData;
  8919. var FailureEventData = (function (_super) {
  8920.     __extends(FailureEventData, _super);
  8921.     function FailureEventData() {
  8922.         return _super !== null && _super.apply(this, arguments) || this;
  8923.     }
  8924.     Object.defineProperty(FailureEventData.prototype, "error", {
  8925.         get: function () {
  8926.             return this._error;
  8927.         },
  8928.         set: function (value) {
  8929.             this._error = value;
  8930.         },
  8931.         enumerable: true,
  8932.         configurable: true
  8933.     });
  8934.     return FailureEventData;
  8935. }(commonModule.EventData));
  8936. exports.FailureEventData = FailureEventData;
  8937. var FrescoDrawee = (function (_super) {
  8938.     __extends(FrescoDrawee, _super);
  8939.     function FrescoDrawee() {
  8940.         return _super !== null && _super.apply(this, arguments) || this;
  8941.     }
  8942.     FrescoDrawee.prototype.createNativeView = function () {
  8943.         this._android = new com.facebook.drawee.view.SimpleDraweeView(this._context);
  8944.         return this._android;
  8945.     };
  8946.     FrescoDrawee.prototype.initNativeView = function () {
  8947.         this.initDrawee();
  8948.         this.updateHierarchy();
  8949.     };
  8950.     FrescoDrawee.prototype.disposeNativeView = function () {
  8951.         this._android.setImageURI(null, null);
  8952.         this._android = undefined;
  8953.     };
  8954.     FrescoDrawee.prototype.updateImageUri = function () {
  8955.         var imagePipeLine = getImagePipeline();
  8956.         var isInCache = imagePipeLine.isInBitmapMemoryCache(this.imageUri);
  8957.         if (isInCache) {
  8958.             imagePipeLine.evictFromCache(this.imageUri);
  8959.             var imageUri = this.imageUri;
  8960.             this.imageUri = null;
  8961.             this.imageUri = imageUri;
  8962.         }
  8963.     };
  8964.     FrescoDrawee.prototype.onImageUriChanged = function (oldValue, newValue) {
  8965.         this.initImage();
  8966.     };
  8967.     FrescoDrawee.prototype.onPlaceholderImageUriChanged = function (oldValue, newValue) {
  8968.         this.updateHierarchy();
  8969.     };
  8970.     FrescoDrawee.prototype.onFailureImageUriChanged = function (oldValue, newValue) {
  8971.         this.updateHierarchy();
  8972.     };
  8973.     FrescoDrawee.prototype.onActualImageScaleTypeChanged = function (oldValue, newValue) {
  8974.         this.updateHierarchy();
  8975.     };
  8976.     FrescoDrawee.prototype.onFadeDurationChanged = function (oldValue, newValue) {
  8977.         this.updateHierarchy();
  8978.     };
  8979.     FrescoDrawee.prototype.onBackgroundUriChanged = function (oldValue, newValue) {
  8980.         this.updateHierarchy();
  8981.     };
  8982.     FrescoDrawee.prototype.onProgressiveRenderingEnabledChanged = function (oldValue, newValue) {
  8983.     };
  8984.     FrescoDrawee.prototype.onShowProgressBarChanged = function (oldValue, newValue) {
  8985.         this.updateHierarchy();
  8986.     };
  8987.     FrescoDrawee.prototype.onProgressBarColorChanged = function (oldValue, newValue) {
  8988.         this.updateHierarchy();
  8989.     };
  8990.     FrescoDrawee.prototype.onRoundAsCircleChanged = function (oldValue, newValue) {
  8991.         this.updateHierarchy();
  8992.     };
  8993.     FrescoDrawee.prototype.onRoundTopLeftChanged = function (oldValue, newValue) {
  8994.         this.updateHierarchy();
  8995.     };
  8996.     FrescoDrawee.prototype.onRoundTopRightChanged = function (oldValue, newValue) {
  8997.         this.updateHierarchy();
  8998.     };
  8999.     FrescoDrawee.prototype.onRoundBottomLeftChanged = function (oldValue, newValue) {
  9000.         this.updateHierarchy();
  9001.     };
  9002.     FrescoDrawee.prototype.onRoundBottomRightChanged = function (oldValue, newValue) {
  9003.         this.updateHierarchy();
  9004.     };
  9005.     FrescoDrawee.prototype.onRoundedCornerRadiusChanged = function (oldValue, newValue) {
  9006.         this.updateHierarchy();
  9007.     };
  9008.     FrescoDrawee.prototype.onAutoPlayAnimationsPChanged = function (oldValue, newValue) {
  9009.     };
  9010.     FrescoDrawee.prototype.onTapToRetryEnabledChanged = function (oldValue, newValue) {
  9011.     };
  9012.     FrescoDrawee.prototype.onAspectRatioChanged = function (oldValue, newValue) {
  9013.     };
  9014.     FrescoDrawee.prototype.initDrawee = function () {
  9015.         this.initImage();
  9016.     };
  9017.     FrescoDrawee.prototype.initImage = function () {
  9018.         if (this._android) {
  9019.             this._android.setImageURI(null);
  9020.             if (this.imageUri) {
  9021.                 var uri;
  9022.                 if (utils.isFileOrResourcePath(this.imageUri)) {
  9023.                     var res = utils.ad.getApplicationContext().getResources();
  9024.                     if (!res) {
  9025.                         return;
  9026.                     }
  9027.                     var uri;
  9028.                     if (this.imageUri.indexOf(utils.RESOURCE_PREFIX) === 0) {
  9029.                         var resName = this.imageUri.substr(utils.RESOURCE_PREFIX.length);
  9030.                         var identifier = res.getIdentifier(resName, 'drawable', utils.ad.getApplication().getPackageName());
  9031.                         if (0 < identifier) {
  9032.                             uri = new android.net.Uri.Builder()
  9033.                                 .scheme(com.facebook.common.util.UriUtil.LOCAL_RESOURCE_SCHEME)
  9034.                                 .path(java.lang.String.valueOf(identifier))
  9035.                                 .build();
  9036.                         }
  9037.                     }
  9038.                     else if (this.imageUri.indexOf("~/") === 0) {
  9039.                         uri = android.net.Uri.parse("file:" + fs.path.join(fs.knownFolders.currentApp().path, this.imageUri.replace("~/", "")));
  9040.                     }
  9041.                     else if (this.imageUri.indexOf("/") === 0) {
  9042.                         uri = android.net.Uri.parse("file:" + this.imageUri);
  9043.                     }
  9044.                 }
  9045.                 if (uri === undefined) {
  9046.                     uri = android.net.Uri.parse(this.imageUri);
  9047.                 }
  9048.                 var progressiveRenderingEnabledValue = this.progressiveRenderingEnabled != undefined ? this.progressiveRenderingEnabled : false;
  9049.                 var request = com.facebook.imagepipeline.request.ImageRequestBuilder.newBuilderWithSource(uri)
  9050.                     .setProgressiveRenderingEnabled(progressiveRenderingEnabledValue)
  9051.                     .build();
  9052.                 var that = new WeakRef(this);
  9053.                 var listener = new com.facebook.drawee.controller.ControllerListener({
  9054.                     onFinalImageSet: function (id, imageInfo, animatable) {
  9055.                         if (that && that.get()) {
  9056.                             var info = new ImageInfo(imageInfo);
  9057.                             var args = {
  9058.                                 eventName: commonModule.FrescoDrawee.finalImageSetEvent,
  9059.                                 object: that.get(),
  9060.                                 imageInfo: info,
  9061.                                 animatable: animatable,
  9062.                             };
  9063.                             that.get().notify(args);
  9064.                         }
  9065.                         else {
  9066.                             console.log("Warning: WeakRef<FrescoDrawee> was GC and no '" + commonModule.FrescoDrawee.finalImageSetEvent + "' callback will be raised.");
  9067.                         }
  9068.                     },
  9069.                     onFailure: function (id, throwable) {
  9070.                         if (that && that.get()) {
  9071.                             var frescoError = new FrescoError(throwable);
  9072.                             var args = {
  9073.                                 eventName: commonModule.FrescoDrawee.failureEvent,
  9074.                                 object: that.get(),
  9075.                                 error: frescoError
  9076.                             };
  9077.                             that.get().notify(args);
  9078.                         }
  9079.                         else {
  9080.                             console.log("Warning: WeakRef<FrescoDrawee> was GC and no '" + commonModule.FrescoDrawee.failureEvent + "' callback will be raised.");
  9081.                         }
  9082.                     },
  9083.                     onIntermediateImageFailed: function (id, throwable) {
  9084.                         if (that && that.get()) {
  9085.                             var frescoError = new FrescoError(throwable);
  9086.                             var args = {
  9087.                                 eventName: commonModule.FrescoDrawee.intermediateImageFailedEvent,
  9088.                                 object: that.get(),
  9089.                                 error: frescoError
  9090.                             };
  9091.                             that.get().notify(args);
  9092.                         }
  9093.                         else {
  9094.                             console.log("Warning: WeakRef<FrescoDrawee> was GC and no '" + commonModule.FrescoDrawee.intermediateImageFailedEvent + "' callback will be raised.");
  9095.                         }
  9096.                     },
  9097.                     onIntermediateImageSet: function (id, imageInfo) {
  9098.                         if (that && that.get()) {
  9099.                             var info = new ImageInfo(imageInfo);
  9100.                             var args = {
  9101.                                 eventName: commonModule.FrescoDrawee.intermediateImageSetEvent,
  9102.                                 object: that.get(),
  9103.                                 imageInfo: info
  9104.                             };
  9105.                             that.get().notify(args);
  9106.                         }
  9107.                         else {
  9108.                             console.log("Warning: WeakRef<FrescoDrawee> was GC and no '" + commonModule.FrescoDrawee.intermediateImageSetEvent + "' callback will be raised.");
  9109.                         }
  9110.                     },
  9111.                     onRelease: function (id) {
  9112.                         if (that && that.get()) {
  9113.                             var args = {
  9114.                                 eventName: commonModule.FrescoDrawee.releaseEvent,
  9115.                                 object: that.get()
  9116.                             };
  9117.                             that.get().notify(args);
  9118.                         }
  9119.                         else {
  9120.                             console.log("Warning: WeakRef<FrescoDrawee> was GC and no '" + commonModule.FrescoDrawee.releaseEvent + "' callback will be raised.");
  9121.                         }
  9122.                     },
  9123.                     onSubmit: function (id, callerContext) {
  9124.                         if (that && that.get()) {
  9125.                             var args = {
  9126.                                 eventName: commonModule.FrescoDrawee.submitEvent,
  9127.                                 object: that.get()
  9128.                             };
  9129.                             that.get().notify(args);
  9130.                         }
  9131.                         else {
  9132.                             console.log("Warning: WeakRef<FrescoDrawee> was GC and no 'submitEvent' callback will be raised.");
  9133.                         }
  9134.                     },
  9135.                 });
  9136.                 var builder = com.facebook.drawee.backends.pipeline.Fresco.newDraweeControllerBuilder();
  9137.                 builder.setImageRequest(request);
  9138.                 builder.setControllerListener(listener);
  9139.                 builder.setOldController(this._android.getController());
  9140.                 if (this.autoPlayAnimations) {
  9141.                     builder.setAutoPlayAnimations(this.autoPlayAnimations);
  9142.                 }
  9143.                 if (this.tapToRetryEnabled) {
  9144.                     builder.setTapToRetryEnabled(this.tapToRetryEnabled);
  9145.                 }
  9146.                 var controller = builder.build();
  9147.                 if (this.aspectRatio) {
  9148.                     this._android.setAspectRatio(this.aspectRatio);
  9149.                 }
  9150.                 this._android.setController(controller);
  9151.             }
  9152.         }
  9153.     };
  9154.     FrescoDrawee.prototype.updateHierarchy = function () {
  9155.         if (this._android) {
  9156.             var failureImageDrawable;
  9157.             var placeholderImageDrawable;
  9158.             var backgroundDrawable;
  9159.             if (this.failureImageUri) {
  9160.                 failureImageDrawable = this.getDrawable(this.failureImageUri);
  9161.             }
  9162.             if (this.placeholderImageUri) {
  9163.                 placeholderImageDrawable = this.getDrawable(this.placeholderImageUri);
  9164.             }
  9165.             if (this.backgroundUri) {
  9166.                 backgroundDrawable = this.getDrawable(this.backgroundUri);
  9167.             }
  9168.             var builder = new GenericDraweeHierarchyBuilder();
  9169.             if (this.failureImageUri && failureImageDrawable) {
  9170.                 builder.setFailureImage(failureImageDrawable);
  9171.             }
  9172.             if (this.placeholderImageUri && placeholderImageDrawable) {
  9173.                 builder.setPlaceholderImage(placeholderImageDrawable);
  9174.             }
  9175.             if (this.actualImageScaleType) {
  9176.                 builder.setActualImageScaleType(this.actualImageScaleType);
  9177.             }
  9178.             if (this.fadeDuration) {
  9179.                 builder.setFadeDuration(this.fadeDuration);
  9180.             }
  9181.             if (this.backgroundUri && backgroundDrawable) {
  9182.                 builder.setBackground(backgroundDrawable);
  9183.             }
  9184.             if (this.showProgressBar) {
  9185.                 builder.setProgressBarImage(this.progressBarColor);
  9186.             }
  9187.             if (this.roundAsCircle) {
  9188.                 builder.setRoundingParamsAsCircle();
  9189.             }
  9190.             if (this.roundBottomLeft || this.roundBottomRight || this.roundTopLeft || this.roundTopRight) {
  9191.                 var topLeftRadius = this.roundTopLeft ? this.roundedCornerRadius : 0;
  9192.                 var topRightRadius = this.roundTopRight ? this.roundedCornerRadius : 0;
  9193.                 var bottomRightRadius = this.roundBottomRight ? this.roundedCornerRadius : 0;
  9194.                 var bottomLeftRadius = this.roundBottomLeft ? this.roundedCornerRadius : 0;
  9195.                 builder.setCornersRadii(topLeftRadius, topRightRadius, bottomRightRadius, bottomLeftRadius);
  9196.             }
  9197.             var hierarchy = builder.build();
  9198.             this._android.setHierarchy(hierarchy);
  9199.         }
  9200.     };
  9201.     FrescoDrawee.prototype.getDrawable = function (path) {
  9202.         var drawable;
  9203.         var builder = new GenericDraweeHierarchyBuilder();
  9204.         if (utils.isFileOrResourcePath(path)) {
  9205.             if (path.indexOf(utils.RESOURCE_PREFIX) === 0) {
  9206.                 drawable = this.getDrawableFromResource(path);
  9207.             }
  9208.             else {
  9209.                 drawable = this.getDrawableFromLocalFile(path);
  9210.             }
  9211.         }
  9212.         return drawable;
  9213.     };
  9214.     FrescoDrawee.prototype.getDrawableFromLocalFile = function (localFilePath) {
  9215.         var img = imageSource.fromFile(localFilePath);
  9216.         if (img) {
  9217.             var drawable = new android.graphics.drawable.BitmapDrawable(utils.ad.getApplicationContext().getResources(), img.android);
  9218.         }
  9219.         return drawable;
  9220.     };
  9221.     FrescoDrawee.prototype.getDrawableFromResource = function (resourceName) {
  9222.         var img = imageSource.fromResource(resourceName.substr(utils.RESOURCE_PREFIX.length));
  9223.         if (img) {
  9224.             var drawable = new android.graphics.drawable.BitmapDrawable(utils.ad.getApplicationContext().getResources(), img.android);
  9225.         }
  9226.         return drawable;
  9227.     };
  9228.     return FrescoDrawee;
  9229. }(commonModule.FrescoDrawee));
  9230. exports.FrescoDrawee = FrescoDrawee;
  9231. var GenericDraweeHierarchyBuilder = (function () {
  9232.     function GenericDraweeHierarchyBuilder() {
  9233.         var res = application.android.context.getResources();
  9234.         this.nativeBuilder = new com.facebook.drawee.generic.GenericDraweeHierarchyBuilder(res);
  9235.     }
  9236.     GenericDraweeHierarchyBuilder.prototype.setPlaceholderImage = function (drawable) {
  9237.         if (!application.android) {
  9238.             return;
  9239.         }
  9240.         this.nativeBuilder.setPlaceholderImage(drawable);
  9241.         return this;
  9242.     };
  9243.     GenericDraweeHierarchyBuilder.prototype.setFailureImage = function (drawable) {
  9244.         if (!application.android) {
  9245.             return;
  9246.         }
  9247.         this.nativeBuilder.setFailureImage(drawable);
  9248.         return this;
  9249.     };
  9250.     GenericDraweeHierarchyBuilder.prototype.setActualImageScaleType = function (scaleType) {
  9251.         if (!application.android) {
  9252.             return;
  9253.         }
  9254.         this.nativeBuilder.setActualImageScaleType(getScaleType(scaleType));
  9255.         return this;
  9256.     };
  9257.     GenericDraweeHierarchyBuilder.prototype.build = function () {
  9258.         if (!application.android) {
  9259.             return;
  9260.         }
  9261.         return this.nativeBuilder.build();
  9262.     };
  9263.     GenericDraweeHierarchyBuilder.prototype.setFadeDuration = function (duration) {
  9264.         if (!application.android) {
  9265.             return;
  9266.         }
  9267.         this.nativeBuilder.setFadeDuration(duration);
  9268.         return this;
  9269.     };
  9270.     GenericDraweeHierarchyBuilder.prototype.setBackground = function (drawable) {
  9271.         if (!application.android) {
  9272.             return;
  9273.         }
  9274.         this.nativeBuilder.setBackground(drawable);
  9275.         return this;
  9276.     };
  9277.     GenericDraweeHierarchyBuilder.prototype.setProgressBarImage = function (color) {
  9278.         if (!application.android) {
  9279.             return;
  9280.         }
  9281.         var drawable = new com.facebook.drawee.drawable.ProgressBarDrawable();
  9282.         if (color) {
  9283.             drawable.setColor(android.graphics.Color.parseColor(color));
  9284.         }
  9285.         this.nativeBuilder.setProgressBarImage(drawable);
  9286.         return this;
  9287.     };
  9288.     GenericDraweeHierarchyBuilder.prototype.setRoundingParamsAsCircle = function () {
  9289.         if (!application.android) {
  9290.             return;
  9291.         }
  9292.         var params = new com.facebook.drawee.generic.RoundingParams.asCircle();
  9293.         this.nativeBuilder.setRoundingParams(params);
  9294.         return this;
  9295.     };
  9296.     GenericDraweeHierarchyBuilder.prototype.setCornersRadii = function (topLeft, topRight, bottomRight, bottomLeft) {
  9297.         if (!application.android) {
  9298.             return;
  9299.         }
  9300.         var params = new com.facebook.drawee.generic.RoundingParams();
  9301.         params.setCornersRadii(topLeft, topRight, bottomRight, bottomLeft);
  9302.         this.nativeBuilder.setRoundingParams(params);
  9303.         return this;
  9304.     };
  9305.     GenericDraweeHierarchyBuilder.prototype.shutDown = function () {
  9306.         this.nativeBuilder.shutDown();
  9307.     };
  9308.     return GenericDraweeHierarchyBuilder;
  9309. }());
  9310. function getScaleType(scaleType) {
  9311.     if (types.isString(scaleType)) {
  9312.         switch (scaleType) {
  9313.             case commonModule.ScaleType.Center:
  9314.                 return com.facebook.drawee.drawable.ScalingUtils.ScaleType.CENTER;
  9315.             case commonModule.ScaleType.CenterCrop:
  9316.                 return com.facebook.drawee.drawable.ScalingUtils.ScaleType.CENTER_CROP;
  9317.             case commonModule.ScaleType.CenterInside:
  9318.                 return com.facebook.drawee.drawable.ScalingUtils.ScaleType.CENTER_INSIDE;
  9319.             case commonModule.ScaleType.FitCenter:
  9320.                 return com.facebook.drawee.drawable.ScalingUtils.ScaleType.FIT_CENTER;
  9321.             case commonModule.ScaleType.FitEnd:
  9322.                 return com.facebook.drawee.drawable.ScalingUtils.ScaleType.FIT_END;
  9323.             case commonModule.ScaleType.FitStart:
  9324.                 return com.facebook.drawee.drawable.ScalingUtils.ScaleType.FIT_START;
  9325.             case commonModule.ScaleType.FitXY:
  9326.                 return com.facebook.drawee.drawable.ScalingUtils.ScaleType.FIT_XY;
  9327.             case commonModule.ScaleType.FocusCrop:
  9328.                 return com.facebook.drawee.drawable.ScalingUtils.ScaleType.FOCUS_CROP;
  9329.             default:
  9330.                 break;
  9331.         }
  9332.     }
  9333. }
  9334.  
  9335.  
  9336. /***/ }),
  9337. /* 364 */
  9338. /*!*************************************************************************!*\
  9339.   !*** ../node_modules/nativescript-fresco/nativescript-fresco-common.js ***!
  9340.   \*************************************************************************/
  9341. /*! no static exports found */
  9342. /*! all exports used */
  9343. /***/ (function(module, exports, __webpack_require__) {
  9344.  
  9345. "use strict";
  9346.  
  9347. var __extends = (this && this.__extends) || (function () {
  9348.     var extendStatics = Object.setPrototypeOf ||
  9349.         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  9350.         function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
  9351.     return function (d, b) {
  9352.         extendStatics(d, b);
  9353.         function __() { this.constructor = d; }
  9354.         d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  9355.     };
  9356. })();
  9357. Object.defineProperty(exports, "__esModule", { value: true });
  9358. var view_1 = __webpack_require__(/*! tns-core-modules/ui/core/view */ 0);
  9359. var ScaleType;
  9360. (function (ScaleType) {
  9361.     ScaleType.Center = "center";
  9362.     ScaleType.CenterCrop = "centerCrop";
  9363.     ScaleType.CenterInside = "centerInside";
  9364.     ScaleType.FitCenter = "fitCenter";
  9365.     ScaleType.FitEnd = "fitEnd";
  9366.     ScaleType.FitStart = "fitStart";
  9367.     ScaleType.FitXY = "fitXY";
  9368.     ScaleType.FocusCrop = "focusCrop";
  9369. })(ScaleType = exports.ScaleType || (exports.ScaleType = {}));
  9370. var EventData = (function () {
  9371.     function EventData() {
  9372.     }
  9373.     Object.defineProperty(EventData.prototype, "eventName", {
  9374.         get: function () {
  9375.             return this._eventName;
  9376.         },
  9377.         set: function (value) {
  9378.             this._eventName = value;
  9379.         },
  9380.         enumerable: true,
  9381.         configurable: true
  9382.     });
  9383.     Object.defineProperty(EventData.prototype, "object", {
  9384.         get: function () {
  9385.             return this._object;
  9386.         },
  9387.         set: function (value) {
  9388.             this._object = value;
  9389.         },
  9390.         enumerable: true,
  9391.         configurable: true
  9392.     });
  9393.     return EventData;
  9394. }());
  9395. exports.EventData = EventData;
  9396. var FrescoDrawee = (function (_super) {
  9397.     __extends(FrescoDrawee, _super);
  9398.     function FrescoDrawee() {
  9399.         return _super !== null && _super.apply(this, arguments) || this;
  9400.     }
  9401.     FrescoDrawee.prototype.onImageUriPropertyChanged = function (oldValue, newValue) {
  9402.         this.onImageUriChanged(oldValue, newValue);
  9403.     };
  9404.     FrescoDrawee.prototype.onPlaceholderImageUriPropertyChanged = function (oldValue, newValue) {
  9405.         this.onPlaceholderImageUriChanged(oldValue, newValue);
  9406.     };
  9407.     FrescoDrawee.prototype.onFailureImageUriPropertyChanged = function (oldValue, newValue) {
  9408.         this.onFailureImageUriChanged(oldValue, newValue);
  9409.     };
  9410.     FrescoDrawee.prototype.onActualImageScaleTypePropertyChanged = function (oldValue, newValue) {
  9411.         this.onActualImageScaleTypeChanged(oldValue, newValue);
  9412.     };
  9413.     FrescoDrawee.prototype.onFadeDurationPropertyChanged = function (oldValue, newValue) {
  9414.         this.onFadeDurationChanged(oldValue, newValue);
  9415.     };
  9416.     FrescoDrawee.prototype.onBackgroundUriPropertyChanged = function (oldValue, newValue) {
  9417.         this.onBackgroundUriChanged(oldValue, newValue);
  9418.     };
  9419.     FrescoDrawee.prototype.onProgressiveRenderingEnabledPropertyChanged = function (oldValue, newValue) {
  9420.         this.onProgressiveRenderingEnabledChanged(oldValue, newValue);
  9421.     };
  9422.     FrescoDrawee.prototype.onShowProgressBarPropertyChanged = function (oldValue, newValue) {
  9423.         this.onShowProgressBarChanged(oldValue, newValue);
  9424.     };
  9425.     FrescoDrawee.prototype.onProgressBarColorPropertyChanged = function (oldValue, newValue) {
  9426.         this.onProgressBarColorChanged(oldValue, newValue);
  9427.     };
  9428.     FrescoDrawee.prototype.onRoundAsCirclePropertyChanged = function (oldValue, newValue) {
  9429.         this.onRoundAsCircleChanged(oldValue, newValue);
  9430.     };
  9431.     FrescoDrawee.prototype.onRoundTopLeftPropertyChanged = function (oldValue, newValue) {
  9432.         this.onRoundTopLeftChanged(oldValue, newValue);
  9433.     };
  9434.     FrescoDrawee.prototype.onRoundTopRightPropertyChanged = function (oldValue, newValue) {
  9435.         this.onRoundTopRightChanged(oldValue, newValue);
  9436.     };
  9437.     FrescoDrawee.prototype.onRoundBottomLeftPropertyChanged = function (oldValue, newValue) {
  9438.         this.onRoundBottomLeftChanged(oldValue, newValue);
  9439.     };
  9440.     FrescoDrawee.prototype.onRoundBottomRightPropertyChanged = function (oldValue, newValue) {
  9441.         this.onRoundBottomRightChanged(oldValue, newValue);
  9442.     };
  9443.     FrescoDrawee.prototype.onRoundedCornerRadiusPropertyChanged = function (oldValue, newValue) {
  9444.         this.onRoundedCornerRadiusChanged(oldValue, newValue);
  9445.     };
  9446.     FrescoDrawee.prototype.onAutoPlayAnimationsPropertyChanged = function (oldValue, newValue) {
  9447.         this.onAutoPlayAnimationsPChanged(oldValue, newValue);
  9448.     };
  9449.     FrescoDrawee.prototype.onTapToRetryEnabledPropertyChanged = function (oldValue, newValue) {
  9450.         this.onTapToRetryEnabledChanged(oldValue, newValue);
  9451.     };
  9452.     FrescoDrawee.prototype.onAspectRatioPropertyChanged = function (oldValue, newValue) {
  9453.         this.onAspectRatioChanged(oldValue, newValue);
  9454.     };
  9455.     FrescoDrawee.prototype.onImageUriChanged = function (oldValue, newValue) {
  9456.     };
  9457.     FrescoDrawee.prototype.onPlaceholderImageUriChanged = function (oldValue, newValue) {
  9458.     };
  9459.     FrescoDrawee.prototype.onFailureImageUriChanged = function (oldValue, newValue) {
  9460.     };
  9461.     FrescoDrawee.prototype.onActualImageScaleTypeChanged = function (oldValue, newValue) {
  9462.     };
  9463.     FrescoDrawee.prototype.onFadeDurationChanged = function (oldValue, newValue) {
  9464.     };
  9465.     FrescoDrawee.prototype.onBackgroundUriChanged = function (oldValue, newValue) {
  9466.     };
  9467.     FrescoDrawee.prototype.onProgressiveRenderingEnabledChanged = function (oldValue, newValue) {
  9468.     };
  9469.     FrescoDrawee.prototype.onShowProgressBarChanged = function (oldValue, newValue) {
  9470.     };
  9471.     FrescoDrawee.prototype.onProgressBarColorChanged = function (oldValue, newValue) {
  9472.     };
  9473.     FrescoDrawee.prototype.onRoundAsCircleChanged = function (oldValue, newValue) {
  9474.     };
  9475.     FrescoDrawee.prototype.onRoundTopLeftChanged = function (oldValue, newValue) {
  9476.     };
  9477.     FrescoDrawee.prototype.onRoundTopRightChanged = function (oldValue, newValue) {
  9478.     };
  9479.     FrescoDrawee.prototype.onRoundBottomLeftChanged = function (oldValue, newValue) {
  9480.     };
  9481.     FrescoDrawee.prototype.onRoundBottomRightChanged = function (oldValue, newValue) {
  9482.     };
  9483.     FrescoDrawee.prototype.onRoundedCornerRadiusChanged = function (oldValue, newValue) {
  9484.     };
  9485.     FrescoDrawee.prototype.onAutoPlayAnimationsPChanged = function (oldValue, newValue) {
  9486.     };
  9487.     FrescoDrawee.prototype.onTapToRetryEnabledChanged = function (oldValue, newValue) {
  9488.     };
  9489.     FrescoDrawee.prototype.onAspectRatioChanged = function (oldValue, newValue) {
  9490.     };
  9491.     return FrescoDrawee;
  9492. }(view_1.View));
  9493. FrescoDrawee.finalImageSetEvent = "finalImageSet";
  9494. FrescoDrawee.failureEvent = "failure";
  9495. FrescoDrawee.intermediateImageFailedEvent = "intermediateImageFailed";
  9496. FrescoDrawee.intermediateImageSetEvent = "intermediateImageSet";
  9497. FrescoDrawee.releaseEvent = "release";
  9498. FrescoDrawee.submitEvent = "submit";
  9499. FrescoDrawee.imageUriProperty = new view_1.Property({
  9500.     name: "imageUri",
  9501.     defaultValue: undefined,
  9502.     valueConverter: function (v) { return v; },
  9503.     valueChanged: function (target, oldValue, newValue) {
  9504.         target.onImageUriPropertyChanged(oldValue, newValue);
  9505.     },
  9506. });
  9507. FrescoDrawee.placeholderImageUriProperty = new view_1.Property({
  9508.     name: "placeholderImageUri",
  9509.     defaultValue: undefined,
  9510.     valueConverter: function (v) { return v; },
  9511.     valueChanged: function (target, oldValue, newValue) {
  9512.         target.onPlaceholderImageUriPropertyChanged(oldValue, newValue);
  9513.     },
  9514. });
  9515. FrescoDrawee.failureImageUriProperty = new view_1.Property({
  9516.     name: "failureImageUri",
  9517.     defaultValue: undefined,
  9518.     valueConverter: function (v) { return v; },
  9519.     valueChanged: function (target, oldValue, newValue) {
  9520.         target.onFailureImageUriPropertyChanged(oldValue, newValue);
  9521.     },
  9522. });
  9523. FrescoDrawee.actualImageScaleTypeProperty = new view_1.Property({
  9524.     name: "actualImageScaleType",
  9525.     defaultValue: undefined,
  9526.     valueConverter: function (v) { return v; },
  9527.     valueChanged: function (target, oldValue, newValue) {
  9528.         target.onActualImageScaleTypePropertyChanged(oldValue, newValue);
  9529.     },
  9530. });
  9531. FrescoDrawee.fadeDurationProperty = new view_1.Property({
  9532.     name: "fadeDuration",
  9533.     defaultValue: undefined,
  9534.     valueConverter: function (v) { return parseFloat(v); },
  9535.     valueChanged: function (target, oldValue, newValue) {
  9536.         target.onFadeDurationPropertyChanged(oldValue, newValue);
  9537.     },
  9538. });
  9539. FrescoDrawee.backgroundUriProperty = new view_1.Property({
  9540.     name: "backgroundUri",
  9541.     defaultValue: undefined,
  9542.     valueConverter: function (v) { return v; },
  9543.     valueChanged: function (target, oldValue, newValue) {
  9544.         target.onBackgroundUriPropertyChanged(oldValue, newValue);
  9545.     },
  9546. });
  9547. FrescoDrawee.progressiveRenderingEnabledProperty = new view_1.Property({
  9548.     name: "progressiveRenderingEnabled",
  9549.     defaultValue: undefined,
  9550.     valueConverter: view_1.booleanConverter,
  9551.     valueChanged: function (target, oldValue, newValue) {
  9552.         target.onProgressiveRenderingEnabledPropertyChanged(oldValue, newValue);
  9553.     },
  9554. });
  9555. FrescoDrawee.showProgressBarProperty = new view_1.Property({
  9556.     name: "showProgressBar",
  9557.     defaultValue: undefined,
  9558.     valueConverter: view_1.booleanConverter,
  9559.     valueChanged: function (target, oldValue, newValue) {
  9560.         target.onShowProgressBarPropertyChanged(oldValue, newValue);
  9561.     },
  9562. });
  9563. FrescoDrawee.progressBarColorProperty = new view_1.Property({
  9564.     name: "progressBarColor",
  9565.     defaultValue: undefined,
  9566.     valueConverter: function (v) { return v; },
  9567.     valueChanged: function (target, oldValue, newValue) {
  9568.         target.onProgressBarColorPropertyChanged(oldValue, newValue);
  9569.     },
  9570. });
  9571. FrescoDrawee.roundAsCircleProperty = new view_1.Property({
  9572.     name: "roundAsCircle",
  9573.     defaultValue: undefined,
  9574.     valueConverter: view_1.booleanConverter,
  9575.     affectsLayout: true,
  9576.     valueChanged: function (target, oldValue, newValue) {
  9577.         target.onRoundAsCirclePropertyChanged(oldValue, newValue);
  9578.     },
  9579. });
  9580. FrescoDrawee.roundTopLeftProperty = new view_1.Property({
  9581.     name: "roundTopLeft",
  9582.     defaultValue: undefined,
  9583.     valueConverter: view_1.booleanConverter,
  9584.     affectsLayout: true,
  9585.     valueChanged: function (target, oldValue, newValue) {
  9586.         target.onRoundTopLeftPropertyChanged(oldValue, newValue);
  9587.     },
  9588. });
  9589. FrescoDrawee.roundTopRightProperty = new view_1.Property({
  9590.     name: "roundTopRight",
  9591.     defaultValue: undefined,
  9592.     valueConverter: view_1.booleanConverter,
  9593.     affectsLayout: true,
  9594.     valueChanged: function (target, oldValue, newValue) {
  9595.         target.onRoundTopRightPropertyChanged(oldValue, newValue);
  9596.     },
  9597. });
  9598. FrescoDrawee.roundBottomLeftProperty = new view_1.Property({
  9599.     name: "roundBottomLeft",
  9600.     defaultValue: undefined,
  9601.     valueConverter: view_1.booleanConverter,
  9602.     valueChanged: function (target, oldValue, newValue) {
  9603.         target.onRoundBottomLeftPropertyChanged(oldValue, newValue);
  9604.     },
  9605. });
  9606. FrescoDrawee.roundBottomRightProperty = new view_1.Property({
  9607.     name: "roundBottomRight",
  9608.     defaultValue: undefined,
  9609.     valueConverter: view_1.booleanConverter,
  9610.     valueChanged: function (target, oldValue, newValue) {
  9611.         target.onRoundBottomRightPropertyChanged(oldValue, newValue);
  9612.     },
  9613. });
  9614. FrescoDrawee.roundedCornerRadiusProperty = new view_1.Property({
  9615.     name: "roundedCornerRadius",
  9616.     defaultValue: undefined,
  9617.     valueConverter: function (v) { return parseFloat(v); },
  9618.     valueChanged: function (target, oldValue, newValue) {
  9619.         target.onRoundedCornerRadiusPropertyChanged(oldValue, newValue);
  9620.     },
  9621. });
  9622. FrescoDrawee.autoPlayAnimationsProperty = new view_1.Property({
  9623.     name: "autoPlayAnimations",
  9624.     defaultValue: undefined,
  9625.     valueConverter: view_1.booleanConverter,
  9626.     valueChanged: function (target, oldValue, newValue) {
  9627.         target.onAutoPlayAnimationsPropertyChanged(oldValue, newValue);
  9628.     },
  9629. });
  9630. FrescoDrawee.tapToRetryEnabledProperty = new view_1.Property({
  9631.     name: "tapToRetryEnabled",
  9632.     defaultValue: undefined,
  9633.     valueConverter: view_1.booleanConverter,
  9634.     valueChanged: function (target, oldValue, newValue) {
  9635.         target.onTapToRetryEnabledPropertyChanged(oldValue, newValue);
  9636.     },
  9637. });
  9638. FrescoDrawee.aspectRatioProperty = new view_1.Property({
  9639.     name: "aspectRatio",
  9640.     defaultValue: undefined,
  9641.     valueConverter: function (v) { return parseFloat(v); },
  9642.     valueChanged: function (target, oldValue, newValue) {
  9643.         target.onAspectRatioPropertyChanged(oldValue, newValue);
  9644.     },
  9645. });
  9646. exports.FrescoDrawee = FrescoDrawee;
  9647. FrescoDrawee.imageUriProperty.register(FrescoDrawee);
  9648. FrescoDrawee.placeholderImageUriProperty.register(FrescoDrawee);
  9649. FrescoDrawee.failureImageUriProperty.register(FrescoDrawee);
  9650. FrescoDrawee.actualImageScaleTypeProperty.register(FrescoDrawee);
  9651. FrescoDrawee.fadeDurationProperty.register(FrescoDrawee);
  9652. FrescoDrawee.backgroundUriProperty.register(FrescoDrawee);
  9653. FrescoDrawee.progressiveRenderingEnabledProperty.register(FrescoDrawee);
  9654. FrescoDrawee.showProgressBarProperty.register(FrescoDrawee);
  9655. FrescoDrawee.progressBarColorProperty.register(FrescoDrawee);
  9656. FrescoDrawee.roundAsCircleProperty.register(FrescoDrawee);
  9657. FrescoDrawee.roundTopLeftProperty.register(FrescoDrawee);
  9658. FrescoDrawee.roundTopRightProperty.register(FrescoDrawee);
  9659. FrescoDrawee.roundBottomLeftProperty.register(FrescoDrawee);
  9660. FrescoDrawee.roundBottomRightProperty.register(FrescoDrawee);
  9661. FrescoDrawee.roundedCornerRadiusProperty.register(FrescoDrawee);
  9662. FrescoDrawee.autoPlayAnimationsProperty.register(FrescoDrawee);
  9663. FrescoDrawee.tapToRetryEnabledProperty.register(FrescoDrawee);
  9664. FrescoDrawee.aspectRatioProperty.register(FrescoDrawee);
  9665.  
  9666.  
  9667. /***/ }),
  9668. /* 365 */
  9669. /*!************************!*\
  9670.   !*** ./main-common.ts ***!
  9671.   \************************/
  9672. /*! no static exports found */
  9673. /*! all exports used */
  9674. /***/ (function(module, exports, __webpack_require__) {
  9675.  
  9676. Object.defineProperty(exports, "__esModule", { value: true });
  9677. var application = __webpack_require__(/*! application */ 2);
  9678. var prof = __webpack_require__(/*! ./common/profiling */ 35);
  9679. var utils = __webpack_require__(/*! utils/utils */ 1);
  9680. var profiling_1 = __webpack_require__(/*! profiling */ 8);
  9681. __webpack_require__(/*! nativescript-plugin-firebase */ 98);
  9682. var json = __webpack_require__(/*! ~/package.json */ 40);
  9683. console.log("App config is: " + JSON.stringify(json));
  9684. application.on("displayed", function () {
  9685.     var now = profiling_1.time();
  9686.     var started = now - profiling_1.uptime();
  9687.     console.log("Timeline: Startup time...  (" + started + "ms. - " + now + "ms.)");
  9688. });
  9689. // The location of this import is important. iOS swizzles the app delegate.
  9690. __webpack_require__(/*! ./common/firebase */ 29);
  9691. if (application.android) {
  9692.     application.on("launch", function (args) {
  9693.         console.log("onLaunch");
  9694.         com.facebook.drawee.backends.pipeline.Fresco.initialize(application.android.context);
  9695.         application.android.on("activityStarted", function (_a) {
  9696.             var activity = _a.activity;
  9697.             console.log("onStarted");
  9698.             var window = activity.getWindow();
  9699.             if (window) {
  9700.                 window.setBackgroundDrawable(new android.graphics.drawable.ColorDrawable(0xFF151F2F));
  9701.                 // Prevent the soft keyboard from hiding EditText's while typing.
  9702.                 window.setSoftInputMode(32); //android.view.WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN;
  9703.             }
  9704.         });
  9705.     });
  9706. }
  9707. if (application.ios) {
  9708.     application.on("launch", function (args) {
  9709.         utils.ios.getter(UIApplication, UIApplication.sharedApplication).statusBarStyle = UIStatusBarStyle.UIStatusBarStyleLightContent;
  9710.         setTimeout(function () {
  9711.             utils.ios.getter(UIApplication, UIApplication.sharedApplication).keyWindow.backgroundColor = utils.ios.getter(UIColor, UIColor.blackColor);
  9712.         }, 1);
  9713.     });
  9714. }
  9715. prof.start("main-page");
  9716. application.start("views/main-page/main-page");
  9717.  
  9718.  
  9719. /***/ }),
  9720. /* 366 */
  9721. /*!**********************************************************************!*\
  9722.   !*** . ../node_modules/file-loader \/[^\.\/]*(.android)?.(css|xml)$ ***!
  9723.   \**********************************************************************/
  9724. /*! no static exports found */
  9725. /*! all exports used */
  9726. /***/ (function(module, exports, __webpack_require__) {
  9727.  
  9728. var map = {
  9729.     "./App_Resources/Android/AndroidManifest.xml": 367,
  9730.     "./App_Resources/Android/drawable-nodpi/reservation_spinner_background.xml": 368,
  9731.     "./App_Resources/Android/drawable-nodpi/splash_screen.xml": 369,
  9732.     "./App_Resources/Android/drawable-v21/reservation_spinner_background.xml": 370,
  9733.     "./App_Resources/Android/layout/reservation_table_spinner_editor.xml": 371,
  9734.     "./App_Resources/Android/layout/reservation_table_spinner_item.xml": 372,
  9735.     "./App_Resources/Android/values-v21/colors.xml": 373,
  9736.     "./App_Resources/Android/values-v21/dimens.xml": 374,
  9737.     "./App_Resources/Android/values-v21/styles.xml": 375,
  9738.     "./App_Resources/Android/values/colors.xml": 376,
  9739.     "./App_Resources/Android/values/dimens.xml": 377,
  9740.     "./App_Resources/Android/values/strings.xml": 378,
  9741.     "./App_Resources/Android/values/styles.xml": 379,
  9742.     "./app-common.css": 380,
  9743.     "./app.android.css": 381,
  9744.     "./examples/chart/area-series.css": 382,
  9745.     "./examples/chart/area-series.xml": 383,
  9746.     "./examples/chart/area/area1.xml": 384,
  9747.     "./examples/chart/area/area2.xml": 385,
  9748.     "./examples/chart/area/area3.xml": 386,
  9749.     "./examples/chart/area/area4.xml": 387,
  9750.     "./examples/chart/area/area5.xml": 388,
  9751.     "./examples/chart/area/area6.xml": 389,
  9752.     "./examples/chart/bar-series.css": 390,
  9753.     "./examples/chart/bar-series.xml": 391,
  9754.     "./examples/chart/bar/bar1.xml": 392,
  9755.     "./examples/chart/bar/bar2.xml": 393,
  9756.     "./examples/chart/bar/bar3.xml": 394,
  9757.     "./examples/chart/bar/bar4.xml": 395,
  9758.     "./examples/chart/bar/bar5.xml": 396,
  9759.     "./examples/chart/bar/bar6.xml": 397,
  9760.     "./examples/chart/line-series.css": 398,
  9761.     "./examples/chart/line-series.xml": 399,
  9762.     "./examples/chart/line/line1.xml": 400,
  9763.     "./examples/chart/line/line2.xml": 401,
  9764.     "./examples/chart/line/line3.xml": 402,
  9765.     "./examples/chart/line/line4.xml": 403,
  9766.     "./examples/chart/pie-series.css": 404,
  9767.     "./examples/chart/pie-series.xml": 405,
  9768.     "./examples/chart/pie/pie1.xml": 406,
  9769.     "./examples/chart/pie/pie2.xml": 407,
  9770.     "./examples/chart/pie/pie3.xml": 408,
  9771.     "./examples/conference-agenda/conference-agenda-example.android.css": 409,
  9772.     "./examples/conference-agenda/conference-agenda-example.xml": 410,
  9773.     "./examples/dataform/reservations-edit-page.xml": 411,
  9774.     "./examples/dataform/reservations-list-page.android.css": 412,
  9775.     "./examples/dataform/reservations-list-page.xml": 413,
  9776.     "./examples/example-menu.xml": 414,
  9777.     "./examples/layouts/layouts-example.css": 415,
  9778.     "./examples/layouts/layouts-example.xml": 416,
  9779.     "./examples/listview/layouts/listview-layouts.android.css": 417,
  9780.     "./examples/listview/layouts/listview-layouts.xml": 418,
  9781.     "./examples/listview/reorder/listview-reorder.css": 419,
  9782.     "./examples/listview/reorder/listview-reorder.xml": 420,
  9783.     "./examples/listview/selection/detail-page.android.css": 421,
  9784.     "./examples/listview/selection/detail-page.xml": 422,
  9785.     "./examples/listview/selection/main-page-common.css": 423,
  9786.     "./examples/listview/selection/main-page.android.css": 424,
  9787.     "./examples/listview/selection/main-page.xml": 425,
  9788.     "./examples/user-profile/user-profile-example.android.css": 426,
  9789.     "./examples/user-profile/user-profile-example.xml": 427,
  9790.     "./styles/code-highlight.css": 428,
  9791.     "./views/about/about-common.css": 429,
  9792.     "./views/about/about.android.css": 430,
  9793.     "./views/about/about.xml": 431,
  9794.     "./views/code-page.css": 432,
  9795.     "./views/code-page.xml": 433,
  9796.     "./views/example-info-page-common.css": 434,
  9797.     "./views/example-info-page.android.css": 435,
  9798.     "./views/example-info-page.xml": 436,
  9799.     "./views/group-info-page.xml": 437,
  9800.     "./views/group-page/group-page-content.xml": 438,
  9801.     "./views/group-page/group-page.xml": 439,
  9802.     "./views/main-page/all-controls.xml": 440,
  9803.     "./views/main-page/featured-examples-common.css": 441,
  9804.     "./views/main-page/featured-examples.android.css": 442,
  9805.     "./views/main-page/featured-examples.xml": 443,
  9806.     "./views/main-page/main-page.css": 444,
  9807.     "./views/main-page/main-page.xml": 445,
  9808.     "./views/side-drawer-content/side-drawer-content-common.css": 446,
  9809.     "./views/side-drawer-content/side-drawer-content.android.css": 447,
  9810.     "./views/side-drawer-content/side-drawer-content.xml": 448,
  9811.     "./views/what-is-new-common.css": 449,
  9812.     "./views/what-is-new.android.css": 450,
  9813.     "./views/what-is-new.xml": 451
  9814. };
  9815. function webpackContext(req) {
  9816.     return __webpack_require__(webpackContextResolve(req));
  9817. };
  9818. function webpackContextResolve(req) {
  9819.     var id = map[req];
  9820.     if(!(id + 1)) // check for number or string
  9821.         throw new Error("Cannot find module '" + req + "'.");
  9822.     return id;
  9823. };
  9824. webpackContext.keys = function webpackContextKeys() {
  9825.     return Object.keys(map);
  9826. };
  9827. webpackContext.resolve = webpackContextResolve;
  9828. module.exports = webpackContext;
  9829. webpackContext.id = 366;
  9830.  
  9831. /***/ }),
  9832. /* 367 */
  9833. /*!*******************************************************************************!*\
  9834.   !*** ../node_modules/file-loader!./App_Resources/Android/AndroidManifest.xml ***!
  9835.   \*******************************************************************************/
  9836. /*! no static exports found */
  9837. /*! all exports used */
  9838. /***/ (function(module, exports, __webpack_require__) {
  9839.  
  9840. module.exports = __webpack_require__.p + "61ecc4f9a2f30fa0ccd5e21bfba8e738.xml";
  9841.  
  9842. /***/ }),
  9843. /* 368 */
  9844. /*!*************************************************************************************************************!*\
  9845.   !*** ../node_modules/file-loader!./App_Resources/Android/drawable-nodpi/reservation_spinner_background.xml ***!
  9846.   \*************************************************************************************************************/
  9847. /*! no static exports found */
  9848. /*! all exports used */
  9849. /***/ (function(module, exports, __webpack_require__) {
  9850.  
  9851. module.exports = __webpack_require__.p + "3f4db5c1c19ca22d94f33526c3bcaaf3.xml";
  9852.  
  9853. /***/ }),
  9854. /* 369 */
  9855. /*!********************************************************************************************!*\
  9856.   !*** ../node_modules/file-loader!./App_Resources/Android/drawable-nodpi/splash_screen.xml ***!
  9857.   \********************************************************************************************/
  9858. /*! no static exports found */
  9859. /*! all exports used */
  9860. /***/ (function(module, exports, __webpack_require__) {
  9861.  
  9862. module.exports = __webpack_require__.p + "1384831c9000863a6dcdb80c69c7e4b6.xml";
  9863.  
  9864. /***/ }),
  9865. /* 370 */
  9866. /*!***********************************************************************************************************!*\
  9867.   !*** ../node_modules/file-loader!./App_Resources/Android/drawable-v21/reservation_spinner_background.xml ***!
  9868.   \***********************************************************************************************************/
  9869. /*! no static exports found */
  9870. /*! all exports used */
  9871. /***/ (function(module, exports, __webpack_require__) {
  9872.  
  9873. module.exports = __webpack_require__.p + "89edfe689c9e87a454bda56eb51474ee.xml";
  9874.  
  9875. /***/ }),
  9876. /* 371 */
  9877. /*!*******************************************************************************************************!*\
  9878.   !*** ../node_modules/file-loader!./App_Resources/Android/layout/reservation_table_spinner_editor.xml ***!
  9879.   \*******************************************************************************************************/
  9880. /*! no static exports found */
  9881. /*! all exports used */
  9882. /***/ (function(module, exports, __webpack_require__) {
  9883.  
  9884. module.exports = __webpack_require__.p + "37840a6b077157598b979fab0428a4e5.xml";
  9885.  
  9886. /***/ }),
  9887. /* 372 */
  9888. /*!*****************************************************************************************************!*\
  9889.   !*** ../node_modules/file-loader!./App_Resources/Android/layout/reservation_table_spinner_item.xml ***!
  9890.   \*****************************************************************************************************/
  9891. /*! no static exports found */
  9892. /*! all exports used */
  9893. /***/ (function(module, exports, __webpack_require__) {
  9894.  
  9895. module.exports = __webpack_require__.p + "11261a8953f103246e4f6674e4db162f.xml";
  9896.  
  9897. /***/ }),
  9898. /* 373 */
  9899. /*!*********************************************************************************!*\
  9900.   !*** ../node_modules/file-loader!./App_Resources/Android/values-v21/colors.xml ***!
  9901.   \*********************************************************************************/
  9902. /*! no static exports found */
  9903. /*! all exports used */
  9904. /***/ (function(module, exports, __webpack_require__) {
  9905.  
  9906. module.exports = __webpack_require__.p + "8208c168ed42ab9fe286edf00e859823.xml";
  9907.  
  9908. /***/ }),
  9909. /* 374 */
  9910. /*!*********************************************************************************!*\
  9911.   !*** ../node_modules/file-loader!./App_Resources/Android/values-v21/dimens.xml ***!
  9912.   \*********************************************************************************/
  9913. /*! no static exports found */
  9914. /*! all exports used */
  9915. /***/ (function(module, exports, __webpack_require__) {
  9916.  
  9917. module.exports = __webpack_require__.p + "054a2bd14fbe7f67a87d47ea3dca1434.xml";
  9918.  
  9919. /***/ }),
  9920. /* 375 */
  9921. /*!*********************************************************************************!*\
  9922.   !*** ../node_modules/file-loader!./App_Resources/Android/values-v21/styles.xml ***!
  9923.   \*********************************************************************************/
  9924. /*! no static exports found */
  9925. /*! all exports used */
  9926. /***/ (function(module, exports, __webpack_require__) {
  9927.  
  9928. module.exports = __webpack_require__.p + "54d8ec7dec2e1cdf2ae87cecc8d2b158.xml";
  9929.  
  9930. /***/ }),
  9931. /* 376 */
  9932. /*!*****************************************************************************!*\
  9933.   !*** ../node_modules/file-loader!./App_Resources/Android/values/colors.xml ***!
  9934.   \*****************************************************************************/
  9935. /*! no static exports found */
  9936. /*! all exports used */
  9937. /***/ (function(module, exports, __webpack_require__) {
  9938.  
  9939. module.exports = __webpack_require__.p + "bc80c03a8107922f1659ed6e224dd997.xml";
  9940.  
  9941. /***/ }),
  9942. /* 377 */
  9943. /*!*****************************************************************************!*\
  9944.   !*** ../node_modules/file-loader!./App_Resources/Android/values/dimens.xml ***!
  9945.   \*****************************************************************************/
  9946. /*! no static exports found */
  9947. /*! all exports used */
  9948. /***/ (function(module, exports, __webpack_require__) {
  9949.  
  9950. module.exports = __webpack_require__.p + "8190df412957cb19f282a0b49e078b02.xml";
  9951.  
  9952. /***/ }),
  9953. /* 378 */
  9954. /*!******************************************************************************!*\
  9955.   !*** ../node_modules/file-loader!./App_Resources/Android/values/strings.xml ***!
  9956.   \******************************************************************************/
  9957. /*! no static exports found */
  9958. /*! all exports used */
  9959. /***/ (function(module, exports, __webpack_require__) {
  9960.  
  9961. module.exports = __webpack_require__.p + "d14c18d5dcc89178c28f064facc14624.xml";
  9962.  
  9963. /***/ }),
  9964. /* 379 */
  9965. /*!*****************************************************************************!*\
  9966.   !*** ../node_modules/file-loader!./App_Resources/Android/values/styles.xml ***!
  9967.   \*****************************************************************************/
  9968. /*! no static exports found */
  9969. /*! all exports used */
  9970. /***/ (function(module, exports, __webpack_require__) {
  9971.  
  9972. module.exports = __webpack_require__.p + "f05d6df478cad0ebd3fee413f01c5e65.xml";
  9973.  
  9974. /***/ }),
  9975. /* 380 */
  9976. /*!****************************************************!*\
  9977.   !*** ../node_modules/file-loader!./app-common.css ***!
  9978.   \****************************************************/
  9979. /*! no static exports found */
  9980. /*! all exports used */
  9981. /***/ (function(module, exports, __webpack_require__) {
  9982.  
  9983. module.exports = __webpack_require__.p + "ba395ba259fcfeb929ca9c5cd3e6d00a.css";
  9984.  
  9985. /***/ }),
  9986. /* 381 */
  9987. /*!*****************************************************!*\
  9988.   !*** ../node_modules/file-loader!./app.android.css ***!
  9989.   \*****************************************************/
  9990. /*! no static exports found */
  9991. /*! all exports used */
  9992. /***/ (function(module, exports, __webpack_require__) {
  9993.  
  9994. module.exports = __webpack_require__.p + "d76cbbcb51ff6f8fdadd8fdea93ae248.css";
  9995.  
  9996. /***/ }),
  9997. /* 382 */
  9998. /*!********************************************************************!*\
  9999.   !*** ../node_modules/file-loader!./examples/chart/area-series.css ***!
  10000.   \********************************************************************/
  10001. /*! no static exports found */
  10002. /*! all exports used */
  10003. /***/ (function(module, exports, __webpack_require__) {
  10004.  
  10005. module.exports = __webpack_require__.p + "36d421880bc1c7b7473824a9cbf0f7c9.css";
  10006.  
  10007. /***/ }),
  10008. /* 383 */
  10009. /*!********************************************************************!*\
  10010.   !*** ../node_modules/file-loader!./examples/chart/area-series.xml ***!
  10011.   \********************************************************************/
  10012. /*! no static exports found */
  10013. /*! all exports used */
  10014. /***/ (function(module, exports, __webpack_require__) {
  10015.  
  10016. module.exports = __webpack_require__.p + "c4092fd979df8bdb431e20e9546860ab.xml";
  10017.  
  10018. /***/ }),
  10019. /* 384 */
  10020. /*!*******************************************************************!*\
  10021.   !*** ../node_modules/file-loader!./examples/chart/area/area1.xml ***!
  10022.   \*******************************************************************/
  10023. /*! no static exports found */
  10024. /*! all exports used */
  10025. /***/ (function(module, exports, __webpack_require__) {
  10026.  
  10027. module.exports = __webpack_require__.p + "a62eca7a0430e4646f67ade4eb0cedfb.xml";
  10028.  
  10029. /***/ }),
  10030. /* 385 */
  10031. /*!*******************************************************************!*\
  10032.   !*** ../node_modules/file-loader!./examples/chart/area/area2.xml ***!
  10033.   \*******************************************************************/
  10034. /*! no static exports found */
  10035. /*! all exports used */
  10036. /***/ (function(module, exports, __webpack_require__) {
  10037.  
  10038. module.exports = __webpack_require__.p + "878a510a948a8c7cd630b10284def30d.xml";
  10039.  
  10040. /***/ }),
  10041. /* 386 */
  10042. /*!*******************************************************************!*\
  10043.   !*** ../node_modules/file-loader!./examples/chart/area/area3.xml ***!
  10044.   \*******************************************************************/
  10045. /*! no static exports found */
  10046. /*! all exports used */
  10047. /***/ (function(module, exports, __webpack_require__) {
  10048.  
  10049. module.exports = __webpack_require__.p + "8841962c42fe694f3bcfdeb473cc658a.xml";
  10050.  
  10051. /***/ }),
  10052. /* 387 */
  10053. /*!*******************************************************************!*\
  10054.   !*** ../node_modules/file-loader!./examples/chart/area/area4.xml ***!
  10055.   \*******************************************************************/
  10056. /*! no static exports found */
  10057. /*! all exports used */
  10058. /***/ (function(module, exports, __webpack_require__) {
  10059.  
  10060. module.exports = __webpack_require__.p + "234b5c63e8b73fddd1b241425a93c64e.xml";
  10061.  
  10062. /***/ }),
  10063. /* 388 */
  10064. /*!*******************************************************************!*\
  10065.   !*** ../node_modules/file-loader!./examples/chart/area/area5.xml ***!
  10066.   \*******************************************************************/
  10067. /*! no static exports found */
  10068. /*! all exports used */
  10069. /***/ (function(module, exports, __webpack_require__) {
  10070.  
  10071. module.exports = __webpack_require__.p + "55bd782668228987a5dc30b3ec22c8bb.xml";
  10072.  
  10073. /***/ }),
  10074. /* 389 */
  10075. /*!*******************************************************************!*\
  10076.   !*** ../node_modules/file-loader!./examples/chart/area/area6.xml ***!
  10077.   \*******************************************************************/
  10078. /*! no static exports found */
  10079. /*! all exports used */
  10080. /***/ (function(module, exports, __webpack_require__) {
  10081.  
  10082. module.exports = __webpack_require__.p + "11cb11f5280080b2e45353a66fe673ba.xml";
  10083.  
  10084. /***/ }),
  10085. /* 390 */
  10086. /*!*******************************************************************!*\
  10087.   !*** ../node_modules/file-loader!./examples/chart/bar-series.css ***!
  10088.   \*******************************************************************/
  10089. /*! no static exports found */
  10090. /*! all exports used */
  10091. /***/ (function(module, exports, __webpack_require__) {
  10092.  
  10093. module.exports = __webpack_require__.p + "08ccd4166067985133df347f0f99d2dd.css";
  10094.  
  10095. /***/ }),
  10096. /* 391 */
  10097. /*!*******************************************************************!*\
  10098.   !*** ../node_modules/file-loader!./examples/chart/bar-series.xml ***!
  10099.   \*******************************************************************/
  10100. /*! no static exports found */
  10101. /*! all exports used */
  10102. /***/ (function(module, exports, __webpack_require__) {
  10103.  
  10104. module.exports = __webpack_require__.p + "ff35d1dfe77b97aa3d64c5816eb9dc33.xml";
  10105.  
  10106. /***/ }),
  10107. /* 392 */
  10108. /*!*****************************************************************!*\
  10109.   !*** ../node_modules/file-loader!./examples/chart/bar/bar1.xml ***!
  10110.   \*****************************************************************/
  10111. /*! no static exports found */
  10112. /*! all exports used */
  10113. /***/ (function(module, exports, __webpack_require__) {
  10114.  
  10115. module.exports = __webpack_require__.p + "32a4f98fef5bee45e4266f15b6a5d06b.xml";
  10116.  
  10117. /***/ }),
  10118. /* 393 */
  10119. /*!*****************************************************************!*\
  10120.   !*** ../node_modules/file-loader!./examples/chart/bar/bar2.xml ***!
  10121.   \*****************************************************************/
  10122. /*! no static exports found */
  10123. /*! all exports used */
  10124. /***/ (function(module, exports, __webpack_require__) {
  10125.  
  10126. module.exports = __webpack_require__.p + "2c9c55ff1af735617b6c803c5774ea6f.xml";
  10127.  
  10128. /***/ }),
  10129. /* 394 */
  10130. /*!*****************************************************************!*\
  10131.   !*** ../node_modules/file-loader!./examples/chart/bar/bar3.xml ***!
  10132.   \*****************************************************************/
  10133. /*! no static exports found */
  10134. /*! all exports used */
  10135. /***/ (function(module, exports, __webpack_require__) {
  10136.  
  10137. module.exports = __webpack_require__.p + "51427a3527836e033ca20a8be6387d66.xml";
  10138.  
  10139. /***/ }),
  10140. /* 395 */
  10141. /*!*****************************************************************!*\
  10142.   !*** ../node_modules/file-loader!./examples/chart/bar/bar4.xml ***!
  10143.   \*****************************************************************/
  10144. /*! no static exports found */
  10145. /*! all exports used */
  10146. /***/ (function(module, exports, __webpack_require__) {
  10147.  
  10148. module.exports = __webpack_require__.p + "b18283f4bdf0e71e9ece9556bbe7d8d2.xml";
  10149.  
  10150. /***/ }),
  10151. /* 396 */
  10152. /*!*****************************************************************!*\
  10153.   !*** ../node_modules/file-loader!./examples/chart/bar/bar5.xml ***!
  10154.   \*****************************************************************/
  10155. /*! no static exports found */
  10156. /*! all exports used */
  10157. /***/ (function(module, exports, __webpack_require__) {
  10158.  
  10159. module.exports = __webpack_require__.p + "79dd713126cb529a4444dba7552acec3.xml";
  10160.  
  10161. /***/ }),
  10162. /* 397 */
  10163. /*!*****************************************************************!*\
  10164.   !*** ../node_modules/file-loader!./examples/chart/bar/bar6.xml ***!
  10165.   \*****************************************************************/
  10166. /*! no static exports found */
  10167. /*! all exports used */
  10168. /***/ (function(module, exports, __webpack_require__) {
  10169.  
  10170. module.exports = __webpack_require__.p + "496f9f6d8e49b5f50e0d1edd79be9afc.xml";
  10171.  
  10172. /***/ }),
  10173. /* 398 */
  10174. /*!********************************************************************!*\
  10175.   !*** ../node_modules/file-loader!./examples/chart/line-series.css ***!
  10176.   \********************************************************************/
  10177. /*! no static exports found */
  10178. /*! all exports used */
  10179. /***/ (function(module, exports, __webpack_require__) {
  10180.  
  10181. module.exports = __webpack_require__.p + "a8aedbfd0f0aa1b28306cc4d9801523e.css";
  10182.  
  10183. /***/ }),
  10184. /* 399 */
  10185. /*!********************************************************************!*\
  10186.   !*** ../node_modules/file-loader!./examples/chart/line-series.xml ***!
  10187.   \********************************************************************/
  10188. /*! no static exports found */
  10189. /*! all exports used */
  10190. /***/ (function(module, exports, __webpack_require__) {
  10191.  
  10192. module.exports = __webpack_require__.p + "8915ee010f15681d9139c43c96f129fd.xml";
  10193.  
  10194. /***/ }),
  10195. /* 400 */
  10196. /*!*******************************************************************!*\
  10197.   !*** ../node_modules/file-loader!./examples/chart/line/line1.xml ***!
  10198.   \*******************************************************************/
  10199. /*! no static exports found */
  10200. /*! all exports used */
  10201. /***/ (function(module, exports, __webpack_require__) {
  10202.  
  10203. module.exports = __webpack_require__.p + "59978d9b1f10f98aaf9de95b1b4a1469.xml";
  10204.  
  10205. /***/ }),
  10206. /* 401 */
  10207. /*!*******************************************************************!*\
  10208.   !*** ../node_modules/file-loader!./examples/chart/line/line2.xml ***!
  10209.   \*******************************************************************/
  10210. /*! no static exports found */
  10211. /*! all exports used */
  10212. /***/ (function(module, exports, __webpack_require__) {
  10213.  
  10214. module.exports = __webpack_require__.p + "8094158426997147a2f8868a4c7ac55b.xml";
  10215.  
  10216. /***/ }),
  10217. /* 402 */
  10218. /*!*******************************************************************!*\
  10219.   !*** ../node_modules/file-loader!./examples/chart/line/line3.xml ***!
  10220.   \*******************************************************************/
  10221. /*! no static exports found */
  10222. /*! all exports used */
  10223. /***/ (function(module, exports, __webpack_require__) {
  10224.  
  10225. module.exports = __webpack_require__.p + "c08498eb24787aca7e523c622f74725b.xml";
  10226.  
  10227. /***/ }),
  10228. /* 403 */
  10229. /*!*******************************************************************!*\
  10230.   !*** ../node_modules/file-loader!./examples/chart/line/line4.xml ***!
  10231.   \*******************************************************************/
  10232. /*! no static exports found */
  10233. /*! all exports used */
  10234. /***/ (function(module, exports, __webpack_require__) {
  10235.  
  10236. module.exports = __webpack_require__.p + "5ce769617b6a5aa871a6adecc2c80a3e.xml";
  10237.  
  10238. /***/ }),
  10239. /* 404 */
  10240. /*!*******************************************************************!*\
  10241.   !*** ../node_modules/file-loader!./examples/chart/pie-series.css ***!
  10242.   \*******************************************************************/
  10243. /*! no static exports found */
  10244. /*! all exports used */
  10245. /***/ (function(module, exports, __webpack_require__) {
  10246.  
  10247. module.exports = __webpack_require__.p + "fd089091f85d08dbd3664eb50ea2446e.css";
  10248.  
  10249. /***/ }),
  10250. /* 405 */
  10251. /*!*******************************************************************!*\
  10252.   !*** ../node_modules/file-loader!./examples/chart/pie-series.xml ***!
  10253.   \*******************************************************************/
  10254. /*! no static exports found */
  10255. /*! all exports used */
  10256. /***/ (function(module, exports, __webpack_require__) {
  10257.  
  10258. module.exports = __webpack_require__.p + "78e3f9b4ab92182ce018e5c98af1a232.xml";
  10259.  
  10260. /***/ }),
  10261. /* 406 */
  10262. /*!*****************************************************************!*\
  10263.   !*** ../node_modules/file-loader!./examples/chart/pie/pie1.xml ***!
  10264.   \*****************************************************************/
  10265. /*! no static exports found */
  10266. /*! all exports used */
  10267. /***/ (function(module, exports, __webpack_require__) {
  10268.  
  10269. module.exports = __webpack_require__.p + "9ba5a3cc737a7e6ce799989fb2635a91.xml";
  10270.  
  10271. /***/ }),
  10272. /* 407 */
  10273. /*!*****************************************************************!*\
  10274.   !*** ../node_modules/file-loader!./examples/chart/pie/pie2.xml ***!
  10275.   \*****************************************************************/
  10276. /*! no static exports found */
  10277. /*! all exports used */
  10278. /***/ (function(module, exports, __webpack_require__) {
  10279.  
  10280. module.exports = __webpack_require__.p + "daa9bfdba8b85c741ea3eb42d808f8e9.xml";
  10281.  
  10282. /***/ }),
  10283. /* 408 */
  10284. /*!*****************************************************************!*\
  10285.   !*** ../node_modules/file-loader!./examples/chart/pie/pie3.xml ***!
  10286.   \*****************************************************************/
  10287. /*! no static exports found */
  10288. /*! all exports used */
  10289. /***/ (function(module, exports, __webpack_require__) {
  10290.  
  10291. module.exports = __webpack_require__.p + "c28209e088a6cb60eb345f52cd0f2eda.xml";
  10292.  
  10293. /***/ }),
  10294. /* 409 */
  10295. /*!******************************************************************************************************!*\
  10296.   !*** ../node_modules/file-loader!./examples/conference-agenda/conference-agenda-example.android.css ***!
  10297.   \******************************************************************************************************/
  10298. /*! no static exports found */
  10299. /*! all exports used */
  10300. /***/ (function(module, exports, __webpack_require__) {
  10301.  
  10302. module.exports = __webpack_require__.p + "6a095ccd1e9fc3be4d3c938273f7e312.css";
  10303.  
  10304. /***/ }),
  10305. /* 410 */
  10306. /*!**********************************************************************************************!*\
  10307.   !*** ../node_modules/file-loader!./examples/conference-agenda/conference-agenda-example.xml ***!
  10308.   \**********************************************************************************************/
  10309. /*! no static exports found */
  10310. /*! all exports used */
  10311. /***/ (function(module, exports, __webpack_require__) {
  10312.  
  10313. module.exports = __webpack_require__.p + "6ea2da7fb5025ce4524b768c372df0cb.xml";
  10314.  
  10315. /***/ }),
  10316. /* 411 */
  10317. /*!**********************************************************************************!*\
  10318.   !*** ../node_modules/file-loader!./examples/dataform/reservations-edit-page.xml ***!
  10319.   \**********************************************************************************/
  10320. /*! no static exports found */
  10321. /*! all exports used */
  10322. /***/ (function(module, exports, __webpack_require__) {
  10323.  
  10324. module.exports = __webpack_require__.p + "c36fcf6878ac870e5329995553ca11cf.xml";
  10325.  
  10326. /***/ }),
  10327. /* 412 */
  10328. /*!******************************************************************************************!*\
  10329.   !*** ../node_modules/file-loader!./examples/dataform/reservations-list-page.android.css ***!
  10330.   \******************************************************************************************/
  10331. /*! no static exports found */
  10332. /*! all exports used */
  10333. /***/ (function(module, exports, __webpack_require__) {
  10334.  
  10335. module.exports = __webpack_require__.p + "8bfbf42c9d1c3afce7125369483fbb55.css";
  10336.  
  10337. /***/ }),
  10338. /* 413 */
  10339. /*!**********************************************************************************!*\
  10340.   !*** ../node_modules/file-loader!./examples/dataform/reservations-list-page.xml ***!
  10341.   \**********************************************************************************/
  10342. /*! no static exports found */
  10343. /*! all exports used */
  10344. /***/ (function(module, exports, __webpack_require__) {
  10345.  
  10346. module.exports = __webpack_require__.p + "c523d5cf61c3afac9d9a5eb3745e45eb.xml";
  10347.  
  10348. /***/ }),
  10349. /* 414 */
  10350. /*!***************************************************************!*\
  10351.   !*** ../node_modules/file-loader!./examples/example-menu.xml ***!
  10352.   \***************************************************************/
  10353. /*! no static exports found */
  10354. /*! all exports used */
  10355. /***/ (function(module, exports, __webpack_require__) {
  10356.  
  10357. module.exports = __webpack_require__.p + "0a6207a7edae7a1d23b6e86be55be694.xml";
  10358.  
  10359. /***/ }),
  10360. /* 415 */
  10361. /*!**************************************************************************!*\
  10362.   !*** ../node_modules/file-loader!./examples/layouts/layouts-example.css ***!
  10363.   \**************************************************************************/
  10364. /*! no static exports found */
  10365. /*! all exports used */
  10366. /***/ (function(module, exports, __webpack_require__) {
  10367.  
  10368. module.exports = __webpack_require__.p + "bd27e0c8000dd008fde8556085494d4c.css";
  10369.  
  10370. /***/ }),
  10371. /* 416 */
  10372. /*!**************************************************************************!*\
  10373.   !*** ../node_modules/file-loader!./examples/layouts/layouts-example.xml ***!
  10374.   \**************************************************************************/
  10375. /*! no static exports found */
  10376. /*! all exports used */
  10377. /***/ (function(module, exports, __webpack_require__) {
  10378.  
  10379. module.exports = __webpack_require__.p + "2eabbff8f6c94ffb00e817d9afab1015.xml";
  10380.  
  10381. /***/ }),
  10382. /* 417 */
  10383. /*!********************************************************************************************!*\
  10384.   !*** ../node_modules/file-loader!./examples/listview/layouts/listview-layouts.android.css ***!
  10385.   \********************************************************************************************/
  10386. /*! no static exports found */
  10387. /*! all exports used */
  10388. /***/ (function(module, exports, __webpack_require__) {
  10389.  
  10390. module.exports = __webpack_require__.p + "e38133ae4cca5a67a31f7dd92b9b5cca.css";
  10391.  
  10392. /***/ }),
  10393. /* 418 */
  10394. /*!************************************************************************************!*\
  10395.   !*** ../node_modules/file-loader!./examples/listview/layouts/listview-layouts.xml ***!
  10396.   \************************************************************************************/
  10397. /*! no static exports found */
  10398. /*! all exports used */
  10399. /***/ (function(module, exports, __webpack_require__) {
  10400.  
  10401. module.exports = __webpack_require__.p + "e976369d2cd8e91d6f2cd6d8992aa726.xml";
  10402.  
  10403. /***/ }),
  10404. /* 419 */
  10405. /*!************************************************************************************!*\
  10406.   !*** ../node_modules/file-loader!./examples/listview/reorder/listview-reorder.css ***!
  10407.   \************************************************************************************/
  10408. /*! no static exports found */
  10409. /*! all exports used */
  10410. /***/ (function(module, exports, __webpack_require__) {
  10411.  
  10412. module.exports = __webpack_require__.p + "e8c4384228838c52bb06e30142adc9aa.css";
  10413.  
  10414. /***/ }),
  10415. /* 420 */
  10416. /*!************************************************************************************!*\
  10417.   !*** ../node_modules/file-loader!./examples/listview/reorder/listview-reorder.xml ***!
  10418.   \************************************************************************************/
  10419. /*! no static exports found */
  10420. /*! all exports used */
  10421. /***/ (function(module, exports, __webpack_require__) {
  10422.  
  10423. module.exports = __webpack_require__.p + "9722d2c2ea191e403bdb35b862b7d07d.xml";
  10424.  
  10425. /***/ }),
  10426. /* 421 */
  10427. /*!*****************************************************************************************!*\
  10428.   !*** ../node_modules/file-loader!./examples/listview/selection/detail-page.android.css ***!
  10429.   \*****************************************************************************************/
  10430. /*! no static exports found */
  10431. /*! all exports used */
  10432. /***/ (function(module, exports, __webpack_require__) {
  10433.  
  10434. module.exports = __webpack_require__.p + "f5e9e7d12f8be307b73e79a4b41a6191.css";
  10435.  
  10436. /***/ }),
  10437. /* 422 */
  10438. /*!*********************************************************************************!*\
  10439.   !*** ../node_modules/file-loader!./examples/listview/selection/detail-page.xml ***!
  10440.   \*********************************************************************************/
  10441. /*! no static exports found */
  10442. /*! all exports used */
  10443. /***/ (function(module, exports, __webpack_require__) {
  10444.  
  10445. module.exports = __webpack_require__.p + "5562c3b722f8a84dd32614f1b048edbc.xml";
  10446.  
  10447. /***/ }),
  10448. /* 423 */
  10449. /*!**************************************************************************************!*\
  10450.   !*** ../node_modules/file-loader!./examples/listview/selection/main-page-common.css ***!
  10451.   \**************************************************************************************/
  10452. /*! no static exports found */
  10453. /*! all exports used */
  10454. /***/ (function(module, exports, __webpack_require__) {
  10455.  
  10456. module.exports = __webpack_require__.p + "33339f0827f953a193ebca37076a6b5d.css";
  10457.  
  10458. /***/ }),
  10459. /* 424 */
  10460. /*!***************************************************************************************!*\
  10461.   !*** ../node_modules/file-loader!./examples/listview/selection/main-page.android.css ***!
  10462.   \***************************************************************************************/
  10463. /*! no static exports found */
  10464. /*! all exports used */
  10465. /***/ (function(module, exports, __webpack_require__) {
  10466.  
  10467. module.exports = __webpack_require__.p + "9d51fca7d955b69343d6a627009500f0.css";
  10468.  
  10469. /***/ }),
  10470. /* 425 */
  10471. /*!*******************************************************************************!*\
  10472.   !*** ../node_modules/file-loader!./examples/listview/selection/main-page.xml ***!
  10473.   \*******************************************************************************/
  10474. /*! no static exports found */
  10475. /*! all exports used */
  10476. /***/ (function(module, exports, __webpack_require__) {
  10477.  
  10478. module.exports = __webpack_require__.p + "f45569f08c72a4e44ed39a96981b2924.xml";
  10479.  
  10480. /***/ }),
  10481. /* 426 */
  10482. /*!********************************************************************************************!*\
  10483.   !*** ../node_modules/file-loader!./examples/user-profile/user-profile-example.android.css ***!
  10484.   \********************************************************************************************/
  10485. /*! no static exports found */
  10486. /*! all exports used */
  10487. /***/ (function(module, exports, __webpack_require__) {
  10488.  
  10489. module.exports = __webpack_require__.p + "ff7fd762f995b080c6840bcf3d7fb386.css";
  10490.  
  10491. /***/ }),
  10492. /* 427 */
  10493. /*!************************************************************************************!*\
  10494.   !*** ../node_modules/file-loader!./examples/user-profile/user-profile-example.xml ***!
  10495.   \************************************************************************************/
  10496. /*! no static exports found */
  10497. /*! all exports used */
  10498. /***/ (function(module, exports, __webpack_require__) {
  10499.  
  10500. module.exports = __webpack_require__.p + "3362e2c3ae4d6305044c123092b9bd2e.xml";
  10501.  
  10502. /***/ }),
  10503. /* 428 */
  10504. /*!***************************************************************!*\
  10505.   !*** ../node_modules/file-loader!./styles/code-highlight.css ***!
  10506.   \***************************************************************/
  10507. /*! no static exports found */
  10508. /*! all exports used */
  10509. /***/ (function(module, exports, __webpack_require__) {
  10510.  
  10511. module.exports = __webpack_require__.p + "9dbbc42f54b9bf14d1ae499757b964a5.css";
  10512.  
  10513. /***/ }),
  10514. /* 429 */
  10515. /*!******************************************************************!*\
  10516.   !*** ../node_modules/file-loader!./views/about/about-common.css ***!
  10517.   \******************************************************************/
  10518. /*! no static exports found */
  10519. /*! all exports used */
  10520. /***/ (function(module, exports, __webpack_require__) {
  10521.  
  10522. module.exports = __webpack_require__.p + "7195d87c9ad4278853610911a50cea70.css";
  10523.  
  10524. /***/ }),
  10525. /* 430 */
  10526. /*!*******************************************************************!*\
  10527.   !*** ../node_modules/file-loader!./views/about/about.android.css ***!
  10528.   \*******************************************************************/
  10529. /*! no static exports found */
  10530. /*! all exports used */
  10531. /***/ (function(module, exports, __webpack_require__) {
  10532.  
  10533. module.exports = __webpack_require__.p + "ea786463c9a2bf1241006ff023eb0cd2.css";
  10534.  
  10535. /***/ }),
  10536. /* 431 */
  10537. /*!***********************************************************!*\
  10538.   !*** ../node_modules/file-loader!./views/about/about.xml ***!
  10539.   \***********************************************************/
  10540. /*! no static exports found */
  10541. /*! all exports used */
  10542. /***/ (function(module, exports, __webpack_require__) {
  10543.  
  10544. module.exports = __webpack_require__.p + "6a811179741acf3d4125494e73b3a500.xml";
  10545.  
  10546. /***/ }),
  10547. /* 432 */
  10548. /*!*********************************************************!*\
  10549.   !*** ../node_modules/file-loader!./views/code-page.css ***!
  10550.   \*********************************************************/
  10551. /*! no static exports found */
  10552. /*! all exports used */
  10553. /***/ (function(module, exports, __webpack_require__) {
  10554.  
  10555. module.exports = __webpack_require__.p + "79e886eaab38a548e5bbadd65c35217e.css";
  10556.  
  10557. /***/ }),
  10558. /* 433 */
  10559. /*!*********************************************************!*\
  10560.   !*** ../node_modules/file-loader!./views/code-page.xml ***!
  10561.   \*********************************************************/
  10562. /*! no static exports found */
  10563. /*! all exports used */
  10564. /***/ (function(module, exports, __webpack_require__) {
  10565.  
  10566. module.exports = __webpack_require__.p + "c7f18d2d8a2b3ef65585bb5f55532668.xml";
  10567.  
  10568. /***/ }),
  10569. /* 434 */
  10570. /*!************************************************************************!*\
  10571.   !*** ../node_modules/file-loader!./views/example-info-page-common.css ***!
  10572.   \************************************************************************/
  10573. /*! no static exports found */
  10574. /*! all exports used */
  10575. /***/ (function(module, exports, __webpack_require__) {
  10576.  
  10577. module.exports = __webpack_require__.p + "72337eee8d266f1681750ed23215af0d.css";
  10578.  
  10579. /***/ }),
  10580. /* 435 */
  10581. /*!*************************************************************************!*\
  10582.   !*** ../node_modules/file-loader!./views/example-info-page.android.css ***!
  10583.   \*************************************************************************/
  10584. /*! no static exports found */
  10585. /*! all exports used */
  10586. /***/ (function(module, exports, __webpack_require__) {
  10587.  
  10588. module.exports = __webpack_require__.p + "0bd2c49c27063355c425d3106b1dca62.css";
  10589.  
  10590. /***/ }),
  10591. /* 436 */
  10592. /*!*****************************************************************!*\
  10593.   !*** ../node_modules/file-loader!./views/example-info-page.xml ***!
  10594.   \*****************************************************************/
  10595. /*! no static exports found */
  10596. /*! all exports used */
  10597. /***/ (function(module, exports, __webpack_require__) {
  10598.  
  10599. module.exports = __webpack_require__.p + "2909c07e532db56077d6a2ae828d9081.xml";
  10600.  
  10601. /***/ }),
  10602. /* 437 */
  10603. /*!***************************************************************!*\
  10604.   !*** ../node_modules/file-loader!./views/group-info-page.xml ***!
  10605.   \***************************************************************/
  10606. /*! no static exports found */
  10607. /*! all exports used */
  10608. /***/ (function(module, exports, __webpack_require__) {
  10609.  
  10610. module.exports = __webpack_require__.p + "9578790fdcff441da49f4e07fcbceeee.xml";
  10611.  
  10612. /***/ }),
  10613. /* 438 */
  10614. /*!*****************************************************************************!*\
  10615.   !*** ../node_modules/file-loader!./views/group-page/group-page-content.xml ***!
  10616.   \*****************************************************************************/
  10617. /*! no static exports found */
  10618. /*! all exports used */
  10619. /***/ (function(module, exports, __webpack_require__) {
  10620.  
  10621. module.exports = __webpack_require__.p + "199d1bd4f1b37c5c8d2cf191250065aa.xml";
  10622.  
  10623. /***/ }),
  10624. /* 439 */
  10625. /*!*********************************************************************!*\
  10626.   !*** ../node_modules/file-loader!./views/group-page/group-page.xml ***!
  10627.   \*********************************************************************/
  10628. /*! no static exports found */
  10629. /*! all exports used */
  10630. /***/ (function(module, exports, __webpack_require__) {
  10631.  
  10632. module.exports = __webpack_require__.p + "3cff0a73f587c9ab7cfd3e72f331f1c7.xml";
  10633.  
  10634. /***/ }),
  10635. /* 440 */
  10636. /*!**********************************************************************!*\
  10637.   !*** ../node_modules/file-loader!./views/main-page/all-controls.xml ***!
  10638.   \**********************************************************************/
  10639. /*! no static exports found */
  10640. /*! all exports used */
  10641. /***/ (function(module, exports, __webpack_require__) {
  10642.  
  10643. module.exports = __webpack_require__.p + "4a97b2f4794a91be588661bff606ea0c.xml";
  10644.  
  10645. /***/ }),
  10646. /* 441 */
  10647. /*!**********************************************************************************!*\
  10648.   !*** ../node_modules/file-loader!./views/main-page/featured-examples-common.css ***!
  10649.   \**********************************************************************************/
  10650. /*! no static exports found */
  10651. /*! all exports used */
  10652. /***/ (function(module, exports, __webpack_require__) {
  10653.  
  10654. module.exports = __webpack_require__.p + "baff741670417ee69bac63b989dca6a4.css";
  10655.  
  10656. /***/ }),
  10657. /* 442 */
  10658. /*!***********************************************************************************!*\
  10659.   !*** ../node_modules/file-loader!./views/main-page/featured-examples.android.css ***!
  10660.   \***********************************************************************************/
  10661. /*! no static exports found */
  10662. /*! all exports used */
  10663. /***/ (function(module, exports, __webpack_require__) {
  10664.  
  10665. module.exports = __webpack_require__.p + "ee1269b547442a377068ebfc0c1de69c.css";
  10666.  
  10667. /***/ }),
  10668. /* 443 */
  10669. /*!***************************************************************************!*\
  10670.   !*** ../node_modules/file-loader!./views/main-page/featured-examples.xml ***!
  10671.   \***************************************************************************/
  10672. /*! no static exports found */
  10673. /*! all exports used */
  10674. /***/ (function(module, exports, __webpack_require__) {
  10675.  
  10676. module.exports = __webpack_require__.p + "d692224b3528583f5b5d824ffc38d217.xml";
  10677.  
  10678. /***/ }),
  10679. /* 444 */
  10680. /*!*******************************************************************!*\
  10681.   !*** ../node_modules/file-loader!./views/main-page/main-page.css ***!
  10682.   \*******************************************************************/
  10683. /*! no static exports found */
  10684. /*! all exports used */
  10685. /***/ (function(module, exports, __webpack_require__) {
  10686.  
  10687. module.exports = __webpack_require__.p + "9f39128c0710b1bb2f589eda7521f4a5.css";
  10688.  
  10689. /***/ }),
  10690. /* 445 */
  10691. /*!*******************************************************************!*\
  10692.   !*** ../node_modules/file-loader!./views/main-page/main-page.xml ***!
  10693.   \*******************************************************************/
  10694. /*! no static exports found */
  10695. /*! all exports used */
  10696. /***/ (function(module, exports, __webpack_require__) {
  10697.  
  10698. module.exports = __webpack_require__.p + "a93ab9cc91fac8950ce1a00acd8dee00.xml";
  10699.  
  10700. /***/ }),
  10701. /* 446 */
  10702. /*!**********************************************************************************************!*\
  10703.   !*** ../node_modules/file-loader!./views/side-drawer-content/side-drawer-content-common.css ***!
  10704.   \**********************************************************************************************/
  10705. /*! no static exports found */
  10706. /*! all exports used */
  10707. /***/ (function(module, exports, __webpack_require__) {
  10708.  
  10709. module.exports = __webpack_require__.p + "ee221eaee9bb786e3f89e1b13893bf53.css";
  10710.  
  10711. /***/ }),
  10712. /* 447 */
  10713. /*!***********************************************************************************************!*\
  10714.   !*** ../node_modules/file-loader!./views/side-drawer-content/side-drawer-content.android.css ***!
  10715.   \***********************************************************************************************/
  10716. /*! no static exports found */
  10717. /*! all exports used */
  10718. /***/ (function(module, exports, __webpack_require__) {
  10719.  
  10720. module.exports = __webpack_require__.p + "eb8aa7a1620f32befa23fbc23eca60cd.css";
  10721.  
  10722. /***/ }),
  10723. /* 448 */
  10724. /*!***************************************************************************************!*\
  10725.   !*** ../node_modules/file-loader!./views/side-drawer-content/side-drawer-content.xml ***!
  10726.   \***************************************************************************************/
  10727. /*! no static exports found */
  10728. /*! all exports used */
  10729. /***/ (function(module, exports, __webpack_require__) {
  10730.  
  10731. module.exports = __webpack_require__.p + "c533a74aed194ca3711be71882c5b32b.xml";
  10732.  
  10733. /***/ }),
  10734. /* 449 */
  10735. /*!******************************************************************!*\
  10736.   !*** ../node_modules/file-loader!./views/what-is-new-common.css ***!
  10737.   \******************************************************************/
  10738. /*! no static exports found */
  10739. /*! all exports used */
  10740. /***/ (function(module, exports, __webpack_require__) {
  10741.  
  10742. module.exports = __webpack_require__.p + "29ed5f7c21a8252448aff5e5cb496c07.css";
  10743.  
  10744. /***/ }),
  10745. /* 450 */
  10746. /*!*******************************************************************!*\
  10747.   !*** ../node_modules/file-loader!./views/what-is-new.android.css ***!
  10748.   \*******************************************************************/
  10749. /*! no static exports found */
  10750. /*! all exports used */
  10751. /***/ (function(module, exports, __webpack_require__) {
  10752.  
  10753. module.exports = __webpack_require__.p + "4d21d8b3fb1370f2b0574854005ba92f.css";
  10754.  
  10755. /***/ }),
  10756. /* 451 */
  10757. /*!***********************************************************!*\
  10758.   !*** ../node_modules/file-loader!./views/what-is-new.xml ***!
  10759.   \***********************************************************/
  10760. /*! no static exports found */
  10761. /*! all exports used */
  10762. /***/ (function(module, exports, __webpack_require__) {
  10763.  
  10764. module.exports = __webpack_require__.p + "eff0bf381a0a389f87c1a908885168fa.xml";
  10765.  
  10766. /***/ })
  10767. ],[146]);
Add Comment
Please, Sign In to add comment