"),t.close()),t)return(n=t.createElement("base")).href=o,t.getElementsByTagName("head")[0].appendChild(n),(r=t.createElement("a")).href=a,r.href;throw Error("base not supported")}finally{e&&e.parentNode.removeChild(e)}}():a)||""),(e=new c(t.search?t.search.substring(1):null))._url_object=this,Object.defineProperties(this,{href:{get:function(){return t.href},set:function(e){t.href=e,n(),r()},enumerable:!0,configurable:!0},origin:{get:function(){return"data:"===this.protocol.toLowerCase()?null:"origin"in t?t.origin:this.protocol+"//"+this.host},enumerable:!0,configurable:!0},protocol:{get:function(){return t.protocol},set:function(e){t.protocol=e},enumerable:!0,configurable:!0},username:{get:function(){return t.username},set:function(e){t.username=e},enumerable:!0,configurable:!0},password:{get:function(){return t.password},set:function(e){t.password=e},enumerable:!0,configurable:!0},host:{get:function(){var e={"http:":/:80$/,"https:":/:443$/,"ftp:":/:21$/}[t.protocol];return e?t.host.replace(e,""):t.host},set:function(e){t.host=e},enumerable:!0,configurable:!0},hostname:{get:function(){return t.hostname},set:function(e){t.hostname=e},enumerable:!0,configurable:!0},port:{get:function(){return t.port},set:function(e){t.port=e},enumerable:!0,configurable:!0},pathname:{get:function(){return"/"!==t.pathname.charAt(0)?"/"+t.pathname:t.pathname},set:function(e){t.pathname=e},enumerable:!0,configurable:!0},search:{get:function(){return t.search},set:function(e){t.search!==e&&(t.search=e,n(),r())},enumerable:!0,configurable:!0},searchParams:{get:function(){return e},enumerable:!0,configurable:!0},hash:{get:function(){return t.hash},set:function(e){t.hash=e,n()},enumerable:!0,configurable:!0},toString:{value:function(){return t.toString()},enumerable:!1,configurable:!0},valueOf:{value:function(){return t.valueOf()},enumerable:!1,configurable:!0}}),this;throw new TypeError("Failed to construct 'URL': Please use the 'new' operator.");function n(){var e=t.href.replace(/#$|\?$|\?(?=#)/g,"");t.href!==e&&(t.href=e)}function r(){e._setList(t.search?l(t.search.substring(1)):[]),e._update_steps()}}if(Object.defineProperties(c.prototype,{append:{value:function(e,t){this._list.push({name:e,value:t}),this._update_steps()},writable:!0,enumerable:!0,configurable:!0},delete:{value:function(e){for(var t=0;ti[0]&&a[1]=n.length?void 0:n)&&n[e++],done:!n}}};throw new TypeError(a?"Object is not iterable.":"Symbol.iterator is not defined.")},c=function(n,a){var t="function"==typeof Symbol&&n[Symbol.iterator];if(!t)return n;var e,r,u=t.call(n),i=[];try{for(;(void 0===a||0a[0]?1:0}function o(n,a){return n.typea.type?1:0}function L(n){var a=n;if(n.variants.length)for(var t="",e=0,r=n.variants;e\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20BF\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC1\uFDFC\uFDFD\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEE0-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDD78\uDD7A-\uDDCB\uDDCD-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6\uDF00-\uDF92\uDF94-\uDFCA]/,p=(new RegExp("^"+p.source),new RegExp(p.source+"$"),a(y()));f=Error,(0,p.__extends)(A,f);function A(){var n=null!==f&&f.apply(this,arguments)||this;return n.type="MISSING_LOCALE_DATA",n}var v=a(i()),p=a(h()),C=new WeakMap;function D(n){var a=C.get(n);return a||(a=Object.create(null),C.set(n,a)),a}var M=p.supplemental.likelySubtags,i=["ca","co","hc","kf","kn","nu"],E=/^[a-z0-9]{3,8}(-[a-z0-9]{3,8})*$/i;function N(n,a,t,e,r){return void 0===e&&(e=[]),r?{lang:n&&"und"!==n?n:r.lang,script:a||r.script,region:t||r.region,variants:(0,L.__spreadArray)((0,L.__spreadArray)([],e),r.variants)}:{lang:n||"und",script:a,region:t,variants:e}}function w(n){var n=(0,v.parseUnicodeLocaleId)(n),a=n.lang,t=a.lang,e=a.script,r=a.region,a=a.variants;if(e&&r){var u=M[(0,v.emitUnicodeLanguageId)({lang:t,script:e,region:r,variants:[]})];if(u)return u=(0,v.parseUnicodeLanguageId)(u),n.lang=N(void 0,void 0,void 0,a,u),(0,v.emitUnicodeLocaleId)(n)}if(e){var u=M[(0,v.emitUnicodeLanguageId)({lang:t,script:e,variants:[]})];if(u)return u=(0,v.parseUnicodeLanguageId)(u),n.lang=N(void 0,void 0,r,a,u),(0,v.emitUnicodeLocaleId)(n)}if(r){u=M[(0,v.emitUnicodeLanguageId)({lang:t,region:r,variants:[]})];if(u)return u=(0,v.parseUnicodeLanguageId)(u),n.lang=N(void 0,e,void 0,a,u),(0,v.emitUnicodeLocaleId)(n)}u=M[t]||M[(0,v.emitUnicodeLanguageId)({lang:"und",script:e,variants:[]})];if(u)return t=(0,v.parseUnicodeLanguageId)(u),n.lang=N(void 0,e,r,a,t),(0,v.emitUnicodeLocaleId)(n);throw new Error("No match for addLikelySubtags")}I.prototype.maximize=function(){var a=D(this).locale;try{return new I(w(a))}catch(n){return new I(a)}},I.prototype.minimize=function(){var a=D(this).locale;try{return new I(function n(a){if(t=w(a)){var t=(0,v.emitUnicodeLanguageId)((0,L.__assign)((0,L.__assign)({},(0,v.parseUnicodeLanguageId)(t)),{variants:[]})),e=(0,v.parseUnicodeLocaleId)(a),r=e.lang,u=r.lang,i=r.script,o=r.region,r=r.variants;if(w((0,v.emitUnicodeLanguageId)({lang:u,variants:[]}))===t)return(0,v.emitUnicodeLocaleId)((0,L.__assign)((0,L.__assign)({},e),{lang:N(u,void 0,void 0,r)}));if(o)if(w((0,v.emitUnicodeLanguageId)({lang:u,region:o,variants:[]}))===t)return(0,v.emitUnicodeLocaleId)((0,L.__assign)((0,L.__assign)({},e),{lang:N(u,void 0,o,r)}));if(i)if(w((0,v.emitUnicodeLanguageId)({lang:u,script:i,variants:[]}))===t)return(0,v.emitUnicodeLocaleId)((0,L.__assign)((0,L.__assign)({},e),{lang:N(u,i,void 0,r)}))}return a}(a))}catch(n){return new I(a)}},I.prototype.toString=function(){return D(this).locale},Object.defineProperty(I.prototype,"baseName",{get:function(){var n=D(this).locale;return(0,v.emitUnicodeLanguageId)((0,v.parseUnicodeLanguageId)(n))},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"calendar",{get:function(){return D(this).calendar},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"collation",{get:function(){return D(this).collation},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"hourCycle",{get:function(){return D(this).hourCycle},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"caseFirst",{get:function(){return D(this).caseFirst},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"numeric",{get:function(){return D(this).numeric},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"numberingSystem",{get:function(){return D(this).numberingSystem},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"language",{get:function(){var n=D(this).locale;return(0,v.parseUnicodeLanguageId)(n).lang},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"script",{get:function(){var n=D(this).locale;return(0,v.parseUnicodeLanguageId)(n).script},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"region",{get:function(){var n=D(this).locale;return(0,v.parseUnicodeLanguageId)(n).region},enumerable:!1,configurable:!0}),I.relevantExtensionKeys=i;p=I;function I(n,a){if(!(this&&this instanceof I?this.constructor:void 0))throw new TypeError("Intl.Locale must be called with 'new'");var t=I.relevantExtensionKeys,e=["initializedLocale","locale","calendar","collation","hourCycle","numberingSystem"];if(-1\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20BF\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC1\uFDFC\uFDFD\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEE0-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDD78\uDD7A-\uDDCB\uDDCD-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6\uDF00-\uDF92\uDF94-\uDFCA]/;new RegExp("^"+u.source),new RegExp(u.source+"$");function d(u,e,t,n,i){var r=function u(e,t,n,i,r){return D(e[t],n,i,r)}(e,"minimumIntegerDigits",1,21,1),o=e.minimumFractionDigits,a=e.maximumFractionDigits,l=e.minimumSignificantDigits,e=e.maximumSignificantDigits;u.minimumIntegerDigits=r,void 0!==l||void 0!==e?(u.roundingType="significantDigits",l=D(l,1,21,1),e=D(e,l,21,21),u.minimumSignificantDigits=l,u.maximumSignificantDigits=e):void 0!==o||void 0!==a?(u.roundingType="fractionDigits",o=D(o,0,20,t),a=D(a,o,20,Math.max(o,n)),u.minimumFractionDigits=o,u.maximumFractionDigits=a):"compact"===i?u.roundingType="compactRounding":(u.roundingType="fractionDigits",u.minimumFractionDigits=t,u.maximumFractionDigits=n)}function t(u,e,t,n){var i=n.availableLocales,r=n.relevantExtensionKeys,o=n.localeData,a=n.getDefaultLocale,n=n.getInternalSlots,e=c(e),l=Object.create(null),t=function u(e){return void 0===e?Object.create(null):f(e)}(t),n=n(u),D=(n.initializedPluralRules=!0,F(t,"localeMatcher","string",["best fit","lookup"],"best fit")),D=(l.localeMatcher=D,n.type=F(t,"type","string",["cardinal","ordinal"],"cardinal"),d(n,t,0,3,"standard"),g(i,e,l,r,o,a));return n.locale=D.locale,u}function e(u,e,t){var n=t.getInternalSlots,t=t.PluralRuleSelect,n=n(u);return p("Object"===r(n),"pl has to be an object"),p("initializedPluralRules"in n,"pluralrules must be initialized"),p("Number"===r(e),"n must be a number"),isFinite(e)?t(n.locale,n.type,e,function u(e){p("string"==typeof e,"GetOperands should have been called with a string");var t,n,i,r=l(e),o=(p(isFinite(r),"n should be finite"),e.indexOf(".")),a="",o=-1===o?(n=r,t=0):(n=e.slice(0,o),t=l(a=e.slice(o,e.length)),a.length),e=Math.abs(l(n));return a=0!==t?(i=(n=a.replace(/0+$/,"")).length,l(n)):i=0,{Number:r,IntegerDigits:e,NumberOfFractionDigits:o,NumberOfFractionDigitsWithoutTrailing:i,FractionDigits:t,FractionDigitsWithoutTrailing:a}}(o(n,e).formattedString)):"other"}function h(u,e){for(var t=[],n=0,i=e;na[a.length-1]?a[a.length-1].length-1:-1===(o=a.indexOf(c))||"0"===l[c=a[o]].other?0:c.length-l[c].other.match(/0+/)[0].length:0}}function c(n,t,e){var u,r,i,a,o,c=e;if(a=0===n?(u=m("0",c),r=0):(i=(a=n.toString()).indexOf("e"),o=(a=a.split("e"))[0],a=a[1],o=o.replace(".",""),0<=i&&o.length<=c?(r=+a,u=o+m("0",c-o.length),n):(r=f(n),i=Math.round(s(n,r-c+1)),10<=s(i,c-1)&&(r+=1,i=Math.floor(i/10)),u=i.toString(),s(i,c-1-r))),o=c-1<=r?(u+=m("0",r-c+1),r+1):0<=r?(u=u.slice(0,r+1)+"."+u.slice(r+1),r+1):(u="0."+m("0",-r-1)+u,1),0<=u.indexOf(".")&&t\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20BF\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC1\uFDFC\uFDFD\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEE0-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDD78\uDD7A-\uDDCB\uDDCD-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6\uDF00-\uDF92\uDF94-\uDFCA]/,Vn=new RegExp("^"+L.source),Xn=new RegExp(L.source+"$"),Hn=/[#0](?:[\.,][#0]+)*/g;function zn(n,t,e,u){var r,i=n.sign,a=n.exponent,o=n.magnitude,c=u.notation,l=u.style,s=u.numberingSystem,f=t.numbers.nu[0],m=null;if("compact"===c&&o&&(m=function n(t,e,u,r,i,a,o){var c,l=t.roundedNumber,s=t.sign,t=t.magnitude,t=String(Math.pow(10,t)),f=u.numbers.nu[0];if("currency"===r&&"name"!==a){r=(m=u.numbers.currency)[o]||m[f],r=null==(a=r.short)?void 0:a[t];if(!r)return null;c=P(e,l,r)}else{var m,a=((m=u.numbers.decimal)[o]||m[f])[i][t];if(!a)return null;c=P(e,l,a)}return"0"!==c?c=j(c,s).replace(/([^\s;\-\+\d¤]+)/g,"{c:$1}").replace(/0+/,"0"):null}(n,e,t,l,u.compactDisplay,u.currencyDisplay,s)),"currency"===l&&"name"!==u.currencyDisplay){var D=t.currencies[u.currency];if(D)switch(u.currencyDisplay){case"code":r=u.currency;break;case"symbol":r=D.symbol;break;default:r=D.narrow}else r=u.currency}o=m||("decimal"===l||"unit"===l||"currency"===l&&"name"===u.currencyDisplay?j((t.numbers.decimal[s]||t.numbers.decimal[f]).standard,i):j("currency"===l?(p=t.numbers.currency[s]||t.numbers.currency[f])[u.currencySign]:t.numbers.percent[s]||t.numbers.percent[f],i));for(var g=Hn.exec(o)[0],p=(o=o.replace(Hn,"{0}").replace(/'(.)'/g,"$1"),(o="currency"===l&&"name"!==u.currencyDisplay&&((i=(p=t.numbers.currency[s]||t.numbers.currency[f]).currencySpacing.afterInsertBetween)&&!Xn.test(r)&&(o=o.replace("¤{0}","¤"+i+"{0}")),i=p.currencySpacing.beforeInsertBetween)&&!Vn.test(r)?o.replace("{0}¤","{0}"+i+"¤"):o).split(/({c:[^}]+}|\{0\}|[¤%\-\+])/g)),d=[],h=t.numbers.symbols[s]||t.numbers.symbols[f],y=0,F=p;y𝗧𝗢𝗣 𝟭𝟬 𝗛𝗼𝘁𝗲𝗹𝘀 𝗶𝗻 Saint-Etienne-du-Rouvray (2025) | Expedia Singapore
Saint-Etienne-du-Rouvray Hotels from S$48 Plan, book, stay with confidence
bex rewards loyalty icon Be picky
Search almost a million properties worldwide
payments icon Treat yourself
Sign in to save 10% or more on thousands of hotels
today icon Change your mind
Book hotels with free cancellation
Check prices for these dates
Top 10 trending Saint-Etienne-du-Rouvray hotels Kyriad Rouen Sud - Oissel Kyriad Rouen Sud - Oissel Kyriad Rouen Sud - Oissel Kyriad Rouen Sud - Oissel Show previous image for Kyriad Rouen Sud - Oissel Show next image for Kyriad Rouen Sud - Oissel
Kyriad Rouen Sud - Oissel Kyriad Rouen Sud - Oissel Saint-Etienne-du-Rouvray
8.4 out of 10, Very good, (29)
"It desperately needed updating.Wobbly chair, leg loose.Poor paint finish.Hole in wall next to ceiling. Stained towel.(we used our own).Could not lock door from inside.I did take photos. "
Kyriad Rouen Sud - Oissel Premiere Classe Rouen Sud - Oissel Premiere Classe Rouen Sud - Oissel Premiere Classe Rouen Sud - Oissel Premiere Classe Rouen Sud - Oissel Show previous image for Premiere Classe Rouen Sud - Oissel Show next image for Premiere Classe Rouen Sud - Oissel
Premiere Classe Rouen Sud - Oissel Premiere Classe Rouen Sud - Oissel Saint-Etienne-du-Rouvray
7.4 out of 10, Good, (486)
"Better than we expected, just needed this hotel to sleep for a few hours while on the road. There was a fridge and microwave which was perfect for us as we had milk for our 1 year old. Bed was big and comfortable. Clean sheets, towels and soap in the bathroom. Self check-in was fine even at midnight. We had low expectations due to the price, but were pleasantly surprised in the end - this is just a roadside hotel, so it's not luxury but we had a good night's sleep! "
Premiere Classe Rouen Sud - Oissel B&B HOTEL Rouen Saint-Etienne-du-Rouvray B&B HOTEL Rouen Saint-Etienne-du-Rouvray B&B HOTEL Rouen Saint-Etienne-du-Rouvray B&B HOTEL Rouen Saint-Etienne-du-Rouvray Show previous image for B&B HOTEL Rouen Saint-Etienne-du-Rouvray Show next image for B&B HOTEL Rouen Saint-Etienne-du-Rouvray
B&B HOTEL Rouen Saint-Etienne-du-Rouvray B&B HOTEL Rouen Saint-Etienne-du-Rouvray Saint-Etienne-du-Rouvray
7.2 out of 10, Good, (232)
"Would have liked a downstairs room . But didn’t happen even though I asked to reserve at time of booking , many weeks before arrival . Receptionist did apologise on arrival for not being able to give us this . "
B&B HOTEL Rouen Saint-Etienne-du-Rouvray Novotel Rouen Sud Zenith Parc Expo Novotel Rouen Sud Zenith Parc Expo Novotel Rouen Sud Zenith Parc Expo Novotel Rouen Sud Zenith Parc Expo Show previous image for Novotel Rouen Sud Zenith Parc Expo Show next image for Novotel Rouen Sud Zenith Parc Expo
Novotel Rouen Sud Zenith Parc Expo Novotel Rouen Sud Zenith Parc Expo Saint-Etienne-du-Rouvray
8.0 out of 10, Very good, (39)
"Very good and very comfortable "
Novotel Rouen Sud Zenith Parc Expo Campanile Rouen Sud - Zénith - Parc Expo Campanile Rouen Sud - Zénith - Parc Expo Campanile Rouen Sud - Zénith - Parc Expo Campanile Rouen Sud - Zénith - Parc Expo Show previous image for Campanile Rouen Sud - Zénith - Parc Expo Show next image for Campanile Rouen Sud - Zénith - Parc Expo
Campanile Rouen Sud - Zénith - Parc Expo Campanile Rouen Sud - Zénith - Parc Expo Saint-Etienne-du-Rouvray
7.8 out of 10, Good, (439)
"Not easy to find with satnav "
Campanile Rouen Sud - Zénith - Parc Expo Ibis Styles Rouen Parc Expo Zenith Ibis Styles Rouen Parc Expo Zenith Ibis Styles Rouen Parc Expo Zenith Ibis Styles Rouen Parc Expo Zenith Show previous image for Ibis Styles Rouen Parc Expo Zenith Show next image for Ibis Styles Rouen Parc Expo Zenith
Ibis Styles Rouen Parc Expo Zenith Ibis Styles Rouen Parc Expo Zenith Saint-Etienne-du-Rouvray
8.4 out of 10, Very good, (116)
"Good hotel in a handy location."
Ibis Styles Rouen Parc Expo Zenith hotelF1 Rouen Zenith Parc Expo hotelF1 Rouen Zenith Parc Expo hotelF1 Rouen Zenith Parc Expo hotelF1 Rouen Zenith Parc Expo Show previous image for hotelF1 Rouen Zenith Parc Expo Show next image for hotelF1 Rouen Zenith Parc Expo
hotelF1 Rouen Zenith Parc Expo hotelF1 Rouen Zenith Parc Expo Saint-Etienne-du-Rouvray
7.6 out of 10, Good, (135)
"Comfortable room for an overnight stay "
hotelF1 Rouen Zenith Parc Expo ibis budget Rouen Sud Zenith ibis budget Rouen Sud Zenith ibis budget Rouen Sud Zenith ibis budget Rouen Sud Zenith Show previous image for ibis budget Rouen Sud Zenith Show next image for ibis budget Rouen Sud Zenith
ibis budget Rouen Sud Zenith ibis budget Rouen Sud Zenith Saint-Etienne-du-Rouvray
7.4 out of 10, Good, (188)
"Could not find any lift to the upper floors and bedding a strange texture (still clean though) but otherwise everything was as expected. Room suitable for one night and breakfast was great"
ibis budget Rouen Sud Zenith Premiere Classe Rouen Sud - Parc des Expositions Premiere Classe Rouen Sud - Parc des Expositions Premiere Classe Rouen Sud - Parc des Expositions Premiere Classe Rouen Sud - Parc des Expositions Show previous image for Premiere Classe Rouen Sud - Parc des Expositions Show next image for Premiere Classe Rouen Sud - Parc des Expositions
Premiere Classe Rouen Sud - Parc des Expositions Premiere Classe Rouen Sud - Parc des Expositions Saint-Etienne-du-Rouvray
"Exactly as expected of this property "
Premiere Classe Rouen Sud - Parc des Expositions The Originals City, Hôtel Acadine, Le Neubourg The Originals City, Hôtel Acadine, Le Neubourg The Originals City, Hôtel Acadine, Le Neubourg The Originals City, Hôtel Acadine, Le Neubourg Show previous image for The Originals City, Hôtel Acadine, Le Neubourg Show next image for The Originals City, Hôtel Acadine, Le Neubourg
The Originals City, Hôtel Acadine, Le Neubourg The Originals City, Hôtel Acadine, Le Neubourg Le Neubourg
9.0 out of 10, Wonderful, (298)
"What a gem, for the price it's unbelievable. Very clean hotel in convenient location. 4 minutes drive to shops, McDonald's and more. Quite, spacious rooms with all the necessary facilities. Staff is friendly and helpful. "
The Originals City, Hôtel Acadine, Le Neubourg Le Manoir des Chevaux Dorés Le Manoir des Chevaux Dorés Le Manoir des Chevaux Dorés Le Manoir des Chevaux Dorés Show previous image for Le Manoir des Chevaux Dorés Show next image for Le Manoir des Chevaux Dorés
Le Manoir des Chevaux Dorés Le Manoir des Chevaux Dorés Le Neubourg
9.6 out of 10, Exceptional, (20)
"Wonderful cottage-like accommodations. The host and owner was incredibly helpful and kind. Rooms were a decent size, clean and comfortable. The host served a lovely breakfast in the communal kitchen. No air conditioning. "
Le Manoir des Chevaux Dorés Show previous image for Château Corneille Show next image for Château Corneille
Château Corneille Château Corneille Le Val d'Hazey
8.2 out of 10, Very good, (80)
"Lovely Chateaux, lots of character and the restaurant was fabulous. The room would benefit from an extra light as the lamps were small. "
Château Corneille Show previous image for Manoir de Surville Show next image for Manoir de Surville
Manoir de Surville Manoir de Surville Surville
9.8 out of 10, Exceptional, (29)
"Beautiful tucked away setting - staff exceptional and food/wine simply the best! Relais Chateau you have hot competition!"
Manoir de Surville Show previous image for Au Vieux Tilleul B&B Show next image for Au Vieux Tilleul B&B
Au Vieux Tilleul B&B Au Vieux Tilleul B&B Les Trois Lacs
10.0 out of 10, Exceptional, (39)
"Lovely stay it’s charming, Uber helpful hosts. Could not have been more pleased."
Au Vieux Tilleul B&B Show previous image for Le Pré Saint Germain Show next image for Le Pré Saint Germain
Le Pré Saint Germain Le Pré Saint Germain Louviers
8.8 out of 10, Excellent, (13)
"Accueil professionnel et souriant que ce soit à l'hôtel et au restaurant."
Le Pré Saint Germain Show previous image for Hostellerie Saint Pierre Show next image for Hostellerie Saint Pierre
Hostellerie Saint Pierre Hostellerie Saint Pierre Saint-Pierre-du-Vauvray
8.8 out of 10, Excellent, (42)
Hostellerie Saint Pierre Show previous image for Domaine de la Coudraye Show next image for Domaine de la Coudraye
Domaine de la Coudraye Domaine de la Coudraye La Haye-du-Theil
8.8 out of 10, Excellent, (105)
"A really lovely farm house with wonderful hosts"
Domaine de la Coudraye Show previous image for Villa Aliénor Show next image for Villa Aliénor
Villa Aliénor Villa Aliénor Les Andelys
"Très agréable séjour sur la Villa, plus un dinner magnifique. Je vous remercie. "
Villa Aliénor Show previous image for La Maison Carpe Diem Show next image for La Maison Carpe Diem
La Maison Carpe Diem La Maison Carpe Diem Les Andelys
10.0 out of 10, Exceptional, (26)
"Lovely hotel & the owners where very accommodating. Cannot fault this hotel & will try make it back there even if it is a very short break"
La Maison Carpe Diem ibis Styles Rouen Val De Reuil ibis Styles Rouen Val De Reuil ibis Styles Rouen Val De Reuil ibis Styles Rouen Val De Reuil Show previous image for ibis Styles Rouen Val De Reuil Show next image for ibis Styles Rouen Val De Reuil
ibis Styles Rouen Val De Reuil ibis Styles Rouen Val De Reuil Val-de-Reuil
8.2 out of 10, Very good, (343)
"Helpful & friendly staff. Apartments very comfortable.
"
ibis Styles Rouen Val De Reuil See more Lowest nightly price found within the past 24 hours based on a 1 night stay for 2 adults. Prices and availability subject to change. Additional terms may apply.
Lowest nightly price found within the past 24 hours based on a 1 night stay for 2 adults. Prices and availability subject to change. Additional terms may apply.
Don't see what you're looking for?
Don't see what you're looking for?
See all available properties in Saint-Etienne-du-Rouvray
See all available properties in Saint-Etienne-du-Rouvray
Save an average of 15% on thousands of hotels when you're signed in
Learn more about Saint-Etienne-du-Rouvray Love dining and entertainment? Get away to Saint-Etienne-du-Rouvray!
Find out more about Saint-Etienne-du-Rouvray Find out more about Saint-Etienne-du-Rouvray
Saint-Etienne-du-Rouvray hotels information
Recent Reviews in Saint-Etienne-du-Rouvray Recent Reviews in Saint-Etienne-du-Rouvray
Explore a world of travel with Expedia Explore a world of travel with Expedia Hotels near Saint-Etienne-du-Rouvray Attractions More Accommodation Types in Saint-Etienne-du-Rouvray Hotels Near Saint-Etienne-du-Rouvray
Frequently asked questions Where is the best place to stay in Saint-Etienne-du-Rouvray?
If I need to cancel my hotel reservation in Saint-Etienne-du-Rouvray, will I receive a refund?
Yes, the majority of hotel bookings are refundable if you cancel before the accommodation's cancellation deadline, which is often 24 or 48 hours before check in. If you have a non-refundable reservation, it might still be possible to cancel it and receive a refund within 24 hours of your booking. Filter your search by fully refundable to find flexible hotel deals in Saint-Etienne-du-Rouvray.
What's the best place to stay on a budget in Saint-Etienne-du-Rouvray?
What's the best family accommodation in Saint-Etienne-du-Rouvray?
What's the best dog-friendly hotel in Saint-Etienne-du-Rouvray?
What's the best high-end hotel in Saint-Etienne-du-Rouvray?
What are some accommodation options with pools in Saint-Etienne-du-Rouvray?
What's it like to stay in Saint-Etienne-du-Rouvray?
Budget-minded travellers will find good deals in Saint-Etienne-du-Rouvray, and many visitors will definitely appreciate the restaurants. Tourists can also enjoy the city's local tours, entertainment choices and coffee shops. In Saint-Etienne-du-Rouvray, there are 13 hotels and other accommodation options to choose from. Find out more about Saint-Etienne-du-Rouvray .
What is there to see in Saint-Etienne-du-Rouvray?
How should I get around Saint-Etienne-du-Rouvray?
To venture out into the surrounding area, take a train from Saint-Étienne-du-Rouvray Station. If you want to venture out around the area, you may want a rental car in Saint-Etienne-du-Rouvray for your journey.
What's the weather like in Saint-Etienne-du-Rouvray?
The hottest months are usually July and August, with an average temperature of 17°C, while the coldest months are January and February, with an average of 5°C. Average annual precipitation for Saint-Etienne-du-Rouvray is 769 mm.
See more
423bdc20-faa5-4065-b323-41e48c3242d5 335da5f6-cc77-4451-bfe4-aeaf97efa454