<!DOCTYPE html>
<html class='{{ globalState.displayAlignment }}' lang='{{ selectedLocale.lang_code }}'>
<head>
<meta charset='UTF-8'>
<meta content='IE=edge,chrome=1' http-equiv='X-UA-Compatible'>
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0,user-scalable=no' name='viewport'>
<meta content='black-translucent' name='apple-mobile-web-app-status-bar-style'>
<meta content='yes' name='apple-mobile-web-app-capable'>
<meta name='google' value='notranslate'>
<meta content='K0MakaChlI5s9r7Y8jDMKgqkK4T23K--eikmGGFBics' name='google-site-verification'>
<meta content='3710747612763141776375' property='qc:admins'>
<title>JAL Mileage Bank World Marketplace</title>
<meta content='JAL Mileage Bank World Marketplace, Global Travel and Shopping.' name='description'>
<base href='/'>
<!-- DNS prewarming to avoid intermitten delay in dns resolution -->
<link href='//s3-ap-southeast-1.amazonaws.com' rel='dns-prefetch'>
<link href='//d2xr67b5foriew.cloudfront.net' rel='dns-prefetch'>
<link href='//cloud.typography.com' rel='dns-prefetch'>
<link href='//www.google-analytics.com' rel='dns-prefetch'>
<link href='//kaligopress.herokuapp.com' rel='dns-prefetch'>
<link href='https://www.kaligo.com/assets/application-343e7ec5d91ec2b1306749f1f1377921a6dd7a4666ee69a2e010b98c9b85373b.css' media='all' rel='stylesheet'>
<link href='https://www.kaligo.com/assets/v2/kaligo-927a78c29168cef9b01b99c926ff1e3a6d12d8cbb122a2dcad960d634a27885f.css' media='all' rel='stylesheet'>
<link href='https://www.kaligo.com/assets/v2/kaligo2-0d92c5db2621d4f912e895bf2610c337d09e34b92ff2c49971d9c80c384f2cbb.css' media='all' rel='stylesheet'>

<link href='https://www.kaligo.com/assets/cars-39e94617b90cc58bdde392cb9c93927331b29d526583cfe2ebcb3e5ca2355ef1.css' media='all' rel='stylesheet'>

<link href='https://www.kaligo.com/assets/whitelabel/jal/jal-9d44fe7c17cbd22c376c1d81b6a0e20977530ea2e76175cab3a366bfa15692b9.css' media='all' rel='stylesheet'>
<script src="https://www.kaligo.com/packs/518-27d071be855dc3930416.js" defer="defer"></script>
<script src="https://www.kaligo.com/packs/552-47046f233370c1d19ac7.js" defer="defer"></script>
<script src="https://www.kaligo.com/packs/779-1b094dcc8b2eecbf6cf3.js" defer="defer"></script>
<script src="https://www.kaligo.com/packs/936-b9df9a28e5874f41edc1.js" defer="defer"></script>
<script src="https://www.kaligo.com/packs/828-8dcac4332fbc5c467df7.js" defer="defer"></script>
<script src="https://www.kaligo.com/packs/jal-6bd24bb683474070e49b.js" defer="defer"></script>
<link rel="stylesheet" href="https://www.kaligo.com/packs/css/552-b2a6f535.css" defer="defer" />
<!-- Unfortunately Stripe does not recommend self-hosting this JS file, so we load from CDN -->
<script src='https://js.stripe.com/v3/'></script>
<script>
  var stripe = Stripe('pk_live_yU30Pd1u2Tp4WWTJjg0euqfh')
</script>

<!-- Unfortunately Stripe does not recommend self-hosting this JS file, so we load from CDN -->
<script src='https://js.stripe.com/v2/'></script>
<script>
  Stripe.setPublishableKey('pk_live_yU30Pd1u2Tp4WWTJjg0euqfh')
</script>

<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="6rgDKRiK1XjkwgTGpJZvLjBWy23PsPuvVCosc1pP3Z9cTwj4Ps58350rce-IPd-0CIbCM0b98r5NInG5xVoqEQ" />

