text: webpackJsonp([0],{
  
  /***/ 105:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AboutPage; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(10);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__about_popover_about_popover__ = __webpack_require__(207);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  
  var AboutPage = (function () {
      function AboutPage(popoverCtrl) {
          this.popoverCtrl = popoverCtrl;
          this.conferenceDate = '2047-05-17';
      }
      AboutPage.prototype.presentPopover = function (event) {
          var popover = this.popoverCtrl.create(__WEBPACK_IMPORTED_MODULE_2__about_popover_about_popover__["a" /* PopoverPage */]);
          popover.present({ ev: event });
      };
      AboutPage = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
              selector: 'page-about',template:/*ion-inline-start:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\about\about.html"*/'<ion-header>\n  <ion-navbar>\n    <button ion-button menuToggle>\n      <ion-icon name="menu"></ion-icon>\n    </button>\n    <ion-title>About</ion-title>\n    <ion-buttons end>\n      <button ion-button icon-only (click)="presentPopover($event)">\n        <ion-icon name="more"></ion-icon>\n      </button>\n    </ion-buttons>\n  </ion-navbar>\n</ion-header>\n\n<ion-content>\n  <div class="about-header">\n    <img src="assets/img/ionic-logo-white.svg" alt="ionic logo">\n  </div>\n  <div padding class="about-info">\n    <h4>Ionic Conference</h4>\n\n    <ion-list no-lines>\n      <ion-item>\n        <ion-icon name="calendar" item-start></ion-icon>\n        <ion-label>Date</ion-label>\n        <ion-datetime displayFormat="MMM DD, YYYY" max="2056" [(ngModel)]="conferenceDate"></ion-datetime>\n      </ion-item>\n\n      <ion-item>\n        <ion-icon name="pin" item-start></ion-icon>\n        <ion-label>Location</ion-label>\n        <ion-select>\n          <ion-option value="madison" selected>Madison, WI</ion-option>\n          <ion-option value="austin">Austin, TX</ion-option>\n          <ion-option value="chicago">Chicago, IL</ion-option>\n          <ion-option value="seattle">Seattle, WA</ion-option>\n        </ion-select>\n      </ion-item>\n    </ion-list>\n\n    <p>\n      The Ionic Conference is a one-day conference featuring talks from the\n      Ionic team. It is focused on Ionic applications being built with\n      Ionic 2. This includes migrating apps from Ionic 1 to Ionic 2,\n      Angular concepts, Webpack, Sass, and many other technologies used\n      in Ionic 2. Tickets are completely sold out, and we’re expecting\n      more than 1000 developers – making this the largest Ionic\n      conference ever!\n    </p>\n  </div>\n</ion-content>\n'/*ion-inline-end:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\about\about.html"*/
          }),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["q" /* PopoverController */]])
      ], AboutPage);
      return AboutPage;
  }());
  
  //# sourceMappingURL=about.js.map
  
  /***/ }),
  
  /***/ 106:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ToolsPage; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__providers_conference_data__ = __webpack_require__(19);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ionic_native_in_app_browser__ = __webpack_require__(103);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  
  //declare var google: any;
  var ToolsPage = (function () {
      function ToolsPage(confData, iab) {
          this.confData = confData;
          this.iab = iab;
          this.tools = [];
      }
      ToolsPage.prototype.ionViewDidLoad = function () {
          var _this = this;
          this.confData.getTools().subscribe(function (toolsData) {
              _this.tools = toolsData;
          });
      };
      ToolsPage.prototype.onRunTool = function (url) {
          var browser = this.iab.create(url);
          browser.show();
      };
      ToolsPage = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
              selector: 'page-tools',template:/*ion-inline-start:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\tools\tools.html"*/'<ion-header>\n  <ion-navbar>\n    <button ion-button menuToggle>\n      <ion-icon name="menu"></ion-icon>\n    </button>\n    <ion-title>Tools</ion-title>\n  </ion-navbar>\n</ion-header>\n\n<ion-content>\n    <ion-list #taskList >\n      <ion-item *ngFor="let tool of tools">\n        <ion-icon name="hammer"></ion-icon>\n        {{ tool.name }}\n        <button ion-button color="secondary" outline (click)="onRunTool(tool.url)">Run</button>\n      </ion-item>  \n    </ion-list>\n</ion-content>\n'/*ion-inline-end:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\tools\tools.html"*/
          }),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1__providers_conference_data__["a" /* ConferenceData */], __WEBPACK_IMPORTED_MODULE_2__ionic_native_in_app_browser__["a" /* InAppBrowser */]])
      ], ToolsPage);
      return ToolsPage;
  }());
  
  //# sourceMappingURL=tools.js.map
  
  /***/ }),
  
  /***/ 107:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return TaskListPage; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(10);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_conference_data__ = __webpack_require__(19);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_user_data__ = __webpack_require__(31);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__task_detail_task_detail__ = __webpack_require__(108);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__task_filter_task_filter__ = __webpack_require__(211);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  /*
    To learn how to use third party libs in an
    Ionic app check out our docs here: http://ionicframework.com/docs/v2/resources/third-party-libs/
  */
  // import moment from 'moment';
  
  
  
  
  var TaskListPage = (function () {
      function TaskListPage(alertCtrl, app, loadingCtrl, modalCtrl, navCtrl, toastCtrl, confData, user) {
          this.alertCtrl = alertCtrl;
          this.app = app;
          this.loadingCtrl = loadingCtrl;
          this.modalCtrl = modalCtrl;
          this.navCtrl = navCtrl;
          this.toastCtrl = toastCtrl;
          this.confData = confData;
          this.user = user;
          this.dayIndex = 0;
          this.queryText = '';
          this.segment = 'all';
          this.excludeTracks = [];
          this.shownTasks = [];
          this.groups = [];
      }
      TaskListPage.prototype.ionViewDidLoad = function () {
          this.app.setTitle('Task List');
          this.updateTaskList();
      };
      TaskListPage.prototype.updateTaskList = function () {
          var _this = this;
          // Close any open sliding items when the task list updates
          this.taskList && this.taskList.closeSlidingItems();
          this.confData.getTimeline(this.dayIndex, this.queryText, this.excludeTracks, this.segment).subscribe(function (data) {
              _this.shownTasks = data.shownTasks;
              _this.groups = data.groups;
          });
      };
      TaskListPage.prototype.presentFilter = function () {
          var _this = this;
          var modal = this.modalCtrl.create(__WEBPACK_IMPORTED_MODULE_5__task_filter_task_filter__["a" /* TaskFilterPage */], this.excludeTracks);
          modal.present();
          modal.onWillDismiss(function (data) {
              if (data) {
                  _this.excludeTracks = data;
                  _this.updateTaskList();
              }
          });
      };
      TaskListPage.prototype.goToTaskDetail = function (taskData) {
          // go to the task detail page
          // and pass in the task data
          this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_4__task_detail_task_detail__["a" /* TaskDetailPage */], { taskId: taskData.id, name: taskData.name });
      };
      TaskListPage.prototype.addQuickView = function (slidingItem, taskData) {
          if (this.user.hasQuickView(taskData.name)) {
              // woops, they already favorited it! What shall we do!?
              // prompt them to remove it
              this.removeQuickView(slidingItem, taskData, 'Task already added');
          }
          else {
              // remember this task as a user favorite
              this.user.addQuickView(taskData.name);
              // create an alert instance
              var alert_1 = this.alertCtrl.create({
                  title: 'Task Added',
                  buttons: [{
                          text: 'OK',
                          handler: function () {
                              // close the sliding item
                              slidingItem.close();
                          }
                      }]
              });
              // now present the alert on top of all other content
              alert_1.present();
          }
      };
      TaskListPage.prototype.removeQuickView = function (slidingItem, taskData, title) {
          var _this = this;
          var alert = this.alertCtrl.create({
              title: title,
              message: 'Would you like to remove this task from your Quick View?',
              buttons: [
                  {
                      text: 'Cancel',
                      handler: function () {
                          // they clicked the cancel button, do not remove the task
                          // close the sliding item and hide the option buttons
                          slidingItem.close();
                      }
                  },
                  {
                      text: 'Remove',
                      handler: function () {
                          // they want to remove this task from their favorites
                          _this.user.removeQuickView(taskData.name);
                          _this.updateTaskList();
                          // close the sliding item and hide the option buttons
                          slidingItem.close();
                      }
                  }
              ]
          });
          // now present the alert on top of all other content
          alert.present();
      };
      TaskListPage.prototype.openSocial = function (network, fab) {
          var loading = this.loadingCtrl.create({
              content: "Posting to " + network,
              duration: (Math.random() * 1000) + 500
          });
          loading.onWillDismiss(function () {
              fab.close();
          });
          loading.present();
      };
      TaskListPage.prototype.doRefresh = function (refresher) {
          var _this = this;
          this.confData.getTimeline(this.dayIndex, this.queryText, this.excludeTracks, this.segment).subscribe(function (data) {
              _this.shownTasks = data.shownTasks;
              _this.groups = data.groups;
              // simulate a network request that would take longer
              // than just pulling from out local json file
              setTimeout(function () {
                  refresher.complete();
                  var toast = _this.toastCtrl.create({
                      message: 'Tasks have been updated.',
                      duration: 3000
                  });
                  toast.present();
              }, 1000);
          });
      };
      __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["_8" /* ViewChild */])('taskList', { read: __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["i" /* List */] }),
          __metadata("design:type", __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["i" /* List */])
      ], TaskListPage.prototype, "taskList", void 0);
      TaskListPage = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
              selector: 'page-task-list',template:/*ion-inline-start:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\task-list\task-list.html"*/'<ion-header>\n  <ion-navbar no-border-bottom>\n    <button ion-button menuToggle>\n      <ion-icon name="menu"></ion-icon>\n    </button>\n\n    <ion-segment [(ngModel)]="segment" (ionChange)="updateTaskList()">\n      <ion-segment-button value="all">\n        All\n      </ion-segment-button>\n      <ion-segment-button value="quickView">\n        Quick View\n      </ion-segment-button>\n    </ion-segment>\n\n    <ion-buttons end>\n      <button ion-button icon-only (click)="presentFilter()">\n        <ion-icon ios="ios-options-outline" md="md-options"></ion-icon>\n      </button>\n    </ion-buttons>\n  </ion-navbar>\n\n  <ion-toolbar no-border-top>\n    <ion-searchbar color="primary"\n                   [(ngModel)]="queryText"\n                   (ionInput)="updateTaskList()"\n                   placeholder="Search">\n    </ion-searchbar>\n  </ion-toolbar>\n</ion-header>\n\n<ion-content>\n  <ion-refresher (ionRefresh)="doRefresh($event)">\n    <ion-refresher-content></ion-refresher-content>\n  </ion-refresher>\n\n  <ion-list #taskList [hidden]="shownTasks === 0">\n\n    <ion-item-group *ngFor="let group of groups" [hidden]="group.hide">\n\n      <ion-item-divider sticky>\n        <ion-label>\n          {{group.title}}\n        </ion-label>\n      </ion-item-divider>\n\n      <ion-item-sliding *ngFor="let task of group.tasks" #slidingItem [attr.track]="task.tracks[0] | lowercase" [hidden]="task.hide">\n\n        <button ion-item (click)="goToTaskDetail(task)">\n          <h3>{{task.name}}</h3>\n          <p>\n            {{task.timeStart}} &mdash;\n            {{task.timeEnd}}:\n            {{task.location}}\n          </p>\n        </button>\n\n        <ion-item-options>\n          <button ion-button color="favorite" (click)="addQuickView(slidingItem, task)" *ngIf="segment === \'all\'">\n            Favorite\n          </button>\n          <button ion-button color="danger" (click)="removeQuickView(slidingItem, task, \'Remove QuickView\')" *ngIf="segment === \'quickView\'">\n            Remove\n          </button>\n        </ion-item-options>\n\n      </ion-item-sliding>\n\n    </ion-item-group>\n\n  </ion-list>\n\n  <ion-list-header [hidden]="shownTasks > 0">\n      No Tasks Found\n  </ion-list-header>\n\n  <ion-fab bottom right #fab>\n    <button ion-fab><ion-icon name="share"></ion-icon></button>\n    <ion-fab-list side="top">\n      <button ion-fab color="vimeo" (click)="openSocial(\'Vimeo\', fab)"><ion-icon name="logo-vimeo"></ion-icon></button>\n      <button ion-fab color="google" (click)="openSocial(\'Google+\', fab)"><ion-icon name="logo-googleplus"></ion-icon></button>\n      <button ion-fab color="twitter" (click)="openSocial(\'Twitter\', fab)"><ion-icon name="logo-twitter"></ion-icon></button>\n      <button ion-fab color="facebook" (click)="openSocial(\'Facebook\', fab)"><ion-icon name="logo-facebook"></ion-icon></button>\n    </ion-fab-list>\n  </ion-fab>\n\n\n</ion-content>'/*ion-inline-end:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\task-list\task-list.html"*/
          }),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["b" /* AlertController */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["c" /* App */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["j" /* LoadingController */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["l" /* ModalController */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["n" /* NavController */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* ToastController */],
              __WEBPACK_IMPORTED_MODULE_2__providers_conference_data__["a" /* ConferenceData */],
              __WEBPACK_IMPORTED_MODULE_3__providers_user_data__["a" /* UserData */]])
      ], TaskListPage);
      return TaskListPage;
  }());
  
  //# sourceMappingURL=task-list.js.map
  
  /***/ }),
  
  /***/ 108:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return TaskDetailPage; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(10);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_conference_data__ = __webpack_require__(19);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__task_edit_task_edit__ = __webpack_require__(210);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  
  
  var TaskDetailPage = (function () {
      function TaskDetailPage(dataProvider, navParams, navCtrl) {
          this.dataProvider = dataProvider;
          this.navParams = navParams;
          this.navCtrl = navCtrl;
      }
      TaskDetailPage.prototype.ionViewWillEnter = function () {
          var _this = this;
          this.dataProvider.load().subscribe(function (data) {
              if (data &&
                  data.taskList &&
                  data.taskList[0] &&
                  data.taskList[0].groups) {
                  for (var _i = 0, _a = data.taskList[0].groups; _i < _a.length; _i++) {
                      var group = _a[_i];
                      if (group && group.tasks) {
                          for (var _b = 0, _c = group.tasks; _b < _c.length; _b++) {
                              var task = _c[_b];
                              if (task && task.id === _this.navParams.data.taskId) {
                                  _this.task = task;
                                  _this.groupTitle = group.title;
                                  break;
                              }
                          }
                      }
                  }
              }
          });
      };
      TaskDetailPage.prototype.onEditTask = function () {
          this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_3__task_edit_task_edit__["a" /* TaskEditPage */], { mode: 'Edit', task: this.task, groupTitle: this.groupTitle });
      };
      TaskDetailPage = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
              selector: 'page-task-detail',template:/*ion-inline-start:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\task-detail\task-detail.html"*/'<ion-header>\n  <ion-navbar>\n    <ion-title *ngIf="task">{{task.name}}</ion-title>\n  </ion-navbar>\n</ion-header>\n\n<ion-content padding>\n  <div *ngIf="task">\n    <h1>{{task.name}}</h1>\n    <h4 *ngFor="let contact of task?.contacts">\n    {{contact.name}}\n  </h4>\n    <p>\n      {{task.timeStart}} - {{task.timeEnd}}\n    </p>\n    <p>{{task.location}}</p>\n    <p>{{task.description}}</p>\n  </div>\n  <ion-row>\n      <ion-col>\n        <button\n          ion-button\n          outline\n          block\n          (click)="onEditTask()">Edit Task</button>\n      </ion-col>\n    </ion-row>\n</ion-content>\n'/*ion-inline-end:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\task-detail\task-detail.html"*/
          }),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_2__providers_conference_data__["a" /* ConferenceData */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["o" /* NavParams */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["n" /* NavController */]])
      ], TaskDetailPage);
      return TaskDetailPage;
  }());
  
  //# sourceMappingURL=task-detail.js.map
  
  /***/ }),
  
  /***/ 109:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ContactListPage; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(10);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ionic_native_in_app_browser__ = __webpack_require__(103);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_conference_data__ = __webpack_require__(19);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__task_detail_task_detail__ = __webpack_require__(108);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__contact_detail_contact_detail__ = __webpack_require__(212);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  
  
  
  
  ;
  var ContactListPage = (function () {
      function ContactListPage(actionSheetCtrl, navCtrl, confData, config, inAppBrowser) {
          this.actionSheetCtrl = actionSheetCtrl;
          this.navCtrl = navCtrl;
          this.confData = confData;
          this.config = config;
          this.inAppBrowser = inAppBrowser;
          this.contacts = [];
      }
      ContactListPage.prototype.ionViewDidLoad = function () {
          var _this = this;
          this.confData.getContacts().subscribe(function (contacts) {
              _this.contacts = contacts;
          });
      };
      ContactListPage.prototype.goToTaskDetail = function (task) {
          this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_4__task_detail_task_detail__["a" /* TaskDetailPage */], { taskId: task.id });
      };
      ContactListPage.prototype.goToContactDetail = function (contact) {
          this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_5__contact_detail_contact_detail__["a" /* ContactDetailPage */], { contactId: contact.id });
      };
      ContactListPage.prototype.goToContactTwitter = function (contact) {
          this.inAppBrowser.create("https://twitter.com/" + contact.twitter, '_blank');
      };
      ContactListPage.prototype.openContactShare = function (contact) {
          var actionSheet = this.actionSheetCtrl.create({
              title: 'Share ' + contact.name,
              buttons: [
                  {
                      text: 'Copy Link',
                      handler: function () {
                          console.log('Copy link clicked on https://twitter.com/' + contact.twitter);
                          if (window['cordova'] && window['cordova'].plugins.clipboard) {
                              window['cordova'].plugins.clipboard.copy('https://twitter.com/' + contact.twitter);
                          }
                      }
                  },
                  {
                      text: 'Share via ...'
                  },
                  {
                      text: 'Cancel',
                      role: 'cancel'
                  }
              ]
          });
          actionSheet.present();
      };
      ContactListPage.prototype.openContactInfo = function (contact) {
          var mode = this.config.get('mode');
          var actionSheet = this.actionSheetCtrl.create({
              title: 'Contact ' + contact.name,
              buttons: [
                  {
                      text: "Email ( " + contact.email + " )",
                      icon: mode !== 'ios' ? 'mail' : null,
                      handler: function () {
                          window.open('mailto:' + contact.email);
                      }
                  },
                  {
                      text: "Call ( " + contact.phone + " )",
                      icon: mode !== 'ios' ? 'call' : null,
                      handler: function () {
                          window.open('tel:' + contact.phone);
                      }
                  }
              ]
          });
          actionSheet.present();
      };
      ContactListPage = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
              selector: 'page-contact-list',template:/*ion-inline-start:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\contact-list\contact-list.html"*/'<ion-header>\n  <ion-navbar>\n    <button ion-button menuToggle>\n      <ion-icon name="menu"></ion-icon>\n    </button>\n    <ion-title>Contacts</ion-title>\n  </ion-navbar>\n</ion-header>\n\n<ion-content class="outer-content contact-list">\n  <ion-list [virtualScroll]="contacts">\n    <ion-grid fixed>\n      <ion-row align-items-stretch>\n\n        <ion-col col-12 col-md-6 align-self-stretch align-self-center *virtualItem="let contact" approxItemHeight="457px">\n\n          <ion-card class="contact-card">\n            <ion-card-header>\n              <button ion-item detail-none (click)="goToContactDetail(contact)">\n                <ion-avatar item-start>\n                  <img [src]="contact.profilePic" alt="Contact profile pic">\n                </ion-avatar>\n                {{contact.name}}\n              </button>\n            </ion-card-header>\n\n            <ion-card-content class="outer-content">\n              <ion-list>\n                <button ion-item *ngFor="let task of contact.tasks" (click)="goToTaskDetail(task)">\n                  <h3>{{task.name}}</h3>\n                </button>\n\n                <button ion-item (click)="goToContactDetail(contact)">\n                  <h3>About {{contact.name}}</h3>\n                </button>\n              </ion-list>\n            </ion-card-content>\n\n            <ion-row no-padding>\n              <ion-col col-12 col-lg-auto text-center text-lg-left>\n                <button ion-button clear small color="primary" icon-start (click)="goToContactTwitter(contact)">\n                  <ion-icon name="logo-twitter"></ion-icon>\n                  Tweet\n                </button>\n              </ion-col>\n              <ion-col col-12 col-lg-auto text-center>\n                <button ion-button clear small color="primary" icon-start (click)="openContactShare(contact)">\n                  <ion-icon name=\'share-alt\'></ion-icon>\n                  Share\n                </button>\n              </ion-col>\n              <ion-col col-12 col-lg-auto text-center text-lg-right>\n                <button ion-button clear small color="primary" icon-start (click)="openContactInfo(contact)">\n                  <ion-icon name=\'chatboxes\'></ion-icon>\n                  Contact\n                </button>\n              </ion-col>\n            </ion-row>\n\n          </ion-card>\n\n        </ion-col>\n      </ion-row>\n    </ion-grid>\n  </ion-list>\n</ion-content>\n'/*ion-inline-end:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\contact-list\contact-list.html"*/
          }),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["a" /* ActionSheetController */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["n" /* NavController */],
              __WEBPACK_IMPORTED_MODULE_3__providers_conference_data__["a" /* ConferenceData */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["d" /* Config */],
              __WEBPACK_IMPORTED_MODULE_2__ionic_native_in_app_browser__["a" /* InAppBrowser */]])
      ], ContactListPage);
      return ContactListPage;
  }());
  
  //# sourceMappingURL=contact-list.js.map
  
  /***/ }),
  
  /***/ 110:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return SignupPage; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(10);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_user_data__ = __webpack_require__(31);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__tabs_page_tabs_page__ = __webpack_require__(42);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  
  
  var SignupPage = (function () {
      function SignupPage(navCtrl, userData) {
          this.navCtrl = navCtrl;
          this.userData = userData;
          this.signup = { username: '', password: '' };
          this.submitted = false;
      }
      SignupPage.prototype.onSignup = function (form) {
          this.submitted = true;
          if (form.valid) {
              this.userData.signup(this.signup.username);
              this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_3__tabs_page_tabs_page__["a" /* TabsPage */]);
          }
      };
      SignupPage = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
              selector: 'page-user',template:/*ion-inline-start:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\signup\signup.html"*/'<ion-header>\n	<ion-navbar>\n		<button ion-button menuToggle>\n      <ion-icon name="menu"></ion-icon>\n    </button>\n		<ion-title>Signup</ion-title>\n	</ion-navbar>\n</ion-header>\n\n<ion-content class="login-page">\n\n	<div class="logo">\n		<img src="assets/img/appicon.svg" alt="Ionic Logo">\n	</div>\n\n	<form #signupForm="ngForm" novalidate>\n		<ion-list no-lines>\n			<ion-item>\n				<ion-label stacked color="primary">Username</ion-label>\n				<ion-input [(ngModel)]="signup.username" name="username" type="text" #username="ngModel" required>\n				</ion-input>\n			</ion-item>\n			<p ion-text [hidden]="username.valid || submitted == false" color="danger" padding-left>\n				Username is required\n			</p>\n\n			<ion-item>\n				<ion-label stacked color="primary">Password</ion-label>\n				<ion-input [(ngModel)]="signup.password" name="password" type="password" #password="ngModel" required>\n				</ion-input>\n			</ion-item>\n			<p ion-text [hidden]="password.valid || submitted == false" color="danger" padding-left>\n				Password is required\n			</p>\n		</ion-list>\n\n		<div padding>\n			<button ion-button (click)="onSignup(signupForm)" type="submit" block>Create</button>\n		</div>\n	</form>\n\n</ion-content>\n'/*ion-inline-end:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\signup\signup.html"*/
          }),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["n" /* NavController */], __WEBPACK_IMPORTED_MODULE_2__providers_user_data__["a" /* UserData */]])
      ], SignupPage);
      return SignupPage;
  }());
  
  //# sourceMappingURL=signup.js.map
  
  /***/ }),
  
  /***/ 121:
  /***/ (function(module, exports) {
  
  function webpackEmptyAsyncContext(req) {
  	// Here Promise.resolve().then() is used instead of new Promise() to prevent
  	// uncatched exception popping up in devtools
  	return Promise.resolve().then(function() {
  		throw new Error("Cannot find module '" + req + "'.");
  	});
  }
  webpackEmptyAsyncContext.keys = function() { return []; };
  webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;
  module.exports = webpackEmptyAsyncContext;
  webpackEmptyAsyncContext.id = 121;
  
  /***/ }),
  
  /***/ 164:
  /***/ (function(module, exports) {
  
  function webpackEmptyAsyncContext(req) {
  	// Here Promise.resolve().then() is used instead of new Promise() to prevent
  	// uncatched exception popping up in devtools
  	return Promise.resolve().then(function() {
  		throw new Error("Cannot find module '" + req + "'.");
  	});
  }
  webpackEmptyAsyncContext.keys = function() { return []; };
  webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;
  module.exports = webpackEmptyAsyncContext;
  webpackEmptyAsyncContext.id = 164;
  
  /***/ }),
  
  /***/ 19:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ConferenceData; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_http__ = __webpack_require__(122);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__user_data__ = __webpack_require__(31);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_Observable__ = __webpack_require__(7);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_Observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_Observable__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__ = __webpack_require__(292);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_rxjs_add_observable_of__ = __webpack_require__(293);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_rxjs_add_observable_of___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_rxjs_add_observable_of__);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  
  
  
  
  var ConferenceData = (function () {
      function ConferenceData(http, user) {
          this.http = http;
          this.user = user;
      }
      ConferenceData.prototype.load = function () {
          if (this.data) {
              return __WEBPACK_IMPORTED_MODULE_3_rxjs_Observable__["Observable"].of(this.data);
          }
          else {
              return this.http.get('assets/data/data.json')
                  .map(this.processData, this);
          }
      };
      ConferenceData.prototype.processData = function (data) {
          var _this = this;
          // just some good 'ol JS fun with objects and arrays
          // build up the data by linking contacts to tasks
          this.data = data.json();
          this.data.tracks = [];
          // loop through each day in the task list only one at the moment
          this.data.taskList.forEach(function (day) {
              // loop through each timeline group in the day
              day.groups.forEach(function (group) {
                  // loop through each task in the timeline group
                  group.tasks.forEach(function (task) {
                      task.contacts = [];
                      if (task.contactNames) {
                          task.contactNames.forEach(function (contactName) {
                              var contact = _this.data.contacts.find(function (s) { return s.name === contactName; });
                              if (contact) {
                                  task.contacts.push(contact);
                                  contact.tasks = contact.task || [];
                                  contact.tasks.push(task);
                              }
                          });
                      }
                      if (task.tracks) {
                          task.tracks.forEach(function (track) {
                              if (_this.data.tracks.indexOf(track) < 0) {
                                  _this.data.tracks.push(track);
                              }
                          });
                      }
                  });
              });
          });
          return this.data;
      };
      ConferenceData.prototype.getTimeline = function (dayIndex, queryText, excludeTracks, segment) {
          var _this = this;
          if (queryText === void 0) { queryText = ''; }
          if (excludeTracks === void 0) { excludeTracks = []; }
          if (segment === void 0) { segment = 'all'; }
          return this.load().map(function (data) {
              var day = data.taskList[dayIndex];
              day.shownTasks = 0;
              queryText = queryText.toLowerCase().replace(/,|\.|-/g, ' ');
              var queryWords = queryText.split(' ').filter(function (w) { return !!w.trim().length; });
              day.groups.forEach(function (group) {
                  group.hide = true;
                  group.tasks.forEach(function (task) {
                      // check if this task should show or not
                      _this.filterTask(task, queryWords, excludeTracks, segment);
                      if (!task.hide) {
                          // if this task is not hidden then this group should show
                          group.hide = false;
                          day.shownTasks++;
                      }
                  });
              });
              return day;
          });
      };
      ConferenceData.prototype.addTask = function (task, groupName) {
          var _this = this;
          return new Promise(function (resolve, reject) {
              var day = _this.data.taskList[0];
              var wantedGroup = null;
              var nextId = 0;
              day.groups.forEach(function (group) {
                  if (group.title === groupName)
                      wantedGroup = group;
                  nextId += group.length;
              });
              nextId++;
              task.id = nextId;
              if (wantedGroup) {
                  wantedGroup.push(task);
                  resolve('task added!');
              }
              reject('task was not added!');
          });
      };
      ConferenceData.prototype.updateTask = function (task) {
          var _this = this;
          return new Promise(function (resolve, reject) {
              var day = _this.data.taskList[0];
              day.groups.forEach(function (group) {
                  var itemIndex = group.tasks.findIndex(function (item) { return item.id == task.id; });
                  if (itemIndex > -1) {
                      group.tasks[itemIndex] = task;
                      resolve('task updated!');
                  }
              });
              reject('error updating task!');
          });
      };
      ConferenceData.prototype.deleteTask = function (task) {
          var _this = this;
          return new Promise(function (resolve, reject) {
              var day = _this.data.taskList[0];
              day.groups.forEach(function (group) {
                  var itemIndex = group.tasks.findIndex(function (item) { return item.id == task.id; });
                  if (itemIndex > -1) {
                      group.tasks.splice(itemIndex, 1);
                      resolve('task removed!');
                  }
              });
              reject('error updating task!');
          });
      };
      ConferenceData.prototype.filterTask = function (task, queryWords, excludeTracks, segment) {
          var matchesQueryText = false;
          if (queryWords.length) {
              // of any query word is in the task name than it passes the query test
              queryWords.forEach(function (queryWord) {
                  if (task.name.toLowerCase().indexOf(queryWord) > -1) {
                      matchesQueryText = true;
                  }
              });
          }
          else {
              // if there are no query words then this task passes the query test
              matchesQueryText = true;
          }
          // if any of the tasks tracks are not in the
          // exclude tracks then this task passes the track test
          var matchesTracks = false;
          task.tracks.forEach(function (trackName) {
              if (excludeTracks.indexOf(trackName) === -1) {
                  matchesTracks = true;
              }
          });
          // if the segement is 'favorites', but task is not a user favorite
          // then this task does not pass the segment test
          var matchesSegment = false;
          if (segment === 'quickView') {
              if (this.user.hasQuickView(task.name)) {
                  matchesSegment = true;
              }
          }
          else {
              matchesSegment = true;
          }
          // all tests must be true if it should not be hidden
          task.hide = !(matchesQueryText && matchesTracks && matchesSegment);
      };
      ConferenceData.prototype.getContacts = function () {
          return this.load().map(function (data) {
              return data.contacts.sort(function (a, b) {
                  var aName = a.name.split(' ').pop();
                  var bName = b.name.split(' ').pop();
                  return aName.localeCompare(bName);
              });
          });
      };
      ConferenceData.prototype.getTracks = function () {
          return this.load().map(function (data) {
              return data.tracks.sort();
          });
      };
      ConferenceData.prototype.getMap = function () {
          return this.load().map(function (data) {
              return data.map;
          });
      };
      ConferenceData.prototype.getTools = function () {
          return this.load().map(function (data) {
              return data.tools;
          });
      };
      ConferenceData = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["A" /* Injectable */])(),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1__angular_http__["a" /* Http */], __WEBPACK_IMPORTED_MODULE_2__user_data__["a" /* UserData */]])
      ], ConferenceData);
      return ConferenceData;
  }());
  
  //# sourceMappingURL=conference-data.js.map
  
  /***/ }),
  
  /***/ 207:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PopoverPage; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(10);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  var PopoverPage = (function () {
      function PopoverPage(viewCtrl, navCtrl, app, modalCtrl) {
          this.viewCtrl = viewCtrl;
          this.navCtrl = navCtrl;
          this.app = app;
          this.modalCtrl = modalCtrl;
      }
      PopoverPage.prototype.support = function () {
          this.app.getRootNav().push('SupportPage');
          this.viewCtrl.dismiss();
      };
      PopoverPage.prototype.close = function (url) {
          window.open(url, '_blank');
          this.viewCtrl.dismiss();
      };
      PopoverPage = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
              template: "\n    <ion-list>\n      <button ion-item (click)=\"close('http://ionicframework.com/docs/v2/getting-started')\">Learn Ionic</button>\n      <button ion-item (click)=\"close('http://ionicframework.com/docs/v2')\">Documentation</button>\n      <button ion-item (click)=\"close('http://showcase.ionicframework.com')\">Showcase</button>\n      <button ion-item (click)=\"close('https://github.com/ionic-team/ionic')\">GitHub Repo</button>\n      <button ion-item (click)=\"support()\">Support</button>\n    </ion-list>\n  "
          }),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["t" /* ViewController */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["n" /* NavController */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["c" /* App */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["l" /* ModalController */]])
      ], PopoverPage);
      return PopoverPage;
  }());
  
  //# sourceMappingURL=about-popover.js.map
  
  /***/ }),
  
  /***/ 208:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AccountPage; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(10);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_user_data__ = __webpack_require__(31);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  
  var AccountPage = (function () {
      function AccountPage(alertCtrl, nav, userData) {
          this.alertCtrl = alertCtrl;
          this.nav = nav;
          this.userData = userData;
      }
      AccountPage.prototype.ngAfterViewInit = function () {
          this.getUsername();
      };
      AccountPage.prototype.updatePicture = function () {
          console.log('Clicked to update picture');
      };
      // Present an alert with the current username populated
      // clicking OK will update the username and display it
      // clicking Cancel will close the alert and do nothing
      AccountPage.prototype.changeUsername = function () {
          var _this = this;
          var alert = this.alertCtrl.create({
              title: 'Change Username',
              buttons: [
                  'Cancel'
              ]
          });
          alert.addInput({
              name: 'username',
              value: this.username,
              placeholder: 'username'
          });
          alert.addButton({
              text: 'Ok',
              handler: function (data) {
                  _this.userData.setUsername(data.username);
                  _this.getUsername();
              }
          });
          alert.present();
      };
      AccountPage.prototype.getUsername = function () {
          var _this = this;
          this.userData.getUsername().then(function (username) {
              _this.username = username;
          });
      };
      AccountPage.prototype.changePassword = function () {
          console.log('Clicked to change password');
      };
      AccountPage.prototype.logout = function () {
          this.userData.logout();
          this.nav.setRoot('LoginPage');
      };
      AccountPage.prototype.support = function () {
          this.nav.push('SupportPage');
      };
      AccountPage = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
              selector: 'page-account',template:/*ion-inline-start:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\account\account.html"*/'<ion-header>\n  <ion-navbar>\n    <button ion-button menuToggle>\n      <ion-icon name="menu"></ion-icon>\n    </button>\n    <ion-title>Account</ion-title>\n  </ion-navbar>\n</ion-header>\n\n<ion-content class="outer-content">\n  <div padding-top text-center *ngIf="username">\n    <img src="http://www.gravatar.com/avatar?d=mm&s=140" alt="avatar">\n    <h2>{{username}}</h2>\n\n    <ion-list inset>\n      <button ion-item (click)="updatePicture()">Update Picture</button>\n      <button ion-item (click)="changeUsername()">Change Username</button>\n      <button ion-item (click)="changePassword()">Change Password</button>\n      <button ion-item (click)="support()">Support</button>\n      <button ion-item (click)="logout()">Logout</button>\n    </ion-list>\n  </div>\n</ion-content>\n'/*ion-inline-end:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\account\account.html"*/
          }),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["b" /* AlertController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["n" /* NavController */], __WEBPACK_IMPORTED_MODULE_2__providers_user_data__["a" /* UserData */]])
      ], AccountPage);
      return AccountPage;
  }());
  
  //# sourceMappingURL=account.js.map
  
  /***/ }),
  
  /***/ 209:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LoginPage; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(10);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_user_data__ = __webpack_require__(31);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__tabs_page_tabs_page__ = __webpack_require__(42);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__signup_signup__ = __webpack_require__(110);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  
  
  
  var LoginPage = (function () {
      function LoginPage(navCtrl, userData) {
          this.navCtrl = navCtrl;
          this.userData = userData;
          this.login = { username: '', password: '' };
          this.submitted = false;
      }
      LoginPage.prototype.onLogin = function (form) {
          this.submitted = true;
          if (form.valid) {
              this.userData.login(this.login.username);
              this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_3__tabs_page_tabs_page__["a" /* TabsPage */]);
          }
      };
      LoginPage.prototype.onSignup = function () {
          this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_4__signup_signup__["a" /* SignupPage */]);
      };
      LoginPage = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
              selector: 'page-user',template:/*ion-inline-start:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\login\login.html"*/'<ion-header>\n	<ion-navbar>\n		<button ion-button menuToggle>\n      <ion-icon name="menu"></ion-icon>\n    </button>\n		<ion-title>Login</ion-title>\n	</ion-navbar>\n</ion-header>\n\n<ion-content>\n	<div class="logo">\n		<img src="assets/img/appicon.svg" alt="Ionic logo">\n	</div>\n\n	<form #loginForm="ngForm" novalidate>\n		<ion-list no-lines>\n			<ion-item>\n				<ion-label stacked color="primary">Username</ion-label>\n				<ion-input [(ngModel)]="login.username" name="username" type="text" #username="ngModel" spellcheck="false" autocapitalize="off"\n					required>\n				</ion-input>\n			</ion-item>\n			<p ion-text [hidden]="username.valid || submitted == false" color="danger" padding-left>\n				Username is required\n			</p>\n\n			<ion-item>\n				<ion-label stacked color="primary">Password</ion-label>\n				<ion-input [(ngModel)]="login.password" name="password" type="password" #password="ngModel" required>\n				</ion-input>\n			</ion-item>\n			<p ion-text [hidden]="password.valid || submitted == false" color="danger" padding-left>\n				Password is required\n			</p>\n		</ion-list>\n\n		<ion-row responsive-sm>\n			<ion-col>\n				<button ion-button (click)="onLogin(loginForm)" type="submit" block>Login</button>\n			</ion-col>\n			<ion-col>\n				<button ion-button (click)="onSignup()" color="light" block>Signup</button>\n			</ion-col>\n		</ion-row>\n	</form>\n\n</ion-content>\n'/*ion-inline-end:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\login\login.html"*/
          }),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["n" /* NavController */], __WEBPACK_IMPORTED_MODULE_2__providers_user_data__["a" /* UserData */]])
      ], LoginPage);
      return LoginPage;
  }());
  
  //# sourceMappingURL=login.js.map
  
  /***/ }),
  
  /***/ 210:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return TaskEditPage; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_forms__ = __webpack_require__(16);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_ionic_angular__ = __webpack_require__(10);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_conference_data__ = __webpack_require__(19);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  
  
  var TaskEditPage = (function () {
      function TaskEditPage(dataProvider, navParams, toastCtrl, navCtrl) {
          this.dataProvider = dataProvider;
          this.navParams = navParams;
          this.toastCtrl = toastCtrl;
          this.navCtrl = navCtrl;
          this.mode = 'New';
      }
      TaskEditPage.prototype.ngOnInit = function () {
          this.mode = this.navParams.get('mode');
          if (this.mode == 'Edit') {
              this.task = this.navParams.get('task');
              this.taskGroupTitle = this.navParams.get('groupTitle');
          }
          this.initializeForm();
      };
      TaskEditPage.prototype.initializeForm = function () {
          var name = null;
          var description = null;
          var location = null;
          if (this.mode == 'Edit') {
              name = this.task.name;
              description = this.task.description;
              location = this.task.location;
          }
          this.taskForm = new __WEBPACK_IMPORTED_MODULE_1__angular_forms__["b" /* FormGroup */]({
              'name': new __WEBPACK_IMPORTED_MODULE_1__angular_forms__["a" /* FormControl */](name, __WEBPACK_IMPORTED_MODULE_1__angular_forms__["g" /* Validators */].required),
              'description': new __WEBPACK_IMPORTED_MODULE_1__angular_forms__["a" /* FormControl */](description, __WEBPACK_IMPORTED_MODULE_1__angular_forms__["g" /* Validators */].required),
              'location': new __WEBPACK_IMPORTED_MODULE_1__angular_forms__["a" /* FormControl */](location, __WEBPACK_IMPORTED_MODULE_1__angular_forms__["g" /* Validators */].required),
          });
      };
      TaskEditPage.prototype.onSubmit = function () {
          var _this = this;
          var value = this.taskForm.value;
          this.task.name = value.name;
          this.task.description = value.description;
          this.task.location = value.location;
          if (this.mode == 'Edit') {
              this.dataProvider.updateTask(this.task).then(function () {
                  var toast = _this.toastCtrl.create({
                      message: 'Task Updated!',
                      duration: 1500,
                      position: 'bottom'
                  });
                  toast.present();
              })
                  .catch(function (err) {
                  var toast = _this.toastCtrl.create({
                      message: err,
                      duration: 1500,
                      position: 'bottom'
                  });
                  toast.present();
              });
          }
          else {
              this.dataProvider.addTask(this.task, this.taskGroupTitle).then(function () {
                  var toast = _this.toastCtrl.create({
                      message: 'Task Added!',
                      duration: 1500,
                      position: 'bottom'
                  });
                  toast.present();
              })
                  .catch(function (err) {
                  var toast = _this.toastCtrl.create({
                      message: err,
                      duration: 1500,
                      position: 'bottom'
                  });
                  toast.present();
              });
          }
          this.taskForm.reset();
          this.navCtrl.popToRoot();
      };
      TaskEditPage = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
              selector: 'page-task-edit',template:/*ion-inline-start:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\task-edit\task-edit.html"*/'<ion-header>\n\n    <ion-navbar>\n      <ion-title>{{ mode }} Task</ion-title>\n    </ion-navbar>\n  \n  </ion-header>\n  \n  \n  <ion-content padding>\n    <form [formGroup]="taskForm" (ngSubmit)="onSubmit()">\n      <ion-list>\n        <ion-item>\n          <ion-label floating>Name</ion-label>\n          <ion-input type="text" formControlName="name"></ion-input>\n        </ion-item>\n        <ion-item>\n          <ion-label floating>Description</ion-label>\n          <ion-textarea formControlName="description"></ion-textarea>\n        </ion-item>\n        <ion-item>\n          <ion-label floating>location</ion-label>\n          <ion-input type="text" formControlName="location"></ion-input>\n        </ion-item>\n      </ion-list>\n      <button\n        type="submit"\n        ion-button\n        block\n        [disabled]="!taskForm.valid">{{ mode }} Task</button>\n    </form>\n  </ion-content>\n'/*ion-inline-end:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\task-edit\task-edit.html"*/
          }),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_3__providers_conference_data__["a" /* ConferenceData */],
              __WEBPACK_IMPORTED_MODULE_2_ionic_angular__["o" /* NavParams */],
              __WEBPACK_IMPORTED_MODULE_2_ionic_angular__["s" /* ToastController */],
              __WEBPACK_IMPORTED_MODULE_2_ionic_angular__["n" /* NavController */]])
      ], TaskEditPage);
      return TaskEditPage;
  }());
  
  //# sourceMappingURL=task-edit.js.map
  
  /***/ }),
  
  /***/ 211:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return TaskFilterPage; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(10);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_conference_data__ = __webpack_require__(19);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  
  var TaskFilterPage = (function () {
      function TaskFilterPage(confData, navParams, viewCtrl) {
          var _this = this;
          this.confData = confData;
          this.navParams = navParams;
          this.viewCtrl = viewCtrl;
          this.tracks = [];
          // passed in array of track names that should be excluded (unchecked)
          var excludedTrackNames = this.navParams.data;
          this.confData.getTracks().subscribe(function (trackNames) {
              trackNames.forEach(function (trackName) {
                  _this.tracks.push({
                      name: trackName,
                      isChecked: (excludedTrackNames.indexOf(trackName) === -1)
                  });
              });
          });
      }
      TaskFilterPage.prototype.resetFilters = function () {
          // reset all of the toggles to be checked
          this.tracks.forEach(function (track) {
              track.isChecked = true;
          });
      };
      TaskFilterPage.prototype.applyFilters = function () {
          // Pass back a new array of track names to exclude
          var excludedTrackNames = this.tracks.filter(function (c) { return !c.isChecked; }).map(function (c) { return c.name; });
          this.dismiss(excludedTrackNames);
      };
      TaskFilterPage.prototype.dismiss = function (data) {
          // using the injected ViewController this page
          // can "dismiss" itself and pass back data
          this.viewCtrl.dismiss(data);
      };
      TaskFilterPage = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
              selector: 'page-task-filter',template:/*ion-inline-start:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\task-filter\task-filter.html"*/'<ion-header>\n  <ion-toolbar>\n    <ion-buttons start>\n      <button ion-button (click)="dismiss()">Cancel</button>\n    </ion-buttons>\n\n    <ion-title>\n      Filter Tasks\n    </ion-title>\n\n    <ion-buttons end>\n      <button ion-button (click)="applyFilters()" strong>Done</button>\n    </ion-buttons>\n  </ion-toolbar>\n</ion-header>\n\n<ion-content class="outer-content">\n\n  <ion-list>\n    <ion-list-header>Tracks</ion-list-header>\n\n    <ion-item *ngFor="let track of tracks" [attr.track]="track.name | lowercase">\n      <span item-start class="dot"></span>\n      <ion-label>{{track.name}}</ion-label>\n      <ion-toggle [(ngModel)]="track.isChecked" color="secondary"></ion-toggle>\n    </ion-item>\n\n  </ion-list>\n\n  <ion-list>\n    <button ion-item (click)="resetFilters()" detail-none class="reset-filters">\n      Reset All Filters\n    </button>\n  </ion-list>\n\n</ion-content>\n'/*ion-inline-end:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\task-filter\task-filter.html"*/
          }),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_2__providers_conference_data__["a" /* ConferenceData */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["o" /* NavParams */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["t" /* ViewController */]])
      ], TaskFilterPage);
      return TaskFilterPage;
  }());
  
  //# sourceMappingURL=task-filter.js.map
  
  /***/ }),
  
  /***/ 212:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ContactDetailPage; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(10);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_conference_data__ = __webpack_require__(19);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  
  var ContactDetailPage = (function () {
      function ContactDetailPage(dataProvider, navCtrl, navParams) {
          this.dataProvider = dataProvider;
          this.navCtrl = navCtrl;
          this.navParams = navParams;
      }
      ContactDetailPage.prototype.ionViewWillEnter = function () {
          var _this = this;
          this.dataProvider.load().subscribe(function (data) {
              if (data && data.contacts) {
                  for (var _i = 0, _a = data.contacts; _i < _a.length; _i++) {
                      var contact = _a[_i];
                      if (contact && contact.id === _this.navParams.data.contactId) {
                          _this.contact = contact;
                          break;
                      }
                  }
              }
          });
      };
      ContactDetailPage.prototype.goToTaskDetail = function (task) {
          this.navCtrl.push('TaskDetailPage', { taskId: task.id });
      };
      ContactDetailPage = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
              selector: 'page-contact-detail',template:/*ion-inline-start:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\contact-detail\contact-detail.html"*/'<ion-header>\n  <ion-navbar>\n    <ion-title>{{contact?.name}}</ion-title>\n  </ion-navbar>\n</ion-header>\n\n<ion-content padding class="contact-detail">\n  <div text-center *ngIf="contact">\n    <img [src]="contact.profilePic" [alt]="contact.name"><br>\n\n    <button ion-button icon-only clear small color="twitter">\n      <ion-icon name="logo-twitter"></ion-icon>\n    </button>\n    <button ion-button icon-only clear small color="github">\n      <ion-icon name="logo-github"></ion-icon>\n    </button>\n    <button ion-button icon-only clear small color="instagram">\n      <ion-icon name="logo-instagram"></ion-icon>\n    </button>\n  </div>\n\n  <p>{{contact?.about}}</p>\n</ion-content>\n'/*ion-inline-end:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\contact-detail\contact-detail.html"*/
          }),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_2__providers_conference_data__["a" /* ConferenceData */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["n" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["o" /* NavParams */]])
      ], ContactDetailPage);
      return ContactDetailPage;
  }());
  
  //# sourceMappingURL=contact-detail.js.map
  
  /***/ }),
  
  /***/ 213:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return TutorialPage; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(10);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ionic_storage__ = __webpack_require__(53);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__tabs_page_tabs_page__ = __webpack_require__(42);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  
  
  var TutorialPage = (function () {
      function TutorialPage(navCtrl, menu, storage) {
          this.navCtrl = navCtrl;
          this.menu = menu;
          this.storage = storage;
          this.showSkip = true;
      }
      TutorialPage.prototype.startApp = function () {
          var _this = this;
          this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_3__tabs_page_tabs_page__["a" /* TabsPage */]).then(function () {
              _this.storage.set('hasSeenTutorial', 'true');
          });
      };
      TutorialPage.prototype.onSlideChangeStart = function (slider) {
          this.showSkip = !slider.isEnd();
      };
      TutorialPage.prototype.ionViewWillEnter = function () {
          this.slides.update();
      };
      TutorialPage.prototype.ionViewDidEnter = function () {
          // the root left menu should be disabled on the tutorial page
          this.menu.enable(false);
      };
      TutorialPage.prototype.ionViewDidLeave = function () {
          // enable the root left menu when leaving the tutorial page
          this.menu.enable(true);
      };
      __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["_8" /* ViewChild */])('slides'),
          __metadata("design:type", __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* Slides */])
      ], TutorialPage.prototype, "slides", void 0);
      TutorialPage = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
              selector: 'page-tutorial',template:/*ion-inline-start:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\tutorial\tutorial.html"*/'<ion-header no-border>\n  <ion-navbar>\n    <ion-buttons end *ngIf="showSkip">\n      <button ion-button (click)="startApp()" color="primary">Skip</button>\n    </ion-buttons>\n  </ion-navbar>\n</ion-header>\n\n<ion-content no-bounce>\n  <ion-slides #slides (ionSlideWillChange)="onSlideChangeStart($event)" pager>\n\n    <ion-slide>\n      <!-- <img src="assets/img/ica-slidebox-img-1.png" class="slide-image"/> -->\n      <h2 class="slide-title">\n        Welcome to <b>Smart Move</b>\n      </h2>\n      <p>\n        The <b>Smart Move app</b> is your personal move manager allowing you coordinate all the different activites involved in the buying and / or selling of your property.\n      </p>\n    </ion-slide>\n\n    <ion-slide>\n      <!-- <img src="assets/img/ica-slidebox-img-2.png" class="slide-image"/> -->\n      <h2 class="slide-title" >Task List</h2>\n      <p><b>The Task List</b> is your personal task list showing the steps involved in completing all individual mile-stones and acheiving your end goals, loaded with an initial set of standard categories and associated tasks, edit remove or add tasks to suit your needs.</p>\n      <p><b>Tasks</b> allow you to break down required activities into suitable chunks to manage, you can add documents, photos, locations, notes, dates, moneatry values and much more to each task!</p>\n    </ion-slide>\n\n    <ion-slide>\n      <img src="assets/img/ica-slidebox-img-3.png" class="slide-image"/>\n      <h2 class="slide-title">Quick View</h2>\n      <p><b>The Quick View</b> is a pin board allowing you to add high priority or favourite tasks for quick access</p>\n    </ion-slide>\n\n    <ion-slide>\n      <img src="assets/img/ica-slidebox-img-3.png" class="slide-image"/>\n      <h2 class="slide-title">Contacts</h2>\n      <p><b>Contacts</b> allows you to create contact cards of people / companies associated with your tasks, you can link to contact information on your device, store notes and contact via phone/sms/email directly from one place</p>\n    </ion-slide>\n\n    <ion-slide>\n      <img src="assets/img/ica-slidebox-img-3.png" class="slide-image"/>\n      <h2 class="slide-title">Services</h2>\n      <p><b>Services</b> provides useful utilities to aid in your completion of activities all useful services can be accessed from this simple portal!</p>\n    </ion-slide>\n\n    <ion-slide>\n      <img src="assets/img/ica-slidebox-img-4.png" class="slide-image"/>\n      <h2 class="slide-title">Ready to get started?</h2>\n      <button ion-button icon-end large clear (click)="startApp()">\n        Continue\n        <ion-icon name="arrow-forward"></ion-icon>\n      </button>\n    </ion-slide>\n\n  </ion-slides>\n</ion-content>\n'/*ion-inline-end:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\tutorial\tutorial.html"*/
          }),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["n" /* NavController */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["k" /* MenuController */],
              __WEBPACK_IMPORTED_MODULE_2__ionic_storage__["b" /* Storage */]])
      ], TutorialPage);
      return TutorialPage;
  }());
  
  //# sourceMappingURL=tutorial.js.map
  
  /***/ }),
  
  /***/ 214:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return SupportPage; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(10);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  var SupportPage = (function () {
      function SupportPage(navCtrl, alertCtrl, toastCtrl) {
          this.navCtrl = navCtrl;
          this.alertCtrl = alertCtrl;
          this.toastCtrl = toastCtrl;
          this.submitted = false;
      }
      SupportPage.prototype.ionViewDidEnter = function () {
          var toast = this.toastCtrl.create({
              message: 'This does not actually send a support request.',
              duration: 3000
          });
          toast.present();
      };
      SupportPage.prototype.submit = function (form) {
          this.submitted = true;
          if (form.valid) {
              this.supportMessage = '';
              this.submitted = false;
              var toast = this.toastCtrl.create({
                  message: 'Your support request has been sent.',
                  duration: 3000
              });
              toast.present();
          }
      };
      // If the user enters text in the support question and then navigates
      // without submitting first, ask if they meant to leave the page
      SupportPage.prototype.ionViewCanLeave = function () {
          var _this = this;
          // If the support message is empty we should just navigate
          if (!this.supportMessage || this.supportMessage.trim().length === 0) {
              return true;
          }
          return new Promise(function (resolve, reject) {
              var alert = _this.alertCtrl.create({
                  title: 'Leave this page?',
                  message: 'Are you sure you want to leave this page? Your support message will not be submitted.'
              });
              alert.addButton({ text: 'Stay', handler: reject });
              alert.addButton({ text: 'Leave', role: 'cancel', handler: resolve });
              alert.present();
          });
      };
      SupportPage = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
              selector: 'page-user',template:/*ion-inline-start:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\support\support.html"*/'<ion-header>\n\n	<ion-navbar>\n		<button ion-button menuToggle>\n      <ion-icon name="menu"></ion-icon>\n    </button>\n		<ion-title>Support</ion-title>\n	</ion-navbar>\n\n</ion-header>\n\n\n<ion-content>\n	<div class="logo">\n		<img src="assets/img/appicon.svg" alt="Ionic Logo">\n	</div>\n\n	<form #submitForm="ngForm" novalidate (ngSubmit)="submit(submitForm)">\n		<ion-list no-lines>\n			<ion-item>\n				<ion-label stacked color="primary">Enter your support message below</ion-label>\n				<ion-textarea [(ngModel)]="supportMessage" name="supportQuestion" #supportQuestion="ngModel" rows="6" required></ion-textarea>\n			</ion-item>\n		</ion-list>\n\n		<p ion-text [hidden]="supportQuestion.valid || submitted === false" color="danger" padding-left>\n			Support message is required\n		</p>\n\n		<div padding>\n			<button ion-button block type="submit">Submit</button>\n		</div>\n	</form>\n</ion-content>\n'/*ion-inline-end:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\support\support.html"*/
          }),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["n" /* NavController */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["b" /* AlertController */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* ToastController */]])
      ], SupportPage);
      return SupportPage;
  }());
  
  //# sourceMappingURL=support.js.map
  
  /***/ }),
  
  /***/ 215:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser_dynamic__ = __webpack_require__(216);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__app_module__ = __webpack_require__(238);
  
  
  Object(__WEBPACK_IMPORTED_MODULE_0__angular_platform_browser_dynamic__["a" /* platformBrowserDynamic */])().bootstrapModule(__WEBPACK_IMPORTED_MODULE_1__app_module__["a" /* AppModule */]);
  //# sourceMappingURL=main.js.map
  
  /***/ }),
  
  /***/ 238:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AppModule; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser__ = __webpack_require__(28);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_http__ = __webpack_require__(122);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_ionic_angular__ = __webpack_require__(10);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__ionic_native_in_app_browser__ = __webpack_require__(103);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ionic_native_splash_screen__ = __webpack_require__(206);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ionic_storage__ = __webpack_require__(53);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__app_component__ = __webpack_require__(291);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pages_about_about__ = __webpack_require__(105);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__pages_about_popover_about_popover__ = __webpack_require__(207);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__pages_account_account__ = __webpack_require__(208);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__pages_login_login__ = __webpack_require__(209);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__pages_map_map__ = __webpack_require__(295);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__pages_task_list_task_list__ = __webpack_require__(107);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__pages_task_filter_task_filter__ = __webpack_require__(211);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__pages_task_detail_task_detail__ = __webpack_require__(108);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__pages_task_edit_task_edit__ = __webpack_require__(210);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__pages_signup_signup__ = __webpack_require__(110);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__pages_contact_detail_contact_detail__ = __webpack_require__(212);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__pages_contact_list_contact_list__ = __webpack_require__(109);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__pages_tabs_page_tabs_page__ = __webpack_require__(42);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__pages_tutorial_tutorial__ = __webpack_require__(213);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__pages_support_support__ = __webpack_require__(214);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__providers_conference_data__ = __webpack_require__(19);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__providers_user_data__ = __webpack_require__(31);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__pages_tools_tools__ = __webpack_require__(106);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  var AppModule = (function () {
      function AppModule() {
      }
      AppModule = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_2__angular_core__["I" /* NgModule */])({
              declarations: [
                  __WEBPACK_IMPORTED_MODULE_7__app_component__["a" /* ConferenceApp */],
                  __WEBPACK_IMPORTED_MODULE_8__pages_about_about__["a" /* AboutPage */],
                  __WEBPACK_IMPORTED_MODULE_10__pages_account_account__["a" /* AccountPage */],
                  __WEBPACK_IMPORTED_MODULE_11__pages_login_login__["a" /* LoginPage */],
                  __WEBPACK_IMPORTED_MODULE_12__pages_map_map__["a" /* MapPage */],
                  __WEBPACK_IMPORTED_MODULE_25__pages_tools_tools__["a" /* ToolsPage */],
                  __WEBPACK_IMPORTED_MODULE_9__pages_about_popover_about_popover__["a" /* PopoverPage */],
                  __WEBPACK_IMPORTED_MODULE_13__pages_task_list_task_list__["a" /* TaskListPage */],
                  __WEBPACK_IMPORTED_MODULE_14__pages_task_filter_task_filter__["a" /* TaskFilterPage */],
                  __WEBPACK_IMPORTED_MODULE_15__pages_task_detail_task_detail__["a" /* TaskDetailPage */],
                  __WEBPACK_IMPORTED_MODULE_16__pages_task_edit_task_edit__["a" /* TaskEditPage */],
                  __WEBPACK_IMPORTED_MODULE_17__pages_signup_signup__["a" /* SignupPage */],
                  __WEBPACK_IMPORTED_MODULE_18__pages_contact_detail_contact_detail__["a" /* ContactDetailPage */],
                  __WEBPACK_IMPORTED_MODULE_19__pages_contact_list_contact_list__["a" /* ContactListPage */],
                  __WEBPACK_IMPORTED_MODULE_20__pages_tabs_page_tabs_page__["a" /* TabsPage */],
                  __WEBPACK_IMPORTED_MODULE_21__pages_tutorial_tutorial__["a" /* TutorialPage */],
                  __WEBPACK_IMPORTED_MODULE_22__pages_support_support__["a" /* SupportPage */]
              ],
              imports: [
                  __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser__["a" /* BrowserModule */],
                  __WEBPACK_IMPORTED_MODULE_1__angular_http__["b" /* HttpModule */],
                  __WEBPACK_IMPORTED_MODULE_3_ionic_angular__["h" /* IonicModule */].forRoot(__WEBPACK_IMPORTED_MODULE_7__app_component__["a" /* ConferenceApp */], {}, {
                      links: [
                          { component: __WEBPACK_IMPORTED_MODULE_20__pages_tabs_page_tabs_page__["a" /* TabsPage */], name: 'TabsPage', segment: 'tabs-page' },
                          { component: __WEBPACK_IMPORTED_MODULE_13__pages_task_list_task_list__["a" /* TaskListPage */], name: 'TaskList', segment: 'taskList' },
                          { component: __WEBPACK_IMPORTED_MODULE_15__pages_task_detail_task_detail__["a" /* TaskDetailPage */], name: 'TaskDetail', segment: 'taskDetail/:taskId' },
                          { component: __WEBPACK_IMPORTED_MODULE_14__pages_task_filter_task_filter__["a" /* TaskFilterPage */], name: 'TaskFilter', segment: 'taskFilter' },
                          { component: __WEBPACK_IMPORTED_MODULE_19__pages_contact_list_contact_list__["a" /* ContactListPage */], name: 'ContactList', segment: 'contactList' },
                          { component: __WEBPACK_IMPORTED_MODULE_18__pages_contact_detail_contact_detail__["a" /* ContactDetailPage */], name: 'ContactDetail', segment: 'contactDetail/:contactId' },
                          { component: __WEBPACK_IMPORTED_MODULE_12__pages_map_map__["a" /* MapPage */], name: 'Map', segment: 'map' },
                          { component: __WEBPACK_IMPORTED_MODULE_25__pages_tools_tools__["a" /* ToolsPage */], name: 'Tools', segment: 'tools' },
                          { component: __WEBPACK_IMPORTED_MODULE_8__pages_about_about__["a" /* AboutPage */], name: 'About', segment: 'about' },
                          { component: __WEBPACK_IMPORTED_MODULE_21__pages_tutorial_tutorial__["a" /* TutorialPage */], name: 'Tutorial', segment: 'tutorial' },
                          { component: __WEBPACK_IMPORTED_MODULE_22__pages_support_support__["a" /* SupportPage */], name: 'SupportPage', segment: 'support' },
                          { component: __WEBPACK_IMPORTED_MODULE_11__pages_login_login__["a" /* LoginPage */], name: 'LoginPage', segment: 'login' },
                          { component: __WEBPACK_IMPORTED_MODULE_10__pages_account_account__["a" /* AccountPage */], name: 'AccountPage', segment: 'account' },
                          { component: __WEBPACK_IMPORTED_MODULE_17__pages_signup_signup__["a" /* SignupPage */], name: 'SignupPage', segment: 'signup' }
                      ]
                  }),
                  __WEBPACK_IMPORTED_MODULE_6__ionic_storage__["a" /* IonicStorageModule */].forRoot()
              ],
              bootstrap: [__WEBPACK_IMPORTED_MODULE_3_ionic_angular__["f" /* IonicApp */]],
              entryComponents: [
                  __WEBPACK_IMPORTED_MODULE_7__app_component__["a" /* ConferenceApp */],
                  __WEBPACK_IMPORTED_MODULE_8__pages_about_about__["a" /* AboutPage */],
                  __WEBPACK_IMPORTED_MODULE_10__pages_account_account__["a" /* AccountPage */],
                  __WEBPACK_IMPORTED_MODULE_11__pages_login_login__["a" /* LoginPage */],
                  __WEBPACK_IMPORTED_MODULE_12__pages_map_map__["a" /* MapPage */],
                  __WEBPACK_IMPORTED_MODULE_25__pages_tools_tools__["a" /* ToolsPage */],
                  __WEBPACK_IMPORTED_MODULE_9__pages_about_popover_about_popover__["a" /* PopoverPage */],
                  __WEBPACK_IMPORTED_MODULE_13__pages_task_list_task_list__["a" /* TaskListPage */],
                  __WEBPACK_IMPORTED_MODULE_14__pages_task_filter_task_filter__["a" /* TaskFilterPage */],
                  __WEBPACK_IMPORTED_MODULE_15__pages_task_detail_task_detail__["a" /* TaskDetailPage */],
                  __WEBPACK_IMPORTED_MODULE_16__pages_task_edit_task_edit__["a" /* TaskEditPage */],
                  __WEBPACK_IMPORTED_MODULE_17__pages_signup_signup__["a" /* SignupPage */],
                  __WEBPACK_IMPORTED_MODULE_18__pages_contact_detail_contact_detail__["a" /* ContactDetailPage */],
                  __WEBPACK_IMPORTED_MODULE_19__pages_contact_list_contact_list__["a" /* ContactListPage */],
                  __WEBPACK_IMPORTED_MODULE_20__pages_tabs_page_tabs_page__["a" /* TabsPage */],
                  __WEBPACK_IMPORTED_MODULE_21__pages_tutorial_tutorial__["a" /* TutorialPage */],
                  __WEBPACK_IMPORTED_MODULE_22__pages_support_support__["a" /* SupportPage */]
              ],
              providers: [
                  { provide: __WEBPACK_IMPORTED_MODULE_2__angular_core__["u" /* ErrorHandler */], useClass: __WEBPACK_IMPORTED_MODULE_3_ionic_angular__["g" /* IonicErrorHandler */] },
                  __WEBPACK_IMPORTED_MODULE_23__providers_conference_data__["a" /* ConferenceData */],
                  __WEBPACK_IMPORTED_MODULE_24__providers_user_data__["a" /* UserData */],
                  __WEBPACK_IMPORTED_MODULE_4__ionic_native_in_app_browser__["a" /* InAppBrowser */],
                  __WEBPACK_IMPORTED_MODULE_5__ionic_native_splash_screen__["a" /* SplashScreen */]
              ]
          })
      ], AppModule);
      return AppModule;
  }());
  
  //# sourceMappingURL=app.module.js.map
  
  /***/ }),
  
  /***/ 291:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ConferenceApp; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(10);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ionic_native_splash_screen__ = __webpack_require__(206);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ionic_storage__ = __webpack_require__(53);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__pages_about_about__ = __webpack_require__(105);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__pages_account_account__ = __webpack_require__(208);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pages_login_login__ = __webpack_require__(209);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pages_tools_tools__ = __webpack_require__(106);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pages_signup_signup__ = __webpack_require__(110);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__pages_tabs_page_tabs_page__ = __webpack_require__(42);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__pages_tutorial_tutorial__ = __webpack_require__(213);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__pages_task_list_task_list__ = __webpack_require__(107);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__pages_contact_list_contact_list__ = __webpack_require__(109);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__pages_support_support__ = __webpack_require__(214);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__providers_conference_data__ = __webpack_require__(19);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__providers_user_data__ = __webpack_require__(31);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  
  
  
  
  
  //import { MapPage } from '../pages/map/map';
  
  
  
  
  
  
  
  
  
  var ConferenceApp = (function () {
      function ConferenceApp(events, userData, menu, platform, confData, storage, splashScreen) {
          var _this = this;
          this.events = events;
          this.userData = userData;
          this.menu = menu;
          this.platform = platform;
          this.confData = confData;
          this.storage = storage;
          this.splashScreen = splashScreen;
          // List of pages that can be navigated to from the left menu
          // the left menu only works after login
          // the login page disables the left menu
          this.appPages = [
              { title: 'Task List', name: 'TabsPage', component: __WEBPACK_IMPORTED_MODULE_9__pages_tabs_page_tabs_page__["a" /* TabsPage */], tabComponent: __WEBPACK_IMPORTED_MODULE_11__pages_task_list_task_list__["a" /* TaskListPage */], index: 0, icon: 'calendar' },
              { title: 'Contacts', name: 'TabsPage', component: __WEBPACK_IMPORTED_MODULE_9__pages_tabs_page_tabs_page__["a" /* TabsPage */], tabComponent: __WEBPACK_IMPORTED_MODULE_12__pages_contact_list_contact_list__["a" /* ContactListPage */], index: 1, icon: 'contacts' },
              { title: 'Tools', name: 'TabsPage', component: __WEBPACK_IMPORTED_MODULE_7__pages_tools_tools__["a" /* ToolsPage */], tabComponent: __WEBPACK_IMPORTED_MODULE_7__pages_tools_tools__["a" /* ToolsPage */], index: 2, icon: 'hammer' },
              /* { title: 'Map', name: 'TabsPage', component: TabsPage, tabComponent: MapPage, index: 2, icon: 'map' }, */
              { title: 'About', name: 'TabsPage', component: __WEBPACK_IMPORTED_MODULE_9__pages_tabs_page_tabs_page__["a" /* TabsPage */], tabComponent: __WEBPACK_IMPORTED_MODULE_4__pages_about_about__["a" /* AboutPage */], index: 3, icon: 'information-circle' }
          ];
          this.loggedInPages = [
              { title: 'Account', name: 'AccountPage', component: __WEBPACK_IMPORTED_MODULE_5__pages_account_account__["a" /* AccountPage */], icon: 'person' },
              { title: 'Support', name: 'SupportPage', component: __WEBPACK_IMPORTED_MODULE_13__pages_support_support__["a" /* SupportPage */], icon: 'help' },
              { title: 'Logout', name: 'TabsPage', component: __WEBPACK_IMPORTED_MODULE_9__pages_tabs_page_tabs_page__["a" /* TabsPage */], icon: 'log-out', logsOut: true }
          ];
          this.loggedOutPages = [
              { title: 'Login', name: 'LoginPage', component: __WEBPACK_IMPORTED_MODULE_6__pages_login_login__["a" /* LoginPage */], icon: 'log-in' },
              { title: 'Support', name: 'SupportPage', component: __WEBPACK_IMPORTED_MODULE_13__pages_support_support__["a" /* SupportPage */], icon: 'help' },
              { title: 'Signup', name: 'SignupPage', component: __WEBPACK_IMPORTED_MODULE_8__pages_signup_signup__["a" /* SignupPage */], icon: 'person-add' }
          ];
          // Check if the user has already seen the tutorial
          this.storage.get('hasSeenTutorial')
              .then(function (hasSeenTutorial) {
              if (hasSeenTutorial) {
                  _this.rootPage = __WEBPACK_IMPORTED_MODULE_9__pages_tabs_page_tabs_page__["a" /* TabsPage */];
              }
              else {
                  _this.rootPage = __WEBPACK_IMPORTED_MODULE_10__pages_tutorial_tutorial__["a" /* TutorialPage */];
              }
              _this.platformReady();
          });
          // load the conference data
          confData.load();
          // decide which menu items should be hidden by current login status stored in local storage
          this.userData.hasLoggedIn().then(function (hasLoggedIn) {
              _this.enableMenu(hasLoggedIn === true);
          });
          this.enableMenu(true);
          this.listenToLoginEvents();
      }
      ConferenceApp.prototype.openPage = function (page) {
          var params = {};
          // the nav component was found using @ViewChild(Nav)
          // setRoot on the nav to remove previous pages and only have this page
          // we wouldn't want the back button to show in this scenario
          if (page.index) {
              params = { tabIndex: page.index };
          }
          // If we are already on tabs just change the selected tab
          // don't setRoot again, this maintains the history stack of the
          // tabs even if changing them from the menu
          if (this.nav.getActiveChildNavs().length && page.index != undefined) {
              this.nav.getActiveChildNavs()[0].select(page.index);
          }
          else {
              // Set the root of the nav with params if it's a tab index
              this.nav.setRoot(page.name, params).catch(function (err) {
                  console.log("Didn't set nav root: " + err);
              });
          }
          if (page.logsOut === true) {
              // Give the menu time to close before changing to logged out
              this.userData.logout();
          }
      };
      ConferenceApp.prototype.openTutorial = function () {
          this.nav.setRoot(__WEBPACK_IMPORTED_MODULE_10__pages_tutorial_tutorial__["a" /* TutorialPage */]);
      };
      ConferenceApp.prototype.listenToLoginEvents = function () {
          var _this = this;
          this.events.subscribe('user:login', function () {
              _this.enableMenu(true);
          });
          this.events.subscribe('user:signup', function () {
              _this.enableMenu(true);
          });
          this.events.subscribe('user:logout', function () {
              _this.enableMenu(false);
          });
      };
      ConferenceApp.prototype.enableMenu = function (loggedIn) {
          this.menu.enable(loggedIn, 'loggedInMenu');
          this.menu.enable(!loggedIn, 'loggedOutMenu');
      };
      ConferenceApp.prototype.platformReady = function () {
          var _this = this;
          // Call any initial plugins when ready
          this.platform.ready().then(function () {
              _this.splashScreen.hide();
          });
      };
      ConferenceApp.prototype.isActive = function (page) {
          var childNav = this.nav.getActiveChildNavs()[0];
          // Tabs are a special case because they have their own navigation
          if (childNav) {
              if (childNav.getSelected() && childNav.getSelected().root === page.tabComponent) {
                  return 'primary';
              }
              return;
          }
          if (this.nav.getActive() && this.nav.getActive().name === page.name) {
              return 'primary';
          }
          return;
      };
      __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["_8" /* ViewChild */])(__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["m" /* Nav */]),
          __metadata("design:type", __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["m" /* Nav */])
      ], ConferenceApp.prototype, "nav", void 0);
      ConferenceApp = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({template:/*ion-inline-start:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\app\app.template.html"*/'<ion-split-pane>\n\n  <!-- logged out menu -->\n  <ion-menu id="loggedOutMenu" [content]="content">\n\n    <ion-header>\n      <ion-toolbar>\n        <ion-title>Menu</ion-title>\n      </ion-toolbar>\n    </ion-header>\n\n    <ion-content class="outer-content">\n\n      <ion-list>\n        <ion-list-header>\n          Navigate\n        </ion-list-header>\n        <button ion-item menuClose *ngFor="let p of appPages" (click)="openPage(p)">\n          <ion-icon item-start [name]="p.icon" [color]="isActive(p)"></ion-icon>\n          {{p.title}}\n        </button>\n      </ion-list>\n\n      <ion-list>\n        <ion-list-header>\n          Account\n        </ion-list-header>\n        <button ion-item menuClose *ngFor="let p of loggedOutPages" (click)="openPage(p)">\n          <ion-icon item-start [name]="p.icon" [color]="isActive(p)"></ion-icon>\n          {{p.title}}\n        </button>\n      </ion-list>\n\n      <ion-list>\n        <ion-list-header>\n          Tutorial\n        </ion-list-header>\n        <button ion-item menuClose (click)="openTutorial()">\n          <ion-icon item-start name="hammer"></ion-icon>\n          Show Tutorial\n        </button>\n      </ion-list>\n    </ion-content>\n\n  </ion-menu>\n\n  <!-- logged in menu -->\n  <ion-menu id="loggedInMenu" [content]="content">\n\n    <ion-header>\n      <ion-toolbar>\n        <ion-title>Menu</ion-title>\n      </ion-toolbar>\n    </ion-header>\n\n    <ion-content class="outer-content">\n\n      <ion-list>\n        <ion-list-header>\n          Navigate\n        </ion-list-header>\n        <button ion-item menuClose *ngFor="let p of appPages" (click)="openPage(p)">\n          <ion-icon item-start [name]="p.icon" [color]="isActive(p)"></ion-icon>\n          {{p.title}}\n        </button>\n      </ion-list>\n\n      <ion-list>\n        <ion-list-header>\n          Account\n        </ion-list-header>\n        <button ion-item menuClose *ngFor="let p of loggedInPages" (click)="openPage(p)">\n          <ion-icon item-start [name]="p.icon" [color]="isActive(p)"></ion-icon>\n          {{p.title}}\n        </button>\n      </ion-list>\n\n      <ion-list>\n        <ion-list-header>\n          Tutorial\n        </ion-list-header>\n        <button ion-item menuClose (click)="openTutorial()">\n          <ion-icon item-start name="hammer"></ion-icon>\n          Show Tutorial\n        </button>\n      </ion-list>\n\n    </ion-content>\n\n  </ion-menu>\n\n  <!-- main navigation -->\n  <ion-nav [root]="rootPage" #content swipeBackEnabled="false" main name="app"></ion-nav>\n\n</ion-split-pane>\n'/*ion-inline-end:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\app\app.template.html"*/
          }),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["e" /* Events */],
              __WEBPACK_IMPORTED_MODULE_15__providers_user_data__["a" /* UserData */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["k" /* MenuController */],
              __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["p" /* Platform */],
              __WEBPACK_IMPORTED_MODULE_14__providers_conference_data__["a" /* ConferenceData */],
              __WEBPACK_IMPORTED_MODULE_3__ionic_storage__["b" /* Storage */],
              __WEBPACK_IMPORTED_MODULE_2__ionic_native_splash_screen__["a" /* SplashScreen */]])
      ], ConferenceApp);
      return ConferenceApp;
  }());
  
  //# sourceMappingURL=app.component.js.map
  
  /***/ }),
  
  /***/ 295:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MapPage; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__providers_conference_data__ = __webpack_require__(19);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_ionic_angular__ = __webpack_require__(10);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  
  var MapPage = (function () {
      function MapPage(confData, platform) {
          this.confData = confData;
          this.platform = platform;
      }
      MapPage.prototype.ionViewDidLoad = function () {
          var _this = this;
          this.confData.getMap().subscribe(function (mapData) {
              var mapEle = _this.mapElement.nativeElement;
              var map = new google.maps.Map(mapEle, {
                  center: mapData.find(function (d) { return d.center; }),
                  zoom: 16
              });
              mapData.forEach(function (markerData) {
                  var infoWindow = new google.maps.InfoWindow({
                      content: "<h5>" + markerData.name + "</h5>"
                  });
                  var marker = new google.maps.Marker({
                      position: markerData,
                      map: map,
                      title: markerData.name
                  });
                  marker.addListener('click', function () {
                      infoWindow.open(map, marker);
                  });
              });
              google.maps.event.addListenerOnce(map, 'idle', function () {
                  mapEle.classList.add('show-map');
              });
          });
      };
      __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["_8" /* ViewChild */])('mapCanvas'),
          __metadata("design:type", __WEBPACK_IMPORTED_MODULE_0__angular_core__["t" /* ElementRef */])
      ], MapPage.prototype, "mapElement", void 0);
      MapPage = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
              selector: 'page-map',template:/*ion-inline-start:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\map\map.html"*/'<ion-header>\n  <ion-navbar>\n    <button ion-button menuToggle>\n      <ion-icon name="menu"></ion-icon>\n    </button>\n    <ion-title>Map</ion-title>\n  </ion-navbar>\n</ion-header>\n\n<ion-content class="map-page">\n  <div style="height: 100%; width: 100%" #mapCanvas id="map_canvas"></div>\n</ion-content>\n'/*ion-inline-end:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\map\map.html"*/
          }),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1__providers_conference_data__["a" /* ConferenceData */], __WEBPACK_IMPORTED_MODULE_2_ionic_angular__["p" /* Platform */]])
      ], MapPage);
      return MapPage;
  }());
  
  //# sourceMappingURL=map.js.map
  
  /***/ }),
  
  /***/ 31:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return UserData; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(10);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ionic_storage__ = __webpack_require__(53);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  
  var UserData = (function () {
      function UserData(events, storage) {
          this.events = events;
          this.storage = storage;
          this._favorites = [];
          this.HAS_LOGGED_IN = 'hasLoggedIn';
          this.HAS_SEEN_TUTORIAL = 'hasSeenTutorial';
      }
      UserData.prototype.hasQuickView = function (taskName) {
          return (this._favorites.indexOf(taskName) > -1);
      };
      ;
      UserData.prototype.addQuickView = function (taskName) {
          this._favorites.push(taskName);
      };
      ;
      UserData.prototype.removeQuickView = function (taskName) {
          var index = this._favorites.indexOf(taskName);
          if (index > -1) {
              this._favorites.splice(index, 1);
          }
      };
      ;
      UserData.prototype.login = function (username) {
          this.storage.set(this.HAS_LOGGED_IN, true);
          this.setUsername(username);
          this.events.publish('user:login');
      };
      ;
      UserData.prototype.signup = function (username) {
          this.storage.set(this.HAS_LOGGED_IN, true);
          this.setUsername(username);
          this.events.publish('user:signup');
      };
      ;
      UserData.prototype.logout = function () {
          this.storage.remove(this.HAS_LOGGED_IN);
          this.storage.remove('username');
          this.events.publish('user:logout');
      };
      ;
      UserData.prototype.setUsername = function (username) {
          this.storage.set('username', username);
      };
      ;
      UserData.prototype.getUsername = function () {
          return this.storage.get('username').then(function (value) {
              return value;
          });
      };
      ;
      UserData.prototype.hasLoggedIn = function () {
          return this.storage.get(this.HAS_LOGGED_IN).then(function (value) {
              return value === true;
          });
      };
      ;
      UserData.prototype.checkHasSeenTutorial = function () {
          return this.storage.get(this.HAS_SEEN_TUTORIAL).then(function (value) {
              return value;
          });
      };
      ;
      UserData = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["A" /* Injectable */])(),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["e" /* Events */],
              __WEBPACK_IMPORTED_MODULE_2__ionic_storage__["b" /* Storage */]])
      ], UserData);
      return UserData;
  }());
  
  //# sourceMappingURL=user-data.js.map
  
  /***/ }),
  
  /***/ 42:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return TabsPage; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tools_tools__ = __webpack_require__(106);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_ionic_angular__ = __webpack_require__(10);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__about_about__ = __webpack_require__(105);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__task_list_task_list__ = __webpack_require__(107);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__contact_list_contact_list__ = __webpack_require__(109);
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
      else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
      return c > 3 && r && Object.defineProperty(target, key, r), r;
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  
  
  
  
  //import { MapPage } from '../map/map';
  
  
  var TabsPage = (function () {
      function TabsPage(navParams) {
          // set the root pages for each tab
          this.tab1Root = __WEBPACK_IMPORTED_MODULE_4__task_list_task_list__["a" /* TaskListPage */];
          this.tab2Root = __WEBPACK_IMPORTED_MODULE_5__contact_list_contact_list__["a" /* ContactListPage */];
          this.tab3Root = __WEBPACK_IMPORTED_MODULE_0__tools_tools__["a" /* ToolsPage */];
          this.tab4Root = __WEBPACK_IMPORTED_MODULE_3__about_about__["a" /* AboutPage */];
          this.mySelectedIndex = navParams.data.tabIndex || 0;
      }
      TabsPage = __decorate([
          Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["m" /* Component */])({template:/*ion-inline-start:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\tabs-page\tabs-page.html"*/'<ion-tabs [selectedIndex]="mySelectedIndex" name="conference">\n  <ion-tab [root]="tab1Root" tabTitle="Task List" tabIcon="calendar"></ion-tab>\n  <ion-tab [root]="tab2Root" tabTitle="Contacts" tabIcon="contacts"></ion-tab>\n  <ion-tab [root]="tab3Root" tabTitle="Tools" tabIcon="hammer"></ion-tab>\n  <ion-tab [root]="tab4Root" tabTitle="About" tabIcon="information-circle"></ion-tab>\n</ion-tabs>\n'/*ion-inline-end:"C:\Users\kerrj\Code\Ionic\moveApp\moveApp\src\pages\tabs-page\tabs-page.html"*/
          }),
          __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_2_ionic_angular__["o" /* NavParams */]])
      ], TabsPage);
      return TabsPage;
  }());
  
  //# sourceMappingURL=tabs-page.js.map
  
  /***/ })
  
  },[215]);
  //# sourceMappingURL=main.js.map