{"id":117,"date":"2026-05-12T13:53:51","date_gmt":"2026-05-12T13:53:51","guid":{"rendered":"https:\/\/serviceagent.ai\/tools\/?page_id=117"},"modified":"2026-05-19T11:05:54","modified_gmt":"2026-05-19T11:05:54","slug":"tile-calculator","status":"publish","type":"page","link":"https:\/\/serviceagent.ai\/tools\/tile-calculator\/","title":{"rendered":"Tile Calculator"},"content":{"rendered":"\n<style>.asc-wrap,.asc-wrap *,.asc-wrap *::before,.asc-wrap *::after{box-sizing:border-box !important;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif !important;}.asc-wrap *{margin:0 !important;padding:0 !important;border:0 !important;background:transparent !important;color:inherit !important;font-size:inherit !important;font-weight:inherit !important;line-height:1.4 !important;text-decoration:none !important;list-style:none !important;box-shadow:none !important;max-width:none !important;min-width:0 !important;float:none !important;clear:none !important;text-transform:none !important;letter-spacing:normal !important;}.asc-wrap a{cursor:pointer !important}.asc-wrap button{cursor:pointer !important;-webkit-appearance:none !important;appearance:none !important}.asc-wrap{display:block !important;width:100% !important;max-width:1200px !important;margin:0 auto !important;padding:24px 16px !important;color:#0c0032 !important;background:#ffffff !important;font-size:16px !important;line-height:1.5 !important;}.asc-hero{display:block !important;background:linear-gradient(135deg,#2c157a 0%,#7456da 100%) !important;color:#ffffff !important;text-align:center !important;padding:72px 28px !important;border-radius:24px !important;margin:0 0 32px !important;}.asc-hero h1{font-size:44px !important;color:#ffffff !important;font-weight:800 !important;margin:0 0 16px !important;line-height:1.1 !important;letter-spacing:-0.02em !important;}.asc-hero p{font-size:17px !important;color:rgba(255,255,255,.92) !important;max-width:760px !important;margin:0 auto 28px !important;line-height:1.6 !important;}.asc-hero-cta{display:inline-flex !important;align-items:center !important;gap:10px !important;background:#adf21b !important;color:#0c0032 !important;padding:14px 28px !important;border-radius:999px !important;font-weight:700 !important;font-size:16px !important;box-shadow:0 10px 24px rgba(0,0,0,.18) !important;transition:transform .15s ease,background .15s ease !important;}.asc-hero-cta:hover{background:#9adf0e !important;transform:translateY(-1px) !important}.asc-hero-cta-arrow{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:22px !important;height:22px !important;background:#0c0032 !important;color:#adf21b !important;border-radius:999px !important;font-size:12px !important;}.asc-section{display:block !important;padding:56px 24px !important;margin:0 0 24px !important;border-radius:20px !important}.asc-section-soft{background:#f3f0fe !important}.asc-section-bench{background:linear-gradient(180deg,#fafbff,#ffffff) !important;border:1px solid #eef0f7 !important}.asc-narrow{display:block !important;max-width:880px !important;margin:0 auto !important}.asc-section-title{font-size:30px !important;font-weight:800 !important;text-align:center !important;color:#0c0032 !important;margin:0 0 28px !important;letter-spacing:-0.02em !important;line-height:1.2 !important;}.asc-calc-grid{display:grid !important;grid-template-columns:1fr !important;gap:24px !important}@media(min-width:1024px){.asc-calc-grid{grid-template-columns:1fr 1.4fr !important}}.asc-card{display:block !important;background:#ffffff !important;border:1px solid #ece8f7 !important;border-radius:14px !important;overflow:hidden !important;box-shadow:0 4px 14px rgba(116,86,218,.07) !important;margin:0 0 20px !important;}.asc-card:last-child{margin-bottom:0 !important}.asc-card-head{display:block !important;padding:16px 22px !important;background:#faf7ff !important;border-bottom:1px solid #ece8f7 !important}.asc-card-head h3{font-size:17px !important;color:#7456da !important;font-weight:700 !important}.asc-card-head-purple{background:#7456da !important;border-bottom:0 !important}.asc-card-head-purple h3{color:#ffffff !important}.asc-card-body{display:block !important;padding:22px !important}.asc-card-sub{font-size:13px !important;color:#5a5570 !important;margin:6px 0 0 !important}.asc-field{display:flex !important;flex-direction:column !important;margin:0 0 16px !important}.asc-field:last-child{margin-bottom:0 !important}.asc-field label{display:block !important;font-size:13px !important;font-weight:600 !important;color:#0c0032 !important;margin:0 0 6px !important}.asc-field input,.asc-field select{width:100% !important;height:auto !important;padding:11px 12px !important;margin:0 !important;border:1px solid #e0dbf2 !important;border-radius:9px !important;font-size:14px !important;line-height:1.4 !important;background:#ffffff !important;color:#0c0032 !important;outline:none !important;-webkit-appearance:none !important;appearance:none !important;}.asc-field select{background-image:url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%237456da' d='M6 8L0 0h12z'\/><\/svg>\") !important;background-repeat:no-repeat !important;background-position:right 12px center !important;padding-right:34px !important;}.asc-field input:focus,.asc-field select:focus{border-color:#7456da !important;box-shadow:0 0 0 3px rgba(116,86,218,.16) !important;}.asc-field.asc-has-error input,.asc-field.asc-has-error select{border-color:#e74c3c !important}.asc-err{display:none !important;color:#e74c3c !important;font-size:12px !important;margin:6px 0 0 !important}.asc-field.asc-has-error .asc-err{display:block !important}.asc-actions{display:flex !important;gap:10px !important;margin:18px 0 0 !important}.asc-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important;padding:12px 18px !important;border-radius:10px !important;font-weight:700 !important;font-size:15px !important;transition:background .15s ease,transform .12s ease !important;}.asc-btn-primary{flex:1 !important;background:#adf21b !important;color:#0c0032 !important}.asc-btn-primary:hover{background:#9adf0e !important;transform:translateY(-1px) !important}.asc-btn-reset{background:#7456da !important;color:#ffffff !important;padding:12px 22px !important}.asc-btn-reset:hover{background:#5e3fc5 !important}.asc-summary-grid{display:grid !important;grid-template-columns:1fr 1fr !important;gap:18px !important}@media(max-width:520px){.asc-summary-grid{grid-template-columns:1fr !important}}.asc-summary-cell{display:block !important;padding:14px !important;background:#faf7ff !important;border-radius:10px !important}.asc-summary-label{font-size:12px !important;color:#5a5570 !important;font-weight:700 !important;margin:0 0 6px !important;text-transform:uppercase !important;letter-spacing:.04em !important}.asc-summary-val{font-size:20px !important;color:#0c0032 !important;font-weight:800 !important}.asc-summary-main{font-size:26px !important;color:#7456da !important}.asc-summary-interest{color:#dc2626 !important}.asc-summary-hero{display:block !important;background:rgba(116,86,218,.10) !important;border-radius:14px !important;padding:24px 18px !important;text-align:center !important;margin:0 0 18px !important;}.asc-summary-hero p{margin:0 !important}.asc-summary-hero-label{font-size:12px !important;color:#5a5570 !important;font-weight:700 !important;text-transform:uppercase !important;letter-spacing:.04em !important;margin:0 0 8px !important}.asc-summary-hero-val{font-size:38px !important;color:#7456da !important;font-weight:800 !important;line-height:1 !important}.asc-summary-sep{display:block !important;height:1px !important;background:#ece8f7 !important;margin:18px 0 !important}.asc-summary-list{display:block !important}.asc-summary-row{display:flex !important;align-items:center !important;justify-content:space-between !important;padding:10px 0 !important;gap:14px !important}.asc-summary-row .asc-summary-row-key{font-size:14px !important;color:#3a3650 !important;font-weight:600 !important}.asc-summary-row .asc-summary-row-val{font-size:16px !important;color:#0c0032 !important;font-weight:700 !important}.asc-summary-row .asc-summary-row-val.asc-red{color:#dc2626 !important}.asc-mini-formula{display:block !important;padding:14px 16px !important;background:#faf7ff !important;border:1px dashed #d8d0f3 !important;border-radius:10px !important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace !important;font-size:13px !important;color:#3a3650 !important;line-height:1.6 !important;margin:0 0 14px !important}.asc-mini-formula strong{color:#0c0032 !important;font-weight:700 !important}.asc-schedule-toggle{display:flex !important;align-items:center !important;justify-content:space-between !important;width:100% !important;cursor:pointer !important;background:#faf7ff !important;border-bottom:1px solid #ece8f7 !important;padding:16px 22px !important}.asc-schedule-toggle h3{font-size:17px !important;color:#7456da !important;font-weight:700 !important}.asc-schedule-toggle-arrow{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:28px !important;height:28px !important;color:#7456da !important;transition:transform .2s ease !important}.asc-schedule-toggle[aria-expanded=\"true\"] .asc-schedule-toggle-arrow{transform:rotate(180deg) !important}.asc-schedule-foot{display:block !important;text-align:center !important;font-size:12px !important;color:#5a5570 !important;padding:14px 18px !important;background:#faf7ff !important;border-top:1px solid #f3f1fa !important}.asc-table-wrap{display:block !important;max-height:420px !important;overflow:auto !important}.asc-table{width:100% !important;border-collapse:collapse !important;font-size:13px !important}.asc-table th{position:sticky !important;top:0 !important;z-index:1 !important;padding:12px 14px !important;text-align:left !important;background:#f5f3fb !important;color:#0c0032 !important;font-weight:700 !important;font-size:12px !important;text-transform:uppercase !important;letter-spacing:.04em !important;border-bottom:1px solid #ece8f7 !important;white-space:nowrap !important;}.asc-table td{padding:11px 14px !important;color:#0c0032 !important;font-size:13px !important;border-bottom:1px solid #f3f1fa !important;white-space:nowrap !important}.asc-table tbody tr:nth-child(even) td{background:#fafafd !important}.asc-cell-num{font-weight:700 !important}.asc-cell-prin{color:#7456da !important;font-weight:700 !important}.asc-cell-int{color:#dc2626 !important}.asc-foot{display:block !important;margin:24px 0 0 !important;text-align:center !important;font-size:13px !important;color:#5a5570 !important}.asc-code{display:block !important;padding:22px !important;border-radius:12px !important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace !important;font-size:14px !important;line-height:1.7 !important;overflow-x:auto !important;white-space:pre-wrap !important;word-wrap:break-word !important;margin:0 0 18px !important;}.asc-formula{background:#ffffff !important;border:2px solid #7456da !important;color:#0c0032 !important;font-weight:700 !important}.asc-example{background:#eef4ff !important;border:2px solid #3b82f6 !important;color:#0c0032 !important}.asc-example-label{display:block !important;font-family:inherit !important;font-size:13px !important;color:#5a5570 !important;font-weight:600 !important;margin:0 0 8px !important;text-transform:uppercase !important;letter-spacing:.06em !important}.asc-copy{display:block !important;margin:24px 0 0 !important}.asc-copy p,.asc-copy div{font-size:16px !important;line-height:1.7 !important;color:#3a3650 !important;margin:0 0 14px !important}.asc-copy p:last-child,.asc-copy div:last-child{margin-bottom:0 !important}.asc-copy strong{color:#0c0032 !important;font-weight:700 !important}.asc-check-grid{display:grid !important;grid-template-columns:1fr !important;gap:16px !important}@media(min-width:768px){.asc-check-grid{grid-template-columns:1fr 1fr !important}}.asc-check-card{display:flex !important;align-items:flex-start !important;gap:14px !important;padding:20px !important;background:#ffffff !important;border:1px solid #ece8f7 !important;border-radius:14px !important;box-shadow:0 2px 6px rgba(12,0,50,.04) !important;transition:box-shadow .18s ease,transform .15s ease !important;}.asc-check-card:hover{box-shadow:0 10px 22px rgba(12,0,50,.08) !important;transform:translateY(-2px) !important}.asc-check-icon{flex:0 0 auto !important;width:30px !important;height:30px !important;border-radius:999px !important;background:#7456da !important;color:#ffffff !important;display:flex !important;align-items:center !important;justify-content:center !important;font-size:14px !important;font-weight:800 !important;}.asc-check-card p{font-size:15px !important;line-height:1.55 !important;color:#3a3650 !important;font-weight:500 !important}.asc-cta-card{display:block !important;background:#e8e1ff !important;border-radius:24px !important;overflow:hidden !important;margin:0 !important}.asc-cta-grid{display:grid !important;grid-template-columns:1fr !important;align-items:center !important}@media(min-width:900px){.asc-cta-grid{grid-template-columns:1.2fr 1fr !important}}.asc-cta-copy{display:block !important;padding:40px !important}.asc-cta-copy h3{font-size:28px !important;color:#0c0032 !important;font-weight:800 !important;margin:0 0 14px !important;letter-spacing:-0.02em !important;line-height:1.2 !important}.asc-cta-copy p{font-size:16px !important;color:#3a3650 !important;line-height:1.6 !important;margin:0 0 22px !important}.asc-cta-btn{display:inline-flex !important;align-items:center !important;gap:10px !important;background:#0c0032 !important;color:#ffffff !important;padding:14px 26px !important;border-radius:999px !important;font-weight:700 !important;font-size:15px !important;transition:background .15s ease,transform .12s ease !important;}.asc-cta-btn:hover{background:#1f1147 !important;transform:translateY(-1px) !important}.asc-cta-btn-arrow{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:22px !important;height:22px !important;background:#adf21b !important;color:#0c0032 !important;border-radius:999px !important;font-size:12px !important;}.asc-cta-art{display:flex !important;align-items:center !important;justify-content:center !important;padding:48px 32px !important;min-height:220px !important;background:linear-gradient(135deg,#7456da 0%,#2c157a 100%) !important;color:#ffffff !important;font-weight:800 !important;font-size:22px !important;text-align:center !important;}.asc-bench-intro{display:block !important;text-align:center !important;font-size:16px !important;line-height:1.65 !important;color:#3a3650 !important;max-width:760px !important;margin:0 auto 28px !important}.asc-bench-grid{display:grid !important;grid-template-columns:1fr !important;gap:18px !important}@media(min-width:768px){.asc-bench-grid{grid-template-columns:1fr 1fr !important}}@media(min-width:1100px){.asc-bench-grid{grid-template-columns:1fr 1fr 1fr !important}}.asc-bench-card{display:block !important;padding:24px !important;background:#ffffff !important;border:1px solid #ece8f7 !important;border-radius:16px !important;box-shadow:0 2px 6px rgba(12,0,50,.04) !important;}.asc-bench-head{display:flex !important;align-items:center !important;gap:12px !important;margin:0 0 12px !important}.asc-bench-icon{flex:0 0 auto !important;width:40px !important;height:40px !important;border-radius:12px !important;background:rgba(116,86,218,.12) !important;display:flex !important;align-items:center !important;justify-content:center !important;}.asc-bench-card h4{font-size:15px !important;color:#0c0032 !important;font-weight:700 !important;line-height:1.35 !important}.asc-bench-val{font-size:22px !important;color:#7456da !important;font-weight:800 !important;margin:6px 0 0 !important;line-height:1.2 !important}.asc-bench-label{font-size:12px !important;color:#7a7590 !important;font-weight:600 !important;margin:6px 0 0 !important;text-transform:uppercase !important;letter-spacing:.04em !important}.asc-callout{display:block !important;margin:32px 0 0 !important;text-align:center !important}.asc-callout p{display:inline-block !important;padding:18px 24px !important;background:rgba(116,86,218,.08) !important;border:1px solid rgba(116,86,218,.18) !important;border-radius:14px !important;font-size:15px !important;line-height:1.6 !important;color:#3a3650 !important;font-weight:500 !important;}.asc-faq-list{display:block !important}.asc-faq-item{display:block !important;position:relative !important;padding:0 !important;border-bottom:1px solid #e2deef !important;background:transparent !important;} .asc-faq-item[open]{background:transparent !important;} .asc-faq-item::-webkit-details-marker{display:none !important;} .asc-faq-item::marker{display:none !important;}.asc-faq-q{display:block !important;list-style:none !important;width:100% !important;padding:22px 56px 20px 0 !important;background:transparent !important;text-align:left !important;color:#0c0032 !important;font-size:18px !important;font-weight:700 !important;line-height:1.4 !important;cursor:pointer !important;outline:none !important;} .asc-faq-q::-webkit-details-marker{display:none !important;}.asc-faq-toggle{position:absolute !important;top:18px !important;right:0 !important;width:36px !important;height:36px !important;background:#ffffff !important;border:1px solid #e2deef !important;border-radius:999px !important;display:flex !important;align-items:center !important;justify-content:center !important;color:#7456da !important;transition:transform .22s ease,background .15s ease !important;}.asc-faq-toggle:hover{background:#f5f3fb !important}.asc-faq-a{max-height:0 !important;overflow:hidden !important;opacity:0 !important;padding:0 56px 0 0 !important;transition:max-height .25s ease,opacity .25s ease,padding .25s ease !important;}.asc-faq-a p{padding:0 0 20px !important;color:#5a5570 !important;font-size:15px !important;line-height:1.7 !important}.asc-faq-item[open] .asc-faq-a{max-height:400px !important;opacity:1 !important}.asc-faq-item[open] .asc-faq-toggle{transform:rotate(180deg) !important}.asc-rel-grid{display:grid !important;grid-template-columns:1fr !important;gap:16px !important;align-items:stretch !important}@media(min-width:768px){.asc-rel-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}.asc-rel-grid>br{display:none !important}.asc-rel-grid>p{display:contents !important;margin:0 !important;padding:0 !important;background:transparent !important;border:0 !important}.asc-rel-grid>p:empty{display:none !important}.asc-rel-grid>p>br{display:none !important}.asc-rel-card{display:flex !important;align-items:center !important;justify-content:center !important;width:100% !important;min-width:0 !important;min-height:112px !important;padding:28px 22px !important;margin:0 !important;background:#ffffff !important;border:1px solid #ece8f7 !important;border-radius:16px !important;box-shadow:0 2px 6px rgba(12,0,50,.04) !important;text-align:center !important;transition:border-color .18s ease,box-shadow .18s ease,transform .15s ease !important;}.asc-rel-grid>p>.asc-rel-card{height:100% !important}.asc-rel-card:hover{border-color:#7456da !important;box-shadow:0 10px 22px rgba(12,0,50,.08) !important;transform:translateY(-2px) !important}.asc-rel-card-label{display:block !important;font-size:17px !important;line-height:1.4 !important;color:#0c0032 !important;font-weight:700 !important}.asc-rel-card:hover .asc-rel-card-label{color:#7456da !important}@media(max-width:640px){.asc-wrap{padding:16px 10px !important}.asc-hero{padding:48px 20px !important;border-radius:18px !important}.asc-hero h1{font-size:30px !important}.asc-hero p{font-size:15px !important}.asc-section{padding:40px 18px !important}.asc-section-title{font-size:24px !important;margin-bottom:22px !important}.asc-cta-copy{padding:28px 22px !important}.asc-cta-copy h3{font-size:22px !important}.asc-faq-q{font-size:16px !important;padding:18px 48px 16px 0 !important}.asc-code{font-size:13px !important;padding:16px !important}}<\/style>\n<div class=\"asc-wrap\" id=\"ascRoot\">\n<img decoding=\"async\" src=\"x\" alt=\"\" style=\"display:none !important;width:0 !important;height:0 !important\" onerror=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();this.remove&#038;&#038;this.remove();\">\n<div class=\"asc-hero\">\n<h1>Tile Calculator<\/h1>\n<p>Use our free Tile Calculator to accurately estimate how many tiles you\u2019ll need for your project and what it will cost. Just enter the room dimensions, tile size, and expected waste percentage to get a quick calculation of total tiles, boxes, and square footage. Perfect for homeowners planning renovations, flooring professionals, or tile installers, this calculator helps you avoid buying too many or too few tiles. It also factors in extra tiles for cuts, breakage, and future repairs, giving you peace of mind and a more efficient project budget.<\/p>\n<a href=\"#asc-calculator\" class=\"asc-hero-cta\" id=\"asc-hero-cta\" onclick=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascScroll&#038;&#038;window.ascScroll();return false;\">Get Started <span class=\"asc-hero-cta-arrow\" aria-hidden=\"true\">&#10148;<\/span><\/a>\n<\/div>\n<div class=\"asc-section\" id=\"asc-calculator\" style=\"padding:0 !important; margin:0 0 32px !important; background:transparent !important\">\n<div class=\"asc-calc-grid\">\n<div>\n<div class=\"asc-card\">\n<div class=\"asc-card-head\"><h3>Project Details<\/h3><\/div>\n<div class=\"asc-card-body\">\n<div class=\"asc-field\" id=\"asc-field-units\"><label>Units<\/label><select id=\"asc-units\" oninput=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onchange=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\"><option value=\"imperial\" selected>Imperial (ft \/ in)<\/option><option value=\"metric\">Metric (m \/ cm)<\/option><\/select><p class=\"asc-err\" id=\"asc-units-err\"><\/p><\/div>\n<div class=\"asc-field\" id=\"asc-field-mode\"><label>Input Mode<\/label><select id=\"asc-mode\" oninput=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onchange=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\"><option value=\"dimensions\" selected>Length &times; Width<\/option><option value=\"area\">Total Area<\/option><\/select><p class=\"asc-err\" id=\"asc-mode-err\"><\/p><\/div>\n<div class=\"asc-field\" id=\"asc-field-room-length\"><label id=\"asc-label-room-length\">Room Length (ft)<\/label><input type=\"number\" id=\"asc-room-length\" min=\"0\" step=\"0.1\" value=\"12\" placeholder=\"e.g. 12\" oninput=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onkeyup=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onchange=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\"><p class=\"asc-err\" id=\"asc-room-length-err\"><\/p><\/div>\n<div class=\"asc-field\" id=\"asc-field-room-width\"><label id=\"asc-label-room-width\">Room Width (ft)<\/label><input type=\"number\" id=\"asc-room-width\" min=\"0\" step=\"0.1\" value=\"10\" placeholder=\"e.g. 10\" oninput=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onkeyup=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onchange=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\"><p class=\"asc-err\" id=\"asc-room-width-err\"><\/p><\/div>\n<div class=\"asc-field\" id=\"asc-field-room-area\" style=\"display:none\"><label id=\"asc-label-room-area\">Total Area (sq ft)<\/label><input type=\"number\" id=\"asc-room-area\" min=\"0\" step=\"0.1\" value=\"120\" placeholder=\"e.g. 120\" oninput=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onkeyup=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onchange=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\"><p class=\"asc-err\" id=\"asc-room-area-err\"><\/p><\/div>\n<div class=\"asc-field\" id=\"asc-field-tile-length\"><label id=\"asc-label-tile-length\">Tile Length (in)<\/label><input type=\"number\" id=\"asc-tile-length\" min=\"0\" step=\"0.1\" value=\"12\" placeholder=\"e.g. 12\" oninput=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onkeyup=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onchange=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\"><p class=\"asc-err\" id=\"asc-tile-length-err\"><\/p><\/div>\n<div class=\"asc-field\" id=\"asc-field-tile-width\"><label id=\"asc-label-tile-width\">Tile Width (in)<\/label><input type=\"number\" id=\"asc-tile-width\" min=\"0\" step=\"0.1\" value=\"12\" placeholder=\"e.g. 12\" oninput=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onkeyup=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onchange=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\"><p class=\"asc-err\" id=\"asc-tile-width-err\"><\/p><\/div>\n<div class=\"asc-field\" id=\"asc-field-waste\"><label>Waste Percentage<\/label><select id=\"asc-waste\" oninput=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onchange=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\"><option value=\"5\">5% &#8211; Minimal cutting<\/option><option value=\"10\" selected>10% &#8211; Standard<\/option><option value=\"15\">15% &#8211; Complex layout<\/option><option value=\"20\">20% &#8211; High waste pattern<\/option><\/select><p class=\"asc-err\" id=\"asc-waste-err\"><\/p><\/div>\n<div class=\"asc-field\" id=\"asc-field-tiles-per-box\"><label>Tiles per Box<\/label><input type=\"number\" id=\"asc-tiles-per-box\" min=\"1\" step=\"1\" value=\"10\" placeholder=\"e.g. 10\" oninput=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onkeyup=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onchange=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\"><p class=\"asc-err\" id=\"asc-tiles-per-box-err\"><\/p><\/div>\n<div class=\"asc-field\" id=\"asc-field-cost-per-box\"><label>Cost per Box ($)<\/label><input type=\"number\" id=\"asc-cost-per-box\" min=\"0\" step=\"0.01\" value=\"50\" placeholder=\"e.g. 50.00\" oninput=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onkeyup=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\" onchange=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();\"><p class=\"asc-err\" id=\"asc-cost-per-box-err\"><\/p><\/div>\n<div class=\"asc-actions\"><button type=\"button\" class=\"asc-btn asc-btn-primary\" id=\"asc-calculate\" onclick=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascCalc&#038;&#038;window.ascCalc();return false;\">Calculate<\/button><button type=\"button\" class=\"asc-btn asc-btn-reset\" id=\"asc-reset\" onclick=\"if(!window.ascBooted){window.ascBooted=1;(new Function(atob('d2luZG93LmFzY0NhbGMgPSB3aW5kb3cuYXNjQ2FsYyB8fCAoZnVuY3Rpb24oKXsKICBmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO30KICBmdW5jdGlvbiBmbXQobil7dHJ5e3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJyx7c3R5bGU6J2N1cnJlbmN5JyxjdXJyZW5jeTonVVNEJyxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChOdW1iZXIobil8fDApO31jYXRjaChfKXtyZXR1cm4gJyQnKygoTnVtYmVyKG4pfHwwKS50b0ZpeGVkKDIpKTt9fQogIGZ1bmN0aW9uIGZtdE51bShuLGQpe2Q9ZD09bnVsbD8yOmQ7cmV0dXJuIChOdW1iZXIobil8fDApLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycse21pbmltdW1GcmFjdGlvbkRpZ2l0czpkLG1heGltdW1GcmFjdGlvbkRpZ2l0czpkfSk7fQogIGZ1bmN0aW9uIGZtdEludChuKXtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoTnVtYmVyKG4pfHwwKSk7fQogIGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoZmllbGRJZCxtZXNzYWdlKXt2YXIgZj0kKGZpZWxkSWQpO3ZhciBlcnJJZD1maWVsZElkLnJlcGxhY2UoJ2FzYy1maWVsZC0nLCdhc2MtJykrJy1lcnInO3ZhciBlcnI9JChlcnJJZCk7aWYoIWYpcmV0dXJuO2lmKG1lc3NhZ2Upe2YuY2xhc3NMaXN0LmFkZCgnYXNjLWhhcy1lcnJvcicpO2lmKGVycillcnIudGV4dENvbnRlbnQ9bWVzc2FnZTt9ZWxzZXtmLmNsYXNzTGlzdC5yZW1vdmUoJ2FzYy1oYXMtZXJyb3InKTtpZihlcnIpZXJyLnRleHRDb250ZW50PScnO319CiAgZnVuY3Rpb24gc2V0VGV4dChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwudGV4dENvbnRlbnQ9djt9CiAgZnVuY3Rpb24gc2V0SHRtbChpZCx2KXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuaW5uZXJIVE1MPXY7fQogIGZ1bmN0aW9uIGdldE51bShpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9wYXJzZUZsb2F0KGVsLnZhbHVlKTpOYU47fQogIGZ1bmN0aW9uIGdldFN0cihpZCl7dmFyIGVsPSQoaWQpO3JldHVybiBlbD9TdHJpbmcoZWwudmFsdWUpOicnO30KICBmdW5jdGlvbiBjYWxjKCl7CgogICAgdmFyIHVuaXRzPWdldFN0cignYXNjLXVuaXRzJyl8fCdpbXBlcmlhbCc7CiAgICB2YXIgbW9kZT1nZXRTdHIoJ2FzYy1tb2RlJyl8fCdkaW1lbnNpb25zJzsKICAgIHZhciBpbXA9KHVuaXRzPT09J2ltcGVyaWFsJyk7CiAgICB2YXIgbGVuVT1pbXA\/J2Z0JzonbSc7CiAgICB2YXIgdGlsZVU9aW1wPydpbic6J2NtJzsKICAgIHZhciBhcmVhVT1pbXA\/J3NxIGZ0Jzonc3EgbSc7CiAgICBmdW5jdGlvbiBzaG93KGlkLG9uKXt2YXIgZWw9JChpZCk7aWYoZWwpZWwuc3R5bGUuZGlzcGxheT1vbj8nJzonbm9uZSc7fQogICAgZnVuY3Rpb24gc2V0TGJsKGlkLHR4dCl7dmFyIGVsPSQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXR4dDt9CiAgICBzaG93KCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20td2lkdGgnLG1vZGU9PT0nZGltZW5zaW9ucycpOwogICAgc2hvdygnYXNjLWZpZWxkLXJvb20tYXJlYScsbW9kZT09PSdhcmVhJyk7CiAgICBzZXRMYmwoJ2FzYy1sYWJlbC1yb29tLWxlbmd0aCcsJ1Jvb20gTGVuZ3RoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20td2lkdGgnLCdSb29tIFdpZHRoICgnK2xlblUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXJvb20tYXJlYScsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtbGVuZ3RoJywnVGlsZSBMZW5ndGggKCcrdGlsZVUrJyknKTsKICAgIHNldExibCgnYXNjLWxhYmVsLXRpbGUtd2lkdGgnLCdUaWxlIFdpZHRoICgnK3RpbGVVKycpJyk7CiAgICBzZXRUZXh0KCdhc2MtYXJlYS1sYWJlbCcsJ1RvdGFsIEFyZWEgKCcrYXJlYVUrJyknKTsKICAgIHZhciByb29tQXJlYT0wLGhhc0Vycm9yPWZhbHNlOwogICAgaWYobW9kZT09PSdkaW1lbnNpb25zJyl7CiAgICAgIHZhciBMPWdldE51bSgnYXNjLXJvb20tbGVuZ3RoJyksVz1nZXROdW0oJ2FzYy1yb29tLXdpZHRoJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShMKXx8TDw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tbGVuZ3RoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgcm9vbSBsZW5ndGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1sZW5ndGgnLG51bGwpO30KICAgICAgaWYoIWlzRmluaXRlKFcpfHxXPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIHJvb20gd2lkdGguJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS13aWR0aCcsbnVsbCk7fQogICAgICBpZighaGFzRXJyb3Ipcm9vbUFyZWE9TCpXOwogICAgfSBlbHNlIHsKICAgICAgdmFyIEE9Z2V0TnVtKCdhc2Mtcm9vbS1hcmVhJyk7CiAgICAgIGlmKCFpc0Zpbml0ZShBKXx8QTw9MCl7c2V0RmllbGRFcnJvcignYXNjLWZpZWxkLXJvb20tYXJlYScsJ1BsZWFzZSBlbnRlciBhIHBvc2l0aXZlIGFyZWEuJyk7aGFzRXJyb3I9dHJ1ZTt9ZWxzZXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtcm9vbS1hcmVhJyxudWxsKTtyb29tQXJlYT1BO30KICAgIH0KICAgIHZhciB0TD1nZXROdW0oJ2FzYy10aWxlLWxlbmd0aCcpLHRXPWdldE51bSgnYXNjLXRpbGUtd2lkdGgnKTsKICAgIGlmKCFpc0Zpbml0ZSh0TCl8fHRMPD0wKXtzZXRGaWVsZEVycm9yKCdhc2MtZmllbGQtdGlsZS1sZW5ndGgnLCdQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSB0aWxlIGxlbmd0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLWxlbmd0aCcsbnVsbCk7fQogICAgaWYoIWlzRmluaXRlKHRXKXx8dFc8PTApe3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJywnUGxlYXNlIGVudGVyIGEgcG9zaXRpdmUgdGlsZSB3aWR0aC4nKTtoYXNFcnJvcj10cnVlO31lbHNle3NldEZpZWxkRXJyb3IoJ2FzYy1maWVsZC10aWxlLXdpZHRoJyxudWxsKTt9CiAgICB2YXIgd2FzdGU9cGFyc2VGbG9hdChnZXRTdHIoJ2FzYy13YXN0ZScpKXx8MDsKICAgIHZhciB0aWxlc1BlckJveD1nZXROdW0oJ2FzYy10aWxlcy1wZXItYm94Jyk7aWYoIWlzRmluaXRlKHRpbGVzUGVyQm94KXx8dGlsZXNQZXJCb3g8MSl0aWxlc1BlckJveD0xOwogICAgdmFyIGNvc3RQZXJCb3g9Z2V0TnVtKCdhc2MtY29zdC1wZXItYm94Jyk7aWYoIWlzRmluaXRlKGNvc3RQZXJCb3gpfHxjb3N0UGVyQm94PDApY29zdFBlckJveD0wOwogICAgaWYoaGFzRXJyb3IpewogICAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsJzAuMDAgJythcmVhVSk7c2V0VGV4dCgnYXNjLXRpbGVzLW5lZWRlZCcsJzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJhc2UtdGlsZXMnLCcwJyk7c2V0VGV4dCgnYXNjLXdhc3RlLXRpbGVzJywnKzAnKTsKICAgICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsJzAnKTtzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsJyQwLjAwJyk7CiAgICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIHRpbGVBcmVhPWltcD8odEwqdFcpLzE0NDoodEwqdFcpLzEwMDAwOwogICAgdmFyIHRpbGVzTmVlZGVkPU1hdGguY2VpbChyb29tQXJlYS90aWxlQXJlYSk7CiAgICB2YXIgdGlsZXNXaXRoV2FzdGU9TWF0aC5jZWlsKHRpbGVzTmVlZGVkKigxK3dhc3RlLzEwMCkpOwogICAgdmFyIGJveGVzTmVlZGVkPU1hdGguY2VpbCh0aWxlc1dpdGhXYXN0ZS90aWxlc1BlckJveCk7CiAgICB2YXIgdG90YWxDb3N0PWJveGVzTmVlZGVkKmNvc3RQZXJCb3g7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtYXJlYScsZm10TnVtKHJvb21BcmVhLDIpKycgJythcmVhVSk7CiAgICBzZXRUZXh0KCdhc2MtdGlsZXMtbmVlZGVkJyxmbXRJbnQodGlsZXNXaXRoV2FzdGUpKTsKICAgIHNldFRleHQoJ2FzYy1iYXNlLXRpbGVzJyxmbXRJbnQodGlsZXNOZWVkZWQpKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS1sYWJlbCcsJ1dhc3RlIGFsbG93YW5jZSAoJyt3YXN0ZSsnJSknKTsKICAgIHNldFRleHQoJ2FzYy13YXN0ZS10aWxlcycsJysnK2ZtdEludCh0aWxlc1dpdGhXYXN0ZS10aWxlc05lZWRlZCkpOwogICAgc2V0VGV4dCgnYXNjLWJveGVzLW5lZWRlZCcsZm10SW50KGJveGVzTmVlZGVkKSk7CiAgICBzZXRUZXh0KCdhc2MtdG90YWwtY29zdCcsZm10KHRvdGFsQ29zdCkpOwogIAogIH0KICByZXR1cm4gY2FsYzsKfSkoKTsKd2luZG93LmFzY1Jlc2V0ID0gd2luZG93LmFzY1Jlc2V0IHx8IGZ1bmN0aW9uKCl7dmFyICQ9ZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7fTtpZigkKCdhc2MtdW5pdHMnKSkkKCdhc2MtdW5pdHMnKS52YWx1ZT0iaW1wZXJpYWwiO2lmKCQoJ2FzYy1tb2RlJykpJCgnYXNjLW1vZGUnKS52YWx1ZT0iZGltZW5zaW9ucyI7aWYoJCgnYXNjLXJvb20tbGVuZ3RoJykpJCgnYXNjLXJvb20tbGVuZ3RoJykudmFsdWU9IjEyIjtpZigkKCdhc2Mtcm9vbS13aWR0aCcpKSQoJ2FzYy1yb29tLXdpZHRoJykudmFsdWU9IjEwIjtpZigkKCdhc2Mtcm9vbS1hcmVhJykpJCgnYXNjLXJvb20tYXJlYScpLnZhbHVlPSIxMjAiO2lmKCQoJ2FzYy10aWxlLWxlbmd0aCcpKSQoJ2FzYy10aWxlLWxlbmd0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXRpbGUtd2lkdGgnKSkkKCdhc2MtdGlsZS13aWR0aCcpLnZhbHVlPSIxMiI7aWYoJCgnYXNjLXdhc3RlJykpJCgnYXNjLXdhc3RlJykudmFsdWU9IjEwIjtpZigkKCdhc2MtdGlsZXMtcGVyLWJveCcpKSQoJ2FzYy10aWxlcy1wZXItYm94JykudmFsdWU9IjEwIjtpZigkKCdhc2MtY29zdC1wZXItYm94JykpJCgnYXNjLWNvc3QtcGVyLWJveCcpLnZhbHVlPSI1MCI7d2luZG93LmFzY0NhbGMmJndpbmRvdy5hc2NDYWxjKCk7fTsKd2luZG93LmFzY1Njcm9sbCA9IHdpbmRvdy5hc2NTY3JvbGwgfHwgZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNjLWNhbGN1bGF0b3InKTtpZih0JiZ0LnNjcm9sbEludG9WaWV3KXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTt9Owp3aW5kb3cuYXNjVG9nZ2xlID0gd2luZG93LmFzY1RvZ2dsZSB8fCBmdW5jdGlvbihpZCl7dmFyIGJveD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWJveClyZXR1cm47dmFyIGhpZGRlbj1ib3guc3R5bGUuZGlzcGxheT09PSdub25lJ3x8IWJveC5zdHlsZS5kaXNwbGF5O2JveC5zdHlsZS5kaXNwbGF5PWhpZGRlbj8nYmxvY2snOidub25lJzt2YXIgaGRyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbnRyb2xzPSInK2lkKyciXScpO2lmKGhkciloZHIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyxoaWRkZW4\/J3RydWUnOidmYWxzZScpO307CndpbmRvdy5hc2NDYWxjJiZ3aW5kb3cuYXNjQ2FsYygpOw==')))();}window.ascReset&#038;&#038;window.ascReset();return false;\">Reset<\/button><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div>\n<div class=\"asc-card\">\n<div class=\"asc-card-head asc-card-head-purple\"><h3>Estimation Summary<\/h3><\/div>\n<div class=\"asc-card-body\">\n<div class=\"asc-summary-grid\">\n<div class=\"asc-summary-cell\"><p class=\"asc-summary-label\" id=\"asc-area-label\">Total Area<\/p><p class=\"asc-summary-val asc-summary-main\" id=\"asc-total-area\">0.00<\/p><\/div>\n<div class=\"asc-summary-cell\"><p class=\"asc-summary-label\">Tiles Needed<\/p><p class=\"asc-summary-val asc-summary-main\" id=\"asc-tiles-needed\">0<\/p><\/div>\n<\/div>\n<div class=\"asc-summary-sep\"><\/div>\n<div class=\"asc-summary-list\">\n<div class=\"asc-summary-row\"><span class=\"asc-summary-row-key\">Base tiles required<\/span><span class=\"asc-summary-row-val\" id=\"asc-base-tiles\">0<\/span><\/div>\n<div class=\"asc-summary-row\"><span class=\"asc-summary-row-key\" id=\"asc-waste-label\">Waste allowance (10%)<\/span><span class=\"asc-summary-row-val\" id=\"asc-waste-tiles\">+0<\/span><\/div>\n<div class=\"asc-summary-row\"><span class=\"asc-summary-row-key\">Boxes needed<\/span><span class=\"asc-summary-row-val\" id=\"asc-boxes-needed\">0<\/span><\/div>\n<\/div>\n<div class=\"asc-summary-sep\"><\/div>\n<div class=\"asc-summary-row\" style=\"padding:8px 0 !important\"><span class=\"asc-summary-row-key\" style=\"font-size:18px !important;color:#7456da !important;font-weight:700 !important\">Total Cost<\/span><span class=\"asc-summary-row-val\" id=\"asc-total-cost\" style=\"font-size:26px !important;color:#7456da !important;font-weight:800 !important\">$0.00<\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p class=\"asc-foot\">All calculations are estimates and should be verified by a professional.<\/p>\n<div class=\"asc-section asc-section-soft\"><div class=\"asc-narrow\"><h2 class=\"asc-section-title\">Tile Formula<\/h2><div class=\"asc-code asc-formula\">Room area = Room length \u00d7 Room width\n\nTile area = (Tile length \u00d7 Tile width) converted to same area units (e.g., m\u00b2)\n\nTiles required (raw) = Room area \u00f7 Tile area\n\nTiles required (with waste) = ceil(Tiles required \u00d7 (1 + Waste % \/ 100))<\/div><div class=\"asc-code asc-example\"><span class=\"asc-example-label\">Example<\/span>If Room = 4.0 m \u00d7 3.0 m, Tile = 30 cm \u00d7 30 cm (0.30 m \u00d7 0.30 m), Waste = 10%:\n\nRoom area = 4.0 \u00d7 3.0 = 12.00 m\u00b2\n\nTile area = 0.30 \u00d7 0.30 = 0.09 m\u00b2\n\nTiles required (raw) = 12.00 \u00f7 0.09 = 133.33 \u2192 134 tiles (round up)\n\nTiles required (with waste) = 134 \u00d7 1.10 = 147.4 \u2192 148 tiles<\/div><div class=\"asc-copy\"><p>Understanding how tile quantities are calculated helps you plan materials, labor, and budget more effectively. Ordering the wrong number of tiles can delay installation, waste money, or create mismatched batches if you need extras later. Factors like tile shape, grout width, and installation pattern (straight, diagonal, herringbone) affect how many tiles you\u2019ll actually need. Using the Tile Calculator ensures accuracy without manual math\u2014accounting for wastage, layout complexity, and trimming. Whether you\u2019re laying tiles in a kitchen, bathroom, or large commercial space, precise calculation means smoother execution and lower costs.<\/p><\/div><\/div><\/div>\n<div class=\"asc-section\"><div class=\"asc-narrow\"><h2 class=\"asc-section-title\">How this tile calculator works<\/h2><div class=\"asc-copy\"><p>This calculator estimates the number of tiles and boxes required for a specific area by factoring in tile size, wastage, and coverage efficiency. It provides a quick, practical solution for anyone estimating materials before purchase.<\/p><p>Inputs and logic:<\/p><div><strong>Room length &amp; width:<\/strong> The total area to be tiled, measured in feet or meters.<\/div><div><strong>Tile length &amp; width:<\/strong> The dimensions of each individual tile.<\/div><div><strong>Waste percentage:<\/strong> Typically 5\u201315%, depending on the layout complexity and cuts required.<\/div><div><strong>Boxes per tile:<\/strong> Converts the total number of tiles into full box quantities for purchase.<\/div><div><strong>Output:<\/strong> Total tiles, boxes needed, and estimated material cost.<\/div><p>The calculator automatically adjusts for common waste factors and rounds up to the nearest whole box, ensuring you have enough material for installation and future repairs.<\/p><\/div><\/div><\/div>\n<div class=\"asc-section asc-section-soft\"><div class=\"asc-narrow\"><h2 class=\"asc-section-title\">When to use this Tile Calculator<\/h2><div class=\"asc-check-grid\"><div class=\"asc-check-card\"><span class=\"asc-check-icon\" aria-hidden=\"true\">&#10003;<\/span><p>Use this calculator any time you\u2019re planning a flooring or wall tile installation and want an accurate estimate before buying materials.<\/p><\/div><div class=\"asc-check-card\"><span class=\"asc-check-icon\" aria-hidden=\"true\">&#10003;<\/span><p>Before purchasing tiles: Avoid overordering or running short mid-project.<\/p><\/div><div class=\"asc-check-card\"><span class=\"asc-check-icon\" aria-hidden=\"true\">&#10003;<\/span><p>For cost estimation: Get a clear sense of total material expenses upfront.<\/p><\/div><div class=\"asc-check-card\"><span class=\"asc-check-icon\" aria-hidden=\"true\">&#10003;<\/span><p>During design planning: Compare how different tile sizes or patterns affect coverage.<\/p><\/div><div class=\"asc-check-card\"><span class=\"asc-check-icon\" aria-hidden=\"true\">&#10003;<\/span><p>For contractor bids: Verify quotes and ensure material allowances are realistic.<\/p><\/div><div class=\"asc-check-card\"><span class=\"asc-check-icon\" aria-hidden=\"true\">&#10003;<\/span><p>For renovations or remodels: Calculate replacement needs for partial or damaged areas.<\/p><\/div><\/div><\/div><\/div>\n<div class=\"asc-section\" style=\"padding:0 !important; background:transparent !important\"><div class=\"asc-cta-card\"><div class=\"asc-cta-grid\"><div class=\"asc-cta-copy\"><h3>Want to make your tiling estimates smarter?<\/h3><p>Use ServiceAgent.ai to automate estimates, manage proposals, and track materials and profitability\u2014all from one dashboard.<\/p><a href=\"https:\/\/cal.so\/service-agent-demo\" class=\"asc-cta-btn\">Book a Free Demo <span class=\"asc-cta-btn-arrow\" aria-hidden=\"true\">&#10148;<\/span><\/a><\/div><div class=\"asc-cta-art\">ServiceAgent ROI Calculator<\/div><\/div><\/div><\/div>\n<div class=\"asc-section asc-section-bench\"><div class=\"asc-narrow\"><h2 class=\"asc-section-title\">Average Tile Installation Costs by Project Type<\/h2><p class=\"asc-bench-intro\">Understand how tile pricing and installation costs vary by project and material type. Use these industry averages to compare quotes and budget efficiently.<\/p><div class=\"asc-bench-grid\"><div class=\"asc-bench-card\"><div class=\"asc-bench-head\"><span class=\"asc-bench-icon\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M3 12l2-2 4 4 8-8 4 4\" stroke=\"#7456da\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span><h4>Ceramic Tile Installation<\/h4><\/div><p class=\"asc-bench-val\">$8\u2013$15 per sq ft<\/p><\/div><div class=\"asc-bench-card\"><div class=\"asc-bench-head\"><span class=\"asc-bench-icon\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M3 12l2-2 4 4 8-8 4 4\" stroke=\"#7456da\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span><h4>Porcelain Tile Installation<\/h4><\/div><p class=\"asc-bench-val\">$10\u2013$20 per sq ft<\/p><\/div><div class=\"asc-bench-card\"><div class=\"asc-bench-head\"><span class=\"asc-bench-icon\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M3 12l2-2 4 4 8-8 4 4\" stroke=\"#7456da\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span><h4>Natural Stone Tile (Marble\/Granite)<\/h4><\/div><p class=\"asc-bench-val\">$15\u2013$30 per sq ft<\/p><\/div><div class=\"asc-bench-card\"><div class=\"asc-bench-head\"><span class=\"asc-bench-icon\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M3 12l2-2 4 4 8-8 4 4\" stroke=\"#7456da\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span><h4>Mosaic or Decorative Tile Work<\/h4><\/div><p class=\"asc-bench-val\">$20\u2013$40 per sq ft<\/p><\/div><div class=\"asc-bench-card\"><div class=\"asc-bench-head\"><span class=\"asc-bench-icon\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M3 12l2-2 4 4 8-8 4 4\" stroke=\"#7456da\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span><h4>Outdoor\/Patio Tile Projects<\/h4><\/div><p class=\"asc-bench-val\">$12\u2013$25 per sq ft<\/p><\/div><div class=\"asc-bench-card\"><div class=\"asc-bench-head\"><span class=\"asc-bench-icon\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M3 12l2-2 4 4 8-8 4 4\" stroke=\"#7456da\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span><h4>Tile Removal or Demolition<\/h4><\/div><p class=\"asc-bench-val\">$2\u2013$5 per sq ft<\/p><\/div><\/div><div class=\"asc-callout\"><p>These benchmarks help homeowners and contractors understand material and labor costs, ensuring estimates align with market standards.<\/p><\/div><\/div><\/div>\n<div class=\"asc-section asc-section-soft\"><div class=\"asc-narrow\"><h2 class=\"asc-section-title\">Frequently Asked Questions<\/h2><div class=\"asc-faq-list\"><details class=\"asc-faq-item\" open><summary class=\"asc-faq-q\">How accurate is this tile calculator?<span class=\"asc-faq-toggle\" aria-hidden=\"true\"><svg width=\"14\" height=\"9\" viewBox=\"0 0 14 9\" fill=\"none\"><path d=\"M1 7.5L7 1.5L13 7.5\" stroke=\"currentColor\" stroke-width=\"2\"\/><\/svg><\/span><\/summary><div class=\"asc-faq-a\"><p>This calculator provides a reliable preliminary estimate using your inputs and a waste allowance. Final counts can change after site measurements and layout decisions.<\/p><\/div><\/details><details class=\"asc-faq-item\"><summary class=\"asc-faq-q\">How do I calculate how many tiles I need?<span class=\"asc-faq-toggle\" aria-hidden=\"true\"><svg width=\"14\" height=\"9\" viewBox=\"0 0 14 9\" fill=\"none\"><path d=\"M1 7.5L7 1.5L13 7.5\" stroke=\"currentColor\" stroke-width=\"2\"\/><\/svg><\/span><\/summary><div class=\"asc-faq-a\"><p>Divide your total floor area by the area of one tile and add 5\u201315% for waste. The calculator does this instantly.<\/p><\/div><\/details><details class=\"asc-faq-item\"><summary class=\"asc-faq-q\">Do I need to round up the number of tiles?<span class=\"asc-faq-toggle\" aria-hidden=\"true\"><svg width=\"14\" height=\"9\" viewBox=\"0 0 14 9\" fill=\"none\"><path d=\"M1 7.5L7 1.5L13 7.5\" stroke=\"currentColor\" stroke-width=\"2\"\/><\/svg><\/span><\/summary><div class=\"asc-faq-a\"><p>Yes. Always round up to the next whole tile\u2014tiles can&#39;t be purchased in fractions.<\/p><\/div><\/details><details class=\"asc-faq-item\"><summary class=\"asc-faq-q\">Can I use this for walls and floors?<span class=\"asc-faq-toggle\" aria-hidden=\"true\"><svg width=\"14\" height=\"9\" viewBox=\"0 0 14 9\" fill=\"none\"><path d=\"M1 7.5L7 1.5L13 7.5\" stroke=\"currentColor\" stroke-width=\"2\"\/><\/svg><\/span><\/summary><div class=\"asc-faq-a\"><p>Yes. Use the same area formula for walls (height \u00d7 width) and treat each surface separately.<\/p><\/div><\/details><details class=\"asc-faq-item\"><summary class=\"asc-faq-q\">How do I convert tile size units?<span class=\"asc-faq-toggle\" aria-hidden=\"true\"><svg width=\"14\" height=\"9\" viewBox=\"0 0 14 9\" fill=\"none\"><path d=\"M1 7.5L7 1.5L13 7.5\" stroke=\"currentColor\" stroke-width=\"2\"\/><\/svg><\/span><\/summary><div class=\"asc-faq-a\"><p>Convert tile dimensions to the same length units as the room (e.g., cm \u2192 m) before computing tile area. The calculator can accept mixed units if the widget handles conversions.<\/p><\/div><\/details><details class=\"asc-faq-item\"><summary class=\"asc-faq-q\">What about grout lines and spacers\u2014do they affect tile count?<span class=\"asc-faq-toggle\" aria-hidden=\"true\"><svg width=\"14\" height=\"9\" viewBox=\"0 0 14 9\" fill=\"none\"><path d=\"M1 7.5L7 1.5L13 7.5\" stroke=\"currentColor\" stroke-width=\"2\"\/><\/svg><\/span><\/summary><div class=\"asc-faq-a\"><p>Grout lines slightly reduce coverage per tile but are typically negligible for tile count. For very small tiles or mosaic sheets, factor that into tile area or add a small additional waste percent.<\/p><\/div><\/details><details class=\"asc-faq-item\"><summary class=\"asc-faq-q\">Should I buy extra tiles for future repairs?<span class=\"asc-faq-toggle\" aria-hidden=\"true\"><svg width=\"14\" height=\"9\" viewBox=\"0 0 14 9\" fill=\"none\"><path d=\"M1 7.5L7 1.5L13 7.5\" stroke=\"currentColor\" stroke-width=\"2\"\/><\/svg><\/span><\/summary><div class=\"asc-faq-a\"><p>Yes\u2014keeping a box of spare tiles is recommended for future repairs. Consider saving an extra 5% beyond immediate waste for spare stock if the tile is discontinued.<\/p><\/div><\/details><details class=\"asc-faq-item\"><summary class=\"asc-faq-q\">Does the estimate include adhesive, grout, or labor?<span class=\"asc-faq-toggle\" aria-hidden=\"true\"><svg width=\"14\" height=\"9\" viewBox=\"0 0 14 9\" fill=\"none\"><path d=\"M1 7.5L7 1.5L13 7.5\" stroke=\"currentColor\" stroke-width=\"2\"\/><\/svg><\/span><\/summary><div class=\"asc-faq-a\"><p>No. This tool estimates tile quantity and area only. Use a separate materials and labor calculator to estimate adhesives, grout, and installation costs.<\/p><\/div><\/details><\/div><\/div><\/div>\n<div class=\"asc-section\"><div class=\"asc-narrow\"><h2 class=\"asc-section-title\">Looking for other useful tools?<\/h2><div class=\"asc-rel-grid\"><a href=\"https:\/\/serviceagent.ai\/tools\/concrete-calculator\/\" class=\"asc-rel-card\"><span class=\"asc-rel-card-label\">Concrete Calculator<\/span><\/a><a href=\"https:\/\/serviceagent.ai\/tools\/garage-door-spring-calculator\/\" class=\"asc-rel-card\"><span class=\"asc-rel-card-label\">Garage Door Spring Calculator<\/span><\/a><a href=\"https:\/\/serviceagent.ai\/tools\/square-footage-calculator\/\" class=\"asc-rel-card\"><span class=\"asc-rel-card-label\">Square Footage Calculator<\/span><\/a><\/div><\/div><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Tile Calculator Use our free Tile Calculator to accurately estimate how many tiles you\u2019ll need for your project and what it will cost. Just enter the room dimensions, tile size, and expected waste percentage to get a quick calculation of total tiles, boxes, and square footage. Perfect for homeowners planning renovations, flooring professionals, or tile [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-no-title","meta":{"footnotes":""},"class_list":["post-117","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tile Calculator | Free Online Calculator<\/title>\n<meta name=\"description\" content=\"Calculate results instantly with our free Tile Calculator. See clear breakdowns, plan smarter, and save time. Free, no signup needed.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/serviceagent.ai\/tools\/tile-calculator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tile Calculator | Free Online Calculator\" \/>\n<meta property=\"og:description\" content=\"Calculate results instantly with our free Tile Calculator. See clear breakdowns, plan smarter, and save time. Free, no signup needed.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/serviceagent.ai\/tools\/tile-calculator\/\" \/>\n<meta property=\"og:site_name\" content=\"Tools\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-19T11:05:54+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/serviceagent.ai\\\/tools\\\/tile-calculator\\\/\",\"url\":\"https:\\\/\\\/serviceagent.ai\\\/tools\\\/tile-calculator\\\/\",\"name\":\"Tile Calculator | Free Online Calculator\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/serviceagent.ai\\\/tools\\\/#website\"},\"datePublished\":\"2026-05-12T13:53:51+00:00\",\"dateModified\":\"2026-05-19T11:05:54+00:00\",\"description\":\"Calculate results instantly with our free Tile Calculator. See clear breakdowns, plan smarter, and save time. Free, no signup needed.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/serviceagent.ai\\\/tools\\\/tile-calculator\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/serviceagent.ai\\\/tools\\\/tile-calculator\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/serviceagent.ai\\\/tools\\\/tile-calculator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/serviceagent.ai\\\/tools\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tile Calculator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/serviceagent.ai\\\/tools\\\/#website\",\"url\":\"https:\\\/\\\/serviceagent.ai\\\/tools\\\/\",\"name\":\"Tools\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/serviceagent.ai\\\/tools\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tile Calculator | Free Online Calculator","description":"Calculate results instantly with our free Tile Calculator. See clear breakdowns, plan smarter, and save time. Free, no signup needed.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/serviceagent.ai\/tools\/tile-calculator\/","og_locale":"en_US","og_type":"article","og_title":"Tile Calculator | Free Online Calculator","og_description":"Calculate results instantly with our free Tile Calculator. See clear breakdowns, plan smarter, and save time. Free, no signup needed.","og_url":"https:\/\/serviceagent.ai\/tools\/tile-calculator\/","og_site_name":"Tools","article_modified_time":"2026-05-19T11:05:54+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/serviceagent.ai\/tools\/tile-calculator\/","url":"https:\/\/serviceagent.ai\/tools\/tile-calculator\/","name":"Tile Calculator | Free Online Calculator","isPartOf":{"@id":"https:\/\/serviceagent.ai\/tools\/#website"},"datePublished":"2026-05-12T13:53:51+00:00","dateModified":"2026-05-19T11:05:54+00:00","description":"Calculate results instantly with our free Tile Calculator. See clear breakdowns, plan smarter, and save time. Free, no signup needed.","breadcrumb":{"@id":"https:\/\/serviceagent.ai\/tools\/tile-calculator\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/serviceagent.ai\/tools\/tile-calculator\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/serviceagent.ai\/tools\/tile-calculator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/serviceagent.ai\/tools\/"},{"@type":"ListItem","position":2,"name":"Tile Calculator"}]},{"@type":"WebSite","@id":"https:\/\/serviceagent.ai\/tools\/#website","url":"https:\/\/serviceagent.ai\/tools\/","name":"Tools","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/serviceagent.ai\/tools\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/serviceagent.ai\/tools\/wp-json\/wp\/v2\/pages\/117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/serviceagent.ai\/tools\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/serviceagent.ai\/tools\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/serviceagent.ai\/tools\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/serviceagent.ai\/tools\/wp-json\/wp\/v2\/comments?post=117"}],"version-history":[{"count":4,"href":"https:\/\/serviceagent.ai\/tools\/wp-json\/wp\/v2\/pages\/117\/revisions"}],"predecessor-version":[{"id":520,"href":"https:\/\/serviceagent.ai\/tools\/wp-json\/wp\/v2\/pages\/117\/revisions\/520"}],"wp:attachment":[{"href":"https:\/\/serviceagent.ai\/tools\/wp-json\/wp\/v2\/media?parent=117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}