<!-- favicon types -->
<link href='https://cdn-s3.kaligo.com/assets/images/jal/favicon.ico' rel='shortcut icon' type='image/x-icon'>
</head>
<body class='{{ $root.navBarClass }} locale-{{selectedLocale.code}} currency-{{selectedCurrency.code}} {{ globalStateService.TravelType }}' ng-class='lockBody' ng-controller='MainCtrl' watch-width=''>
<!-- Load tracking libraries only for the production environment to reduce noise -->
<google-analytics></google-analytics>
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-MH3SH9" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
    '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-MH3SH9');</script>
<!-- End Google Tag Manager -->


<div id='checkout_enrollment_form' style='display: none'></div>
<style parse-style='$root.landingPage.styles' type='text/css'></style>
<style>
  hotel-result-filter-mobile #mobile-popup-header,
  hotel-result-sort-mobile #mobile-popup-header,
  hotel-result-map-mobile #mobile-popup-header,
  .room-details-modal .title-content {
    background-color: {{ pointsPartner.settings.colors.backgroundColor }};
  }
  .partner-bg-color,
  #search-bottom-sheet {
    background-color: {{ pointsPartner.settings.colors.backgroundColor }};
  }
  .color-points {
    color: {{ pointsPartner.settings.colors.fontColor }};
  }
</style>

<div id='main' ng-cloak='' ng-controller='JalController as ctrl' role='main'>
<jal-header></jal-header>
<jal-navigation-bar></jal-navigation-bar>
<div class='mainWrapper'>
<div autoscroll='true' class='angularWrapper' ng-view=''></div>

</div>
<div class='overlay ng-hide hidden-md hidden-lg' ng-click='globalState.showNavMenu = false' ng-show='globalState.showNavMenu'></div>
<div class='hidden-lg hidden-md ng-cloak ng-hide' id='menu-popup' ng-class='{&#39;is-shown&#39;: globalState.showNavMenu}' ng-controller='NavBarCtrl' ng-show='globalState.loaded'>
<div class='wrapper'>
<a class='closer' ng-click='globalState.showNavMenu = false'>✕</a>
<div class='nav-group-box'>
<div class='logged-in-section' ng-if='$root.userDetails.loggedIn'>
<div class='nav-list-item user-details'>
<div class='membership-no'>
<span translate='wl.jal.jmb_membership_no'></span>
<span ng-bind='$root.userDetails.user.redemption_member_no'></span>
</div>
<div class='miles-details'>
<div class='personal-miles'>
<span translate='wl.jal.personal_miles'></span>
<span class='amount' ng-bind='$root.userDetails.user.redemption_points_balance.toLocaleString()'></span>
</div>
<div class='family-miles' ng-if='$root.userDetails.user.redemption_points_balance != $root.userDetails.user.family_miles'>
<span translate='wl.jal.family_miles'></span>
<span class='amount' ng-bind='$root.userDetails.user.family_miles.toLocaleString()'></span>
</div>
</div>
</div>
<div class='nav-list-item' ng-click='goToPage($event, &#39;/account/booking&#39;)'>
<div class='nav-label'>
<a href='/account/booking' translate='account.my_travel_bookings'></a>
</div>
<div class='chevron-right'></div>
</div>
</div>
<div class='not-logged-in-section' ng-if='!$root.userDetails.loggedIn'>
<div class='nav-list-item'>
<div class='welcome-text'>
<div class='login-text'>
<a ng-click='jalLoginRedirect()' translate='wl.log_in'></a>
<span translate='txt.show_your_miles_balance'></span>
</div>
</div>
</div>
<div class='nav-list-item'>
<div class='nav-label'>
<a ng-click='jalLoginRedirect()' translate='txt.view_miles_and_booking'></a>
</div>
<div class='chevron-right'></div>
</div>
</div>
<div class='common-section'>
<div class='nav-list-item config'>
<div class='nav-label' translate='Language'></div>
<div class='nav-value'>
<div class='flag flag-{{ selectedLocale.flag_code }}'></div>
</div>
<div class='chevron-right'></div>
<select class='hiding' ng-change='globalState.changeLocale()' ng-model='$root.selectedLocale' ng-options='locale as locale.text for locale in enabledLocales'></select>
</div>
<div class='nav-list-item config'>
<div class='nav-label' translate='Currency'></div>
<div class='nav-value' ng-bind='selectedCurrency.text'></div>
<div class='chevron-right'></div>
<select class='hiding' ng-change='globalState.changeCurrency()' ng-model='$root.selectedCurrency' ng-options='currency as currency.text for currency in allCurrencies'></select>
</div>
</div>
<div class='logged-in-section' ng-if='$root.userDetails.loggedIn'>
<div class='nav-list-item logout'>
<div class='nav-label'>
<i class='fa fa-sign-out'></i>
<a ng-click='redirectTo(&quot;/whitelabel/jal/logout&quot;)' translate='txt.log_out'></a>
</div>
</div>
</div>
</div>
</div>
</div>

<footer class='ng-cloak'>
<footer-component></footer-component>
</footer>
<div class='select2-drop-mask style-mask ng-cloak' ng-show='isSelect2DropDownOpen'></div>
</div>
<div class='cancellation-policy-overlay popup' ng-class='{&#39;is-shown&#39;: $root.globalState.isCancellationPolicyError}'>
<div class='content'>
<div class='info-container'>
<em class='fa fa-exclamation inline-element'></em>
<span class='text inline-element' translate='cancellation_policy_error_message'></span>
</div>
<a class='back' href='' ng-click='redirectToHotelDetailsPage()' title='Back to hotel details page' translate='cancellation_policy_error_button'></a>
</div>
</div>

<div class='partner-selector ng-cloak' ng-if='searchState.isSelectingPartner' partner-selector=''>
<div class='modal-backdrop' ng-click='searchState.finishSelectPartner()'></div>
<div class='content'>
<div class='selector-header'>
<span translate='Choose a partner for earning rewards'></span>
<a class='closer pull-right' ng-click='searchState.finishSelectPartner()'>✕</a>
</div>
<div class='selector-footer'>
<img cdn-path='/icon-blk-arrow.png' ng-click='scroll($event)'>
</div>
<div class='selector-body'>
<div class='partner-logo' ng-click='searchState.finishSelectPartner(partner.id)' ng-repeat='partner in pointsPartners.visible'>
<img ng-src='{{ partner.iconUrl }}'>
</div>
</div>
</div>
</div>

<script id='search bar' type='text/ng-template'>
<div class='search-bar' ng-controller='HotelsSearchBarCtrl'>
<div class='max-size'>
<div class='search-state-bar clearfix hidden-xs hidden-sm'>
<div class='col pull-left col-destination' ng-click='editSearch()'>
<div>
<label translate='Destination or Hotel'></label><span class='extra-colon'>:</span></div>
<div class='value' ng-bind='$root.destination'></div>
</div>
<div class='col pull-left col-duration'>
<div class='pull-left col-check-in' ng-click='editSearch()'>
<label translate='label.stay_period'></label><span class='extra-colon'>:</span><div class='value'>
<span class='value' ng-bind='displayCheckInDateShort'></span>
<span>-</span>
<span class='value' ng-bind='displayCheckOutDateShort'></span>
</div>
</div>
</div>
<div class='col pull-left col-info'>
<div class='pull-left col-rooms' ng-click='editSearch()'>
<label for='roomCount' translate='label.rooms'></label><span class='extra-colon'>:</span><div class='value' ng-bind='$root.roomCount'></div>
</div>
<div class='pull-left col-guests' ng-click='editSearch()'>
<label class='adult-count'>
<span for='adultCount' translate='label.guests'></span><span>/</span><span translate='label.room'></span>
</label><span class='extra-colon'>:</span><div class='value adult-count'>
<span ng-if='adultCount == 1' translate='count.adult_one'></span>
<span ng-if='adultCount &gt; 1' translate-values='{ count: &#39;{{ adultCount }}&#39; }' translate='count.adult_other'></span><span class='extra-colon' ng-if='childrenCount &gt; 0'>,</span><span class='value children-count' ng-if='childrenCount &gt; 0'>
<span ng-if='childrenCount == 1' translate='count.children_one'></span>
<span ng-if='childrenCount &gt; 1' translate-values='{ count: &#39;{{ childrenCount }}&#39; }' translate='count.children_other'></span>
</span>
</div>
</div>
</div>
<div class='col pull-right edit-search'>
<div ng-click='editSearch()' role='link' tabindex='0'>
<label translate='txt.modify_search'></label>
<i class='fa fa-search fa-flip-horizontal'></i>
</div>
</div>
</div>
</div>
</div>
<div class='max-size hidden-xs hidden-sm'>
<div class='sticky-banner'>
<coupon-code-banner></coupon-code-banner>
</div>
</div>
<div class='max-size' ng-if='globalStateService.currentPage == &quot;hotel-detail&quot;'>
<div class='back-to-result-bar clearfix'>
<div class='col' ng-click='backToSearchResultsPage()'>
<div class='back-navigation hidden-xs hidden-sm'>
<em class='fa fa-arrow-left'></em>
<span class='text capitalize' translate='Back to search results'></span>
</div>
</div>
</div>
</div>

</script>
<script id='search summary' type='text/ng-template'>
<div class='mobile-back-to-search-page' ng-click='backToSearchResultsPage()' ng-if='globalStateService.currentPage == &quot;hotel-detail&quot;'>
<em class='fa fa-angle-left'></em>
</div>
<div class='search-summary' ng-class='{ &#39;full&#39;: !(globalStateService.currentPage === &#39;hotel-detail&#39;) }'>
<div class='summary-container' ng-click='editSearch()' role='link'>
<div class='search-info'>
<div class='destination-container'>
<div class='destination' ng-bind='::destination'></div>
<div class='modify' translate='Modify'></div>
</div>
<div class='summary'>
<span class='check-in' ng-bind='displayCheckInDateShort'></span><span>&nbsp; - &nbsp;</span><span class='check-out' ng-bind='displayCheckOutDateShort'></span><span>,&nbsp;</span><span class='room-count' translate-values='{ count: &#39;{{ $root.roomCount }}&#39; }' translate='wl.room_count'></span><span>&nbsp | &nbsp;</span><span class='capitalize' ng-if='adultCount == 1' translate='count.adult_one'></span>
<span class='capitalize' ng-if='adultCount &gt; 1' translate-values='{ count: &#39;{{ adultCount }}&#39; }' translate='count.adult_other'></span>
<span class='value children-count' ng-if='childrenCount &gt; 0'><span class='extra-colon'>,</span><span class='capitalize' ng-if='childrenCount == 1' translate='count.children_one'></span>
<span class='capitalize' ng-if='childrenCount &gt; 1' translate-values='{ count: &#39;{{ childrenCount }}&#39; }' translate='count.children_other'></span>
</span>
<div class='number-of-days-container'>
<div class='number-of-day' ng-bind='$root.duration'></div>
<div class='night-logo'>
<img cdn-path='/jal/icons/night-icon-black.svg'>
</div>
</div>
</div>
</div>
</div>
</div>

</script>
<script id='/html/modals/miles_check_modal' type='text/ng-template'>
<div id='login-prompt'>
<a class='modal-closer' ng-click='popup.cancel()'>
<span class='close-text capitalize' translate='close'></span>
<span class='close-symbol'>✕</span>
</a>
<div class='modal-header'>
<h4 class='uppercase' translate='wl.jal.miles_check_title'></h4>
</div>
<div class='modal-body'>
<div class='info-container'>
<label class='modal-message' translate='wl.jal.miles_check_message'></label>
<div class='modal-button'>
<a class='btn-action' ng-click='popup.cancel()' target='_self'>
<span class='uppercase' translate='Ok'></span>
</a>
</div>
</div>
</div>
</div>

</script>
<script id='/html/modals/hotels_search' type='text/ng-template'>
<div class='modal-body'>
<a class='modal-closer' ng-click='close()'>
<span class='close-text' translate='close'></span>
<span class='x-text'>✕</span>
</a>
<hotels-edit-search-form></hotels-edit-search-form>
</div>

</script>
<script id='/html/modals/cars_search' type='text/ng-template'>
<div class='modal-body'>
<a class='modal-closer' ng-click='closeModal()'>
<span class='close-text' translate='close'></span>
<span class='x-text'>✕</span>
</a>
<cars-edit-search-form on-search='closeModal()'></cars-edit-search-form>
</div>

</script>
<script id='/html/modals/cars_search' type='text/ng-template'>
<div class='modal-body'>
<a class='modal-closer' ng-click='closeModal()'>
<span class='close-text' translate='close'></span>
<span class='x-text'>✕</span>
</a>
<cars-edit-search-form on-search='closeModal()'></cars-edit-search-form>
</div>

</script>
<noscript>
<div class='popUp table-layout ng-hide' id='noscript'>
<div class='col'>
<div class='content'>
<div class='title'>
<em class='fa fa-exclamation-circle navy-blue'></em>
<span>
It seems JavaScript is either disabled or not supported by your browser
</span>
</div>
<p>
For a better experience on Kaligo, enable JavaScript in your browser, then try again.
</p>
<a class='btn-primary btn'>ok</a>
</div>
</div>
</div>
</noscript>

<script>
  if (!window.KaligoConfig) window.KaligoConfig = {};
  // get the subdomain info from the server.
  window.KaligoConfig['subdomain'] = 'travel';
  window.KaligoConfig['cdnUrl'] = 'https://cdn-s3.kaligo.com';
  window.KaligoConfig['cdnImageUrl'] = 'https://cdn-s3.kaligo.com/assets/images';
  window.KaligoConfig['APP_VERSION'] = '2.2.0';
  window.KaligoConfig['isProduction'] = true;
  window.KaligoConfig['environment'] = "production";
  window.KaligoConfig['highResImagesCdnUrl'] = "https://d2ey9sqrvkqdfs.cloudfront.net";
  
  // Angular v2
  window.KaligoConfig['appVersion'] = '2.2.0';
</script>

<script>
  getQueryParams = function() {
    return window.location.search.split("?")[1];
  }
  
  determineProductType = function(url, options) {
    switch(url) {
      case options.redeemUrl:
        return 'redeem';
      case options.voucherUrl:
        return 'voucher';
      case options.complimentaryNightsUrl:
        return 'complimentary_nights'
      case options.cashVoucherUrl:
        return 'cash-voucher';
      case options.earnUrl:
      default:
        return 'earn';
    }
  }
  
  getDLPInfoFromUrl = function(options) {
    queryParams = getQueryParams()
    if (queryParams) {
      var params = queryParams.split("&");
      for (i = 0; i < params.length; i++ ){
        var item = params[i].split("=");
        if(item[0] == 'landingPage') {
          return {dlp: item[1], productType: determineProductType(item[1], options)}
        }
      }
    }
    // defaults
    return options.default;
  }
</script>

<script>
  (function() {
    window.KaligoConfig['APPLICATION_TYPE'] = 'whitelabel';
  
    var dlpInfo = getDLPInfoFromUrl({
      default: {dlp: 'wl-jal-redeem', productType: 'redeem'},
      earnUrl: "wl-jal-earn",
      redeemUrl: "wl-jal-redeem"
    });
  
    window.KaligoConfig['WHITELABEL_PARTNER'] = 'jal';
    window.KaligoConfig['WHITELABEL_APP'] = 'JAL';
    window.KaligoConfig['DISPLAY_COMPARE_RATE'] = true;
    window.KaligoConfig['PRODUCT_TYPE'] = dlpInfo.productType;
    window.KaligoConfig['DLP'] = dlpInfo.dlp;
    window.KaligoConfig['JAL_SHOP_REDEEM_URL'] = "https://shop.jmbworldmarketplace.com/shopwithmiles";
  })()
</script>

<script>
  var _rollbarConfig = {
    accessToken: "ee3dd83a16454861b33e05486b964faf",
    captureUncaught: true,
    captureUnhandledRejections: false,
    payload: { environment: "production" }
  };
  !function(r){function e(n){if(o[n])return o[n].exports;var t=o[n]={exports:{},id:n,loaded:!1};return r[n].call(t.exports,t,t.exports,e),t.loaded=!0,t.exports}var o={};return e.m=r,e.c=o,e.p="",e(0)}([function(r,e,o){"use strict";var n=o(1),t=o(4);_rollbarConfig=_rollbarConfig||{},_rollbarConfig.rollbarJsUrl=_rollbarConfig.rollbarJsUrl||"https://cdnjs.cloudflare.com/ajax/libs/rollbar.js/2.3.8/rollbar.min.js",_rollbarConfig.async=void 0===_rollbarConfig.async||_rollbarConfig.async;var a=n.setupShim(window,_rollbarConfig),l=t(_rollbarConfig);window.rollbar=n.Rollbar,a.loadFull(window,document,!_rollbarConfig.async,_rollbarConfig,l)},function(r,e,o){"use strict";function n(r){return function(){try{return r.apply(this,arguments)}catch(r){try{console.error("[Rollbar]: Internal error",r)}catch(r){}}}}function t(r,e){this.options=r,this._rollbarOldOnError=null;var o=s++;this.shimId=function(){return o},"undefined"!=typeof window&&window._rollbarShims&&(window._rollbarShims[o]={handler:e,messages:[]})}function a(r,e){if(r){var o=e.globalAlias||"Rollbar";if("object"==typeof r[o])return r[o];r._rollbarShims={},r._rollbarWrappedError=null;var t=new p(e);return n(function(){e.captureUncaught&&(t._rollbarOldOnError=r.onerror,i.captureUncaughtExceptions(r,t,!0),i.wrapGlobals(r,t,!0)),e.captureUnhandledRejections&&i.captureUnhandledRejections(r,t,!0);var n=e.autoInstrument;return e.enabled!==!1&&(void 0===n||n===!0||"object"==typeof n&&n.network)&&r.addEventListener&&(r.addEventListener("load",t.captureLoad.bind(t)),r.addEventListener("DOMContentLoaded",t.captureDomContentLoaded.bind(t))),r[o]=t,t})()}}function l(r){return n(function(){var e=this,o=Array.prototype.slice.call(arguments,0),n={shim:e,method:r,args:o,ts:new Date};window._rollbarShims[this.shimId()].messages.push(n)})}var i=o(2),s=0,d=o(3),c=function(r,e){return new t(r,e)},p=d.bind(null,c);t.prototype.loadFull=function(r,e,o,t,a){var l=function(){var e;if(void 0===r._rollbarDidLoad){e=new Error("rollbar.js did not load");for(var o,n,t,l,i=0;o=r._rollbarShims[i++];)for(o=o.messages||[];n=o.shift();)for(t=n.args||[],i=0;i<t.length;++i)if(l=t[i],"function"==typeof l){l(e);break}}"function"==typeof a&&a(e)},i=!1,s=e.createElement("script"),d=e.getElementsByTagName("script")[0],c=d.parentNode;s.crossOrigin="",s.src=t.rollbarJsUrl,o||(s.async=!0),s.onload=s.onreadystatechange=n(function(){if(!(i||this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState)){s.onload=s.onreadystatechange=null;try{c.removeChild(s)}catch(r){}i=!0,l()}}),c.insertBefore(s,d)},t.prototype.wrap=function(r,e,o){try{var n;if(n="function"==typeof e?e:function(){return e||{}},"function"!=typeof r)return r;if(r._isWrap)return r;if(!r._rollbar_wrapped&&(r._rollbar_wrapped=function(){o&&"function"==typeof o&&o.apply(this,arguments);try{return r.apply(this,arguments)}catch(o){var e=o;throw"string"==typeof e&&(e=new String(e)),e._rollbarContext=n()||{},e._rollbarContext._wrappedSource=r.toString(),window._rollbarWrappedError=e,e}},r._rollbar_wrapped._isWrap=!0,r.hasOwnProperty))for(var t in r)r.hasOwnProperty(t)&&(r._rollbar_wrapped[t]=r[t]);return r._rollbar_wrapped}catch(e){return r}};for(var u="log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad".split(","),f=0;f<u.length;++f)t.prototype[u[f]]=l(u[f]);r.exports={setupShim:a,Rollbar:p}},function(r,e){"use strict";function o(r,e,o){if(r){var t;"function"==typeof e._rollbarOldOnError?t=e._rollbarOldOnError:r.onerror&&!r.onerror.belongsToShim&&(t=r.onerror,e._rollbarOldOnError=t);var a=function(){var o=Array.prototype.slice.call(arguments,0);n(r,e,t,o)};a.belongsToShim=o,r.onerror=a}}function n(r,e,o,n){r._rollbarWrappedError&&(n[4]||(n[4]=r._rollbarWrappedError),n[5]||(n[5]=r._rollbarWrappedError._rollbarContext),r._rollbarWrappedError=null),e.handleUncaughtException.apply(e,n),o&&o.apply(r,n)}function t(r,e,o){if(r){"function"==typeof r._rollbarURH&&r._rollbarURH.belongsToShim&&r.removeEventListener("unhandledrejection",r._rollbarURH);var n=function(r){var o,n,t;try{o=r.reason}catch(r){o=void 0}try{n=r.promise}catch(r){n="[unhandledrejection] error getting `promise` from event"}try{t=r.detail,!o&&t&&(o=t.reason,n=t.promise)}catch(r){t="[unhandledrejection] error getting `detail` from event"}o||(o="[unhandledrejection] error getting `reason` from event"),e&&e.handleUnhandledRejection&&e.handleUnhandledRejection(o,n)};n.belongsToShim=o,r._rollbarURH=n,r.addEventListener("unhandledrejection",n)}}function a(r,e,o){if(r){var n,t,a="EventTarget,Window,Node,ApplicationCache,AudioTrackList,ChannelMergerNode,CryptoOperation,EventSource,FileReader,HTMLUnknownElement,IDBDatabase,IDBRequest,IDBTransaction,KeyOperation,MediaController,MessagePort,ModalWindow,Notification,SVGElementInstance,Screen,TextTrack,TextTrackCue,TextTrackList,WebSocket,WebSocketWorker,Worker,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload".split(",");for(n=0;n<a.length;++n)t=a[n],r[t]&&r[t].prototype&&l(e,r[t].prototype,o)}}function l(r,e,o){if(e.hasOwnProperty&&e.hasOwnProperty("addEventListener")){for(var n=e.addEventListener;n._rollbarOldAdd&&n.belongsToShim;)n=n._rollbarOldAdd;var t=function(e,o,t){n.call(this,e,r.wrap(o),t)};t._rollbarOldAdd=n,t.belongsToShim=o,e.addEventListener=t;for(var a=e.removeEventListener;a._rollbarOldRemove&&a.belongsToShim;)a=a._rollbarOldRemove;var l=function(r,e,o){a.call(this,r,e&&e._rollbar_wrapped||e,o)};l._rollbarOldRemove=a,l.belongsToShim=o,e.removeEventListener=l}}r.exports={captureUncaughtExceptions:o,captureUnhandledRejections:t,wrapGlobals:a}},function(r,e){"use strict";function o(r,e){this.impl=r(e,this),this.options=e,n(o.prototype)}function n(r){for(var e=function(r){return function(){var e=Array.prototype.slice.call(arguments,0);if(this.impl[r])return this.impl[r].apply(this.impl,e)}},o="log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad".split(","),n=0;n<o.length;n++)r[o[n]]=e(o[n])}o.prototype._swapAndProcessMessages=function(r,e){this.impl=r(this.options);for(var o,n,t;o=e.shift();)n=o.method,t=o.args,this[n]&&"function"==typeof this[n]&&("captureDomContentLoaded"===n||"captureLoad"===n?this[n].apply(this,[t[0],o.ts]):this[n].apply(this,t));return this},r.exports=o},function(r,e){"use strict";r.exports=function(r){return function(e){if(!e&&!window._rollbarInitialized){r=r||{};for(var o,n,t=r.globalAlias||"Rollbar",a=window.rollbar,l=function(r){return new a(r)},i=0;o=window._rollbarShims[i++];)n||(n=o.handler),o.handler._swapAndProcessMessages(l,o.messages);window[t]=n,window._rollbarInitialized=!0}}}}]);
</script>

<div class='popup' ng-hide='!$root.isLoading || globalState.isNewSearch'>
<div class='loading-gif-container'>
<img alt='Loading' class='loading-gif' height='200' loop='infinite' src='https://cdn-s3.kaligo.com/assets/images/common/icons/loading.svg' width='200'>
</div>
</div>

</body>
</html>
