{"version":3,"sources":["assets/images/King-Logo-Horizontal-4.png","components/NavMenu.js","components/Layout.js","components/SizingParameters.js","components/SizingResults.js","components/GeneratePdfResult.js","components/SizingCalculator.js","App.js","registerServiceWorker.js","index.js"],"names":["module","exports","__webpack_require__","p","NavMenu","_Component","props","_this","Object","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","toggleNavbar","bind","assertThisInitialized","state","collapsed","inherits","createClass","key","value","setState","react_default","a","createElement","className","href","title","src","logo","alt","style","height","clear","Component","displayName","name","Layout","apply","arguments","Fragment","NavMenu_NavMenu","children","SizingParameters","loading","data","fluidTypes","gasses","liquids","gasFlowRateUnits","liquidFlowRateUnits","temperatureUnits","pressureUnits","floatMaterials","fetch","then","response","json","fluidTypeOptions","map","fluidType","description","gassesOptions","gas","liquidOptions","liquid","gasFlowRateUnitsOptions","gasUnit","liquidFlowRateUnitsOptions","liquidUnit","temperatureUnitsOptions","temperatureUnit","pressureUnitsOptions","pressureUnit","floatMaterialsOptions","floatMaterial","selectedGas","selectedLiquid","fluidName","density","flowRate","flowRateGasUnit","flowRateLiquidUnit","flowRateUnit","temperature","pressure","catch","error","console","log","event","fluidTypeValue","parseInt","target","fluidChanged","fluidValue","selectedFluidTypeIsGas","fluidFounds","filter","fluid","length","parameter","floatValue","parseFloat","newValues","defineProperty","objectSpread","calculate","calculatePdf","_this2","fluidsToShow","htmlFor","id","onChange","flowRatesToShow","updateValue","lastParameter","type","fluidTypeChanged","onClick","renderOnceIsLoaded","SizingResults","disabled","readOnly","totalCorrectionFactor","applicationDensity","standardDensity","densityCorrectionFactor","applicationTemperature","standardTemperature","temperatureCorrectionFactor","applicationPressure","standardPressure","pressureCorrectionFactor","flowRateCorrectionFactorLabel","applicationFlowRate","flowRateCorrectionFactorOneUnit","flowRateCorrectionFactorOne","flowRateCorrectionFactorTwoUnit","flowRateCorrectionFactorTwo","flowRateCorrectionFactorThreeUnit","flowRateCorrectionFactorThree","GeneratePdfResult","doc","jsPDF","addImage","line","setFontSize","setFontType","text","floatMaterialName","x","writeLine","save","y","label","firstColumn","secondColumn","thirdColumn","formatNumber","number","maximumFractionDigits","Intl","NumberFormat","format","SizingCalculator","_calculateResult","asyncToGenerator","regenerator_default","mark","_callee","parameters","calcultedResult","jsonResult","wrap","_context","prev","next","method","headers","Accept","Content-Type","body","JSON","stringify","sent","ok","formatResult","t0","stop","_x","_calculateAndGeneratesPdf","_callee2","_context2","calculateResult","_x2","apiResult","concat","densityUnit","standardDensityUnit","standardTemperatureUnit","standardPressureUnit","sizerParameters","SizingParameters_SizingParameters","calculateAndGeneratesPdf","App","Layout_Layout","SizingCalculator_SizingCalculator","isLocalhost","Boolean","window","location","hostname","match","registerValidSW","swUrl","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","baseUrl","document","getElementsByTagName","getAttribute","rootElement","getElementById","ReactDOM","render","react_router_dom","basename","App_App","URL","process","origin","addEventListener","status","get","indexOf","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.5a854846.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/King-Logo-Horizontal-4.5c9fa6ac.png\";","import React, { Component } from 'react';\r\nimport logo from '../assets/images/King-Logo-Horizontal-4.png';\r\nimport './NavMenu.css';\r\n\r\nexport class NavMenu extends Component {\r\n static displayName = NavMenu.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.toggleNavbar = this.toggleNavbar.bind(this);\r\n this.state = {\r\n collapsed: true\r\n };\r\n }\r\n\r\n toggleNavbar() {\r\n this.setState({\r\n collapsed: !this.state.collapsed\r\n });\r\n }\r\n\r\n render() {\r\n const imgStyle = { height: '75px', clear: 'right' };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \"king\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { NavMenu } from './NavMenu';\r\n\r\nexport class Layout extends Component {\r\n static displayName = Layout.name;\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n
\r\n {this.props.children}\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\n\r\nexport default class SizingParameters extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true\r\n };\r\n this.data = {\r\n fluidTypes: [],\r\n gasses: [],\r\n liquids: [],\r\n gasFlowRateUnits: [],\r\n liquidFlowRateUnits: [],\r\n temperatureUnits: [],\r\n pressureUnits: [],\r\n floatMaterials: []\r\n };\r\n\r\n fetch('api/sizer/get-all-data')\r\n .then(response => {\r\n return response.json()\r\n })\r\n .then(data => {\r\n this.data = data;\r\n this.fluidTypeOptions = this.data.fluidTypes.map(fluidType => );\r\n this.gassesOptions = this.data.gasses.map(gas => );\r\n this.liquidOptions = this.data.liquids.map(liquid => );\r\n this.gasFlowRateUnitsOptions = this.data.gasFlowRateUnits.map(gasUnit => );\r\n this.liquidFlowRateUnitsOptions = this.data.liquidFlowRateUnits.map(liquidUnit => );\r\n this.temperatureUnitsOptions = this.data.temperatureUnits.map(temperatureUnit => );\r\n this.pressureUnitsOptions = this.data.pressureUnits.map(pressureUnit => );\r\n this.floatMaterialsOptions = this.data.floatMaterials.map(floatMaterial => );\r\n\r\n this.setState({\r\n loading: false,\r\n fluidType: 1,\r\n selectedGas: 'Air',\r\n selectedLiquid: 'Water',\r\n fluidName: 'Air',\r\n density: 1.0,\r\n flowRate: 0,\r\n flowRateGasUnit: 24,\r\n flowRateLiquidUnit: 37,\r\n flowRateUnit: 24,\r\n temperature: 70,\r\n temperatureUnit: 70,\r\n pressure: 0,\r\n pressureUnit: 67,\r\n floatMaterial: 0\r\n });\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n this.setState({ loading: false });\r\n });\r\n }\r\n\r\n fluidTypeChanged(event) {\r\n const fluidTypeValue = parseInt(event.target.value);\r\n const flowRateUnit = fluidTypeValue === 1 ? this.state.flowRateGasUnit : this.state.flowRateLiquidUnit;\r\n const fluidName = fluidTypeValue === 1 ? this.state.selectedGas : this.state.selectedLiquid;\r\n\r\n this.setState({ fluidType: fluidTypeValue, flowRateUnit, fluidName });\r\n this.fluidChanged(fluidName, fluidTypeValue);\r\n }\r\n\r\n fluidChanged(fluidValue, fluidType) {\r\n if ((this.selectedFluidTypeIsGas(fluidType))) {\r\n const fluidFounds = this.data.gasses.filter(fluid => fluid.name === fluidValue);\r\n if (fluidFounds.length > 0) {\r\n const fluid = fluidFounds[0];\r\n this.setState({ selectedGas: fluid.name, fluidName: fluid.name, density: fluid.density });\r\n }\r\n } else {\r\n const fluidFounds = this.data.liquids.filter(fluid => fluid.name === fluidValue);\r\n if (fluidFounds.length > 0) {\r\n const fluid = fluidFounds[0];\r\n this.setState({ selectedLiquid: fluid.name, fluidName: fluid.name, density: fluid.density });\r\n }\r\n }\r\n }\r\n\r\n updateValue(parameter, value) {\r\n let floatValue = parseFloat(value) || 0;\r\n const newValues = { [parameter]: floatValue }\r\n\r\n if (parameter === 'flowRateGasUnit' || parameter === 'flowRateLiquidUnit') {\r\n const flowRateUnit = floatValue;\r\n newValues.flowRateUnit = flowRateUnit;\r\n }\r\n\r\n if (parameter === 'density') {\r\n if (this.selectedFluidTypeIsGas()) {\r\n newValues.selectedGas = 'User Defined Gas';\r\n newValues.fluidName = 'User Defined Gas';\r\n } else {\r\n newValues.selectedLiquid = 'User Defined Liquid';\r\n newValues.fluidName = 'User Defined Liquid';\r\n }\r\n }\r\n\r\n this.setState({ ...newValues });\r\n }\r\n\r\n selectedFluidTypeIsGas(fluidType) {\r\n if (fluidType) {\r\n return parseInt(fluidType) === 1\r\n }\r\n return parseInt(this.state.fluidType) === 1;\r\n }\r\n\r\n calculate() {\r\n this.props.calculate({ ...this.state });\r\n }\r\n\r\n calculatePdf() {\r\n this.props.calculatePdf({ ...this.state });\r\n }\r\n\r\n renderOnceIsLoaded() {\r\n const fluidsToShow = this.selectedFluidTypeIsGas() ? (\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n const flowRatesToShow = this.selectedFluidTypeIsGas() ?\r\n (\r\n \r\n ) :\r\n (\r\n < select className=\"form-control input-sm\" id=\"ddlFlowRateUnits\" name=\"FlowRateUnits\"\r\n value={this.state.flowRateLiquidUnit} onChange={(event) => this.updateValue('flowRateLiquidUnit', event.target.value)\r\n } >\r\n \r\n {this.liquidFlowRateUnitsOptions}\r\n \r\n );\r\n\r\n const lastParameter = this.selectedFluidTypeIsGas() ? (\r\n
\r\n
\r\n Back Pressure\r\n
\r\n
\r\n
\r\n
\r\n \r\n this.updateValue('pressure', event.target.value)} />\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
) :\r\n (\r\n
\r\n
\r\n Float Material\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n\r\n\r\n return (\r\n
\r\n
\r\n

Sizing Calculator

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {fluidsToShow}\r\n
\r\n
\r\n
\r\n \r\n
\r\n this.updateValue('density', event.target.value)} />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Flow Rate\r\n
\r\n
\r\n
\r\n
\r\n \r\n this.updateValue('flowRate', event.target.value, 2)} />
\r\n
\r\n
\r\n
\r\n \r\n {flowRatesToShow}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Temperature\r\n
\r\n
\r\n
\r\n
\r\n \r\n this.updateValue('temperature', event.target.value)} />
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {lastParameter}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n let contents = this.state.loading\r\n ?

Loading...

\r\n : this.renderOnceIsLoaded();\r\n\r\n return contents;\r\n }\r\n}\r\n","import React from 'react';\r\n\r\nexport default (props) => {\r\n return (\r\n
\r\n
\r\n Correction Factor / Standard Unit Values
\r\n
\r\n
\r\n Total Correction \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n  \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n  \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n  \r\n
\r\n
\r\n
\r\n  \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n  \r\n
\r\n
\r\n
\r\n  \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import jsPDF from \"jspdf\";\n\nexport default (data) => {\n const doc = new jsPDF(\"p\", \"mm\", \"a4\");\n\n var imgData = loadBase64Image();\n doc.addImage(imgData, 'png', 15, 20, 62, 15);\n\n let line = 50;\n doc.setFontSize(11);\n doc.setFontType('bold');\n doc.text(15, line, 'Sizing Calculator');\n\n line = line + 10;\n if (data.fluidType === 'Liquid') {\n doc.text(20, line, 'Liquid Name');\n doc.setFontType('normal');\n doc.text(50, line, data.fluidName);\n } else {\n doc.setFontType('bold');\n doc.text(20, line, 'Gas Name');\n doc.setFontType('normal');\n doc.text(45, line, data.fluidName);\n }\n doc.setFontType('bold');\n doc.text(100, line, 'Density');\n doc.setFontType('normal');\n doc.text(135, line, data.applicationDensity);\n\n line = line + 10;\n doc.setFontType('bold');\n doc.text(20, line, 'Flow Rate');\n doc.setFontType('normal');\n doc.text(45, line, data.applicationFlowRate);\n\n doc.setFontType('bold');\n doc.text(100, line, 'Temperature');\n doc.setFontType('normal');\n doc.text(135, line, data.applicationTemperature);\n\n line = line + 10;\n if (data.fluidType === 'Liquid') {\n doc.setFontType('bold');\n doc.text(20, line, 'Float Material');\n doc.setFontType('normal');\n doc.text(50, line, data.floatMaterialName);\n } else {\n doc.setFontType('bold');\n doc.text(20, line, 'Back Pressure');\n doc.setFontType('normal');\n doc.text(55, line, data.applicationPressure);\n }\n\n line = line + 15;\n doc.setFontType('bold');\n doc.text(15, line, 'Correction Factor / Standard Unit Values');\n\n line = line + 10;\n doc.text(135, line, 'Total Correction');\n doc.setFontType('normal');\n doc.text(195, line, data.totalCorrectionFactor, null, null, 'right');\n\n doc.setFontType('bold');\n let x = 105;\n line = line + 10;\n doc.text(x, line, 'Application', null, null, 'right');\n doc.text(x + 40, line, 'Standard', null, null, 'right');\n doc.text(x + 90, line, 'Correction Factor', null, null, 'right');\n\n line = line + 10;\n writeLine(line, doc, 'Fluid Density', data.applicationDensity, data.standardDensity, data.densityCorrectionFactor);\n line = line + 10;\n writeLine(line, doc, 'Operating Temperature', data.applicationTemperature, data.standardTemperature, data.temperatureCorrectionFactor);\n line = line + 10;\n writeLine(line, doc, 'Operating Pressure', data.applicationPressure, data.standardPressure, data.pressureCorrectionFactor);\n\n doc.setFontType('bold');\n x = 105;\n line = line + 10;\n doc.text(x, line, 'Application', null, null, 'right');\n doc.text(x + 40, line, 'Convert To', null, null, 'right');\n doc.text(x + 90, line, data.flowRateCorrectionFactorLabel, null, null, 'right');\n\n line = line + 10;\n writeLine(line, doc, 'Max Flow Rate', data.applicationFlowRate, data.flowRateCorrectionFactorOneUnit, data.flowRateCorrectionFactorOne);\n line = line + 10;\n writeLine(line, doc, '', '', data.flowRateCorrectionFactorTwoUnit, data.flowRateCorrectionFactorTwo);\n line = line + 10;\n writeLine(line, doc, '', '', data.flowRateCorrectionFactorThreeUnit, data.flowRateCorrectionFactorThree);\n\n doc.save('correctionValues');\n}\n\nfunction loadBase64Image() {\n return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA/8AAADzCAMAAADn9laCAAAAkFBMVEUAAAAnJSUnJSUnJSUnJSUnJSUnJSUnJSUnJSUnJSUnJSUnJSUnJSUnJSUnJSUnJSUnJSXtICT///9ZJCXJycmTkpJdXFyKIyVsIyXy8fE1MzO8ISTX1tZQTk6ura14d3fUISThICRAJCUzJSWWIiRMJCWjIiR+IyWvIiTIISRCQEBraWnk5OSGhIShoKC8u7sOM5GvAAAAEHRSTlMAQL+A7xAg359gMM+PUHCvuGR2NgAAK5RJREFUeNrs3Ftu2zAQhWGKpCjqQukYfYiBviRxrvvfYFuggBxQlIdOh5ar+Rdg01Y+azxIoiRJkiRJkiRJ2leukthTkrTNDCT2lCRtM/EfJ/6lvST+48S/tJfEf5z4l/aS+I/bnf+u+l2npP0l/uP2478ORjfzOXttglPSjhL/cWX8dzpRp87Sy3kVN+jFBpXIjT0Wanyo1Vmtzq6bX+F6xpjVuaPTlNekE0UPF5LnUFGecnnST3/x4B31KOlnaK+/QJH/g/Tve1jzXyFRpc5CoqCiNBbTarFKI90UvnWHqOZXSKkfQp04JCivCYnoN7smnoxAfueRkb58+Z2KwnLm+gsk/he6J/9N/S3/ncZ61jhG/3FTKOBfg4wuIJVh9q/F//8So3+Y7/gfQMi7gv6BpmX33yBV9NweqSYu/+nRrhf/dxmnf7ir/bsetLwr6B/oO2b/SObpHxWa23882mnxf5ex+p+u9d9ZUGuL+gcMq/8KoC4AHNJx+4cR/ys9/jzcS6z+UWX6z+dvVWH/8Jz+W5CnqRHpHLd/OPGf6OnlFXh+/zzcRbz+G9p2W1/NH0Nx//CM/geAugCYCHj4/E/ifxH/2xF/e315PGw/Xv8wV/h3FvRcef8Y+Pxr+uBhkc6w+0cl/qM+jiec9+Pt6bDxmP1bl++/B71J3cA/Apt/e2mYouEc+P034v9rn+8nxB0/DpuO2T98tn+TK7G8f1sz+a+xliO/TZrfP4z4n3t8eEai03HL20Bu/6jo/vOn/0bdxD8Mg//Lx2nJU5It4N868T9v/FZ7ft/sKoDdf5/p3yOj8Ub+bc3jf8RaE3lSQM3vH178zxu/VFvfBrL7x5jlv0ZO9Y38Y+TxP4B6Vw80PZz+UYn/eeN3Xu8t4o5b3Aby+7d1jv8RGXl1K/89j3+N1TrymNSW8N/v3P/yxq8ZnVJ1O+EutoH8/uFz/PfIqLuZfzgW/5Y8SjVYzfD6j89j9uZ/eePXDN36366fjtv6xaAC/tHR/bu8m/Dt/Lcc/musN5HfJ13Ev6136n9542d9UF9yQ4O454cNrQJK+Nd0/yGN3YxVa3wfGWTx3+g/Id3A4P8iOEv+mtQU8Q+/R/+Jjd/UqoU6bxe3gVtZBXD6j6G2xA+IuBCPVVYx+Z9/boNOKuHwb8iT1IQLkfxbvdCQ4R/d7vwnNn5trVIFj+1uA4v4t/X6A+qLCzC/8H+BBn7/6T1bz+Hfk79wWwrMOdIZ5+j+9b78/2LvbJrdBKEwzIeAiuiZ6aYz3XTX9v//wU5XthHyHjLhRKzP6k6uETB5vPiK55YTv6e4yeSigDOkgSL+01LlP86zdCAi39J/2KMW/hsCbGwzk4z/NP0//n//ARK/HCAN/PhjgjL+k2f6H7jFLyxtSsT/SdB/QgzsAVsh/wf3f/j/HSV+mDmfBlYuDOrTf8P0n0CLO/O8/6zt3xSV+BvP9d/J+e/Z19uREJuQ/7QA/1/+gE7kP0j8+Oh8GlgTBfTpPyWm/0XMOisM/28t138l57/mrjt0BDFS/tMM/H/1AzqN/z+/Ekz8+KQtnwZye9Op/8Fx/S8zGKuv7L/lPu+cCMNpPuoDc7X/5tL+//oKEr963BTPkwZK+U+Wmf8h4jL5E/g/NPB/JMjA3ZA8ah53WxOLdFn/QeL3On4NdIBXNKxX/8lz/cdE68X8n+Xu/xvubDsQRkv4v0/tpsv5X0r8tAKw08AzPCYo5/9W4T9m9EL+j4X2G/hPDFbuImkr4f/elL6W/6XEL6k3ko5pIC4a1q3/pBn+W2JjRfyf5Nb/z9yz6EoMFjn/yV/M/3ziZyan3s3HHxMU9D8w/J+IT/TN/XdW8Pm/RBlCJgDYytvsGEH/zZX8zyd+cfWqCW6NVUXD+vWfrFJvff5vmJv5b+wfDNDkvf7b7G4e5daHxb8x281B0H/SV/EfJH5t8Dbwi4Z17P/gof8q1J0A2viPmRr4v2UFGh9fOLS4jJTDCfofLuF/w8QPp4EDMw3s2H8asf+WagjuM/4H1cD/mBUoPe73cIi0pRxa0H+y3fsPEr/2JF7RsF78N9n3wS+dpyq2z/ivW/hPOSZ3eEt8fMHm39nK/42ODJ3f/wOJnwTMomG9+G9zY4n4S7dQFekT/o+qgf9z4UibxxE/6ljogm3lv450JHTsP0j8JMFFw7rx3w8vfelcoBrCB/yProX/qXCkLTiHroUumFb+T9nXe/UfJH7C4KJh3fifn5ZiV+aBakji/kenWvhvCxvMcEWgpxyhlf9WbVfxHyR+8uCiYf34r8JL/leeAEZp/0fH2kOs7dNW2mCAEyDK0s5/P3zc/x9f3gF1xlsG/UvE/61q/cg/eEN8Bln/Q+LuobZPMdscrPU3Fvc+N/OfO7Vr6H936p6HbzL5f8VqflOuk4CZ5fwPY+Lugbm0F3XbwDWRU/E4p2b+c6d2t/9nRM5/TzxMru11C8Qhiflvq/ZQuZF+8Si6ov+2of+JONz+nxEx/9nzRKPy+LREQlgx/2lWRxwV8Gon4T5N5cEFKhPL90y3Zv5zp3a3/2dE0H8XCHPI/x46YQ2VEfU/qgycY2TxwG15cAsYfeG9plH9H8tep3X7f0bE/GfPE82/jS4OFU3baeU/bguV4l/UTsQDN5RjQgdRP/lvQI3q/9ndSsDt/xkR8589TzTqL8Y9ZGfUxhL1P3MFUB5hYCxqXtCDTxpM34dno/Ct/OdO7W7/z4io/zMxMIfraTMzL7OF/Y+Kf2Za4SY4otPgJLo9G4Vu6b+aCHL7f0ZE/VcLYUzm0x4960vTyH9o7M5KJSaFTNGoI8+bAPXAbSv/uVO72/8zIuu/GwhiVG4ePPJqUU8t/LeWCswVUwizaq1XQ0UcKnyEJlH+2ZCXNv4bdr2y2/8zIuY/e55oCnfK9kew5kgldBP/3QD6itvDBBT/R5Axhqe/N239x1O72/8zIuy/ioQw5VXw4Td7d7rgJAyFYTgQdgoca1sHbMF9mU7H+787d2N1ki8HCYLm/d0FRp8QQksb+SnTSwgn/vXr2zVYAGSUoRcJwQJCZnx2NG6ICqB/26md97/E5vFP1mts4P5/oNKNf/1/7igBCwD2VegqYgPmUJXRP8VO/eOpnfc/eafz/n73o/1+fz7Qwy3Gv8gIpL//N0468i9qsLVozMJF8PKGBFc/YvNMPHDqH0/tvP8p6873x+1D3X24nOjXFuQfzhND7WEQlzjwD77jUk90ApDhpXYztBAMm7lr/wGBZvU/7DTRVaedqT393P1O08nqzTvzY1QDgbrhw9bUXX+m65bjH8yQwVoheqob//qNUWcAYKthAfwLVealNgmeLl37F9mS/O91OK75tyZHx2uyu62mg9WbH82PUe3J2KHf4tr7W/rRovyL1BJxSNxyd/5FCrYX7B6qFKrNKIoFkurcfxytzb+Zf9vRBP5V/RT+h+PWrvZC31qY/wD5H7/659B/RbrqKSYAFT6FKIw7FaHdSJ37F/XK/AP+J5rEv2r4Y/8HpR+3u6XPLc2/aKz8Z8QtcOXfPB2JYtYEADOK6MHMf8AGfjravX+Rrsq/mf/2TFP7b09/5r/7sGXVDkQL9J9EFhTiiJhthFP/Aelq0MvgCiGgX/NxNof7XLj3H6zJf2c+lg40lX/VXfcn/s/tlltPtDz/QmL//Gl0Gbv1L0IweQfn70AG3IzSfAexBB6FKxf+U3FVsx7/gP89TedftRvvv+u3Izp2C/Qfp9h/SbyiRDj2HxA+A8Dbjg+ite5BJuElXj+QLvyTuCqJ1uIf8O9pSv+qe7Z/sL14AFief1FBDAWXfyFc+xeZ7RlAXI6auZjfpjE+ZIP9NzP4F3Il/rsjUDOtf9WZ4x+vVeDa0wL8J+K6EPnP2fzd+09IWwUGAMwfH76N42eFDYZz+I/T2f0/f/WS7x/yd+W/PWH/gD+ztvv7/tVjIKVwxH3/00LM4F9k1mcAccnkjzdZGpcIbY7Bc/gX1cz+n94QEdt/jw6ZDvyrsYXt/xbwH38K8PLm3Yz+VRKfDAchWdbEYhb/CYEzAFW8Ibuy2HJorEwrDKHNJxCSOfyLcEb/z1+9IGL6x/y3J5rev+oD9A/O/dkdydSLt+/n9x9HFothRUYWRbUQ8/gXEkJRVSnh0sp6KwLT8FkzXsGx/2QW/+rQz/WP+Q/kxL/yzfXPvOzPvwz4+tWzmf2L3OBfFddQ0SYWs/mPI73k3zYjlhEauaR6EhxjCtOmFoz9cOxfyDn8q0M/1z/kfyE3/lVnnv8L4o07E+rmzfNZ/YvQ6F9VbFKToESI+fwLyfr4UZyXpK/Mr/SjRQbTjcYjq53ezOM/jmbwf0Mqnn+Esyfn/ttb5J9/8g/fEXdzY/rbx4GmWPwUeowqCR6uEL9V1E1Ev5dmlUAFmjh7mOgegl9SFFJzMx9ZiIcrrF6+MP3NzH/ZgFOM9lzY/8smnH8g4J9G+x/MUnbkzL/q2AH/+G1Vd/3lcDgM+x3YLfvEAisq2YQpfS0KQ1klYiUF9SYMSW36pg6ED+TKP5Tp0L+qt/d/MB/Ye7VY2Q13xjOAVfv3+R72H2XT+W87culfdQH+LQ//fUdXDa12luD9+9affGgVZTL/7Ync+lcdoH98+G8P4CuC+KqGrDLv37earv1Hm0QIMZ3/M83mv72H/tEnlY4nUsG7lPW6Ndk4b7x/3zqSpApzIcSU/gdy4B+E/Lfj1vR53zxN6tL7960geXXoZ/tnfuX37/s/Mz+lyPevLrN7/76lJ68O/Uz//Av/f90/OEvghL9VlkXev2/RSSJK1aEf+J/oyt/8/vF73oHN5fhX5Y3371twkppKqHj++fz/un/mp5TH+lfFden9+5ZakQgxmX985W+5/m8JxPWvWs0H63y+ifwD/n/L/4n9lV62f59v5ZFqJMGBQH/J/wE9RrWFef++f7I/9n+htfkfRvg/eP++f7E/9d/T6vwfvH+fbxr/p//D/+D9+/7F/tT/sfsv/O+9f9+/GPSPB4C1+d97/z4f8G9dvzb/vffv8wH/9vXL9N9tNbV+/c/3H5ZvCoZ/RsMi/RPA7MB/nDfC51tmkiiVCd8/blik/yOYsHD831r4rzL//R/fcpP0ubKOJ/ffnpbov7e+aIl3kJD/YhP57//6lpykbzV5DPzzB4AF+h+sf9Rr96OWcQtw5T+Rqb//h2/hSfpRlFXAP7Njtzz/t/wly0H3sgb/cV36+3/5lt+v9/8sgH/mALA4/3TkDgBn2xMG5T9v/P0/fatI0i+lMgH+GfXO/d8fmf4H5uZeeD8AIEWVRf7+376VJOn3SuCfUe/a//7U8vx37ZZxB/DuA/N+gWXqf//Dt55c//7X4No/nbF/xo70t6Tq9i26+ofj+4+DXEoZhuFGyioQvIJAfqsK/I2HfM79H8EA4No/7Xn+uzuwaHH5+van4QOY2bjwX8gmouvKLI9tn5vSdeGmioXPh/y/GO2/O4KrgK790w77xwt6eFDjH/5fIP/WP81f1ohxlUXa5yYCF5CmVPxWQ5pq8UshocKwkXkhLCtIX8zet8z+9/PzyPaebwnpW97vFH/3/+j92xfj/BMcAFz77+5Y/ukDxI3rCfX6zfMnLP95SaYyA5JERmSqCQSqJl2J+DXtm21s/Ot/vx+3IX058G/nUfdISdpS2xl1JhbXD/+fenfzcox/NAAcO8f+6dRC/2AJkFt7C478r559+oNy/OcpgaRWf2bhKxgtK0ecVOE4/+rKEyolfQ3ff2nv3/TWld0mRgs8FVP+v/TmZoR/um3BAODYPw0s/3QCunEXI/637x99iuO/UFC4/mNJVjVmXaH9UUvqCYNXRWVgBKjIVMz2T7W9/8Bu5MnJ8GbLS/n/1vM3r5n+8QG4d+2f7hn+4XiB25G2lzfvHn0N+8eisP8gJcuiWhiK7FGXpA36xztpKiNTOd9/FFv7Fw1pS2z2OBQLTPlXPXvN9I8HANf+6Qj8TzoAtB3pevL8kcrSfxyOp7EhRk2s3wbSl9g/NAD+cWUMBil9Jd8/bez9J/p3lzarf4VYYMr/Tz1m+scDwODaf9di//wBgP/FpqeP2P6LlMb6j0smrmIEEartJ+E58o+L9E5yMpeM2LnC0r9xlhap8XhlvwwzkX88ADj2Tyfgf7oB4O5EU/ovIhrrv0gnw1WTvsZ+Ei4Z/vnLZA2Zq0f4Dy39m5f2cjhDSRe4+DeZfwyqPTn2TwPDPxiw0Gom3z/mj5P4qeMHgI3pOdw1eOx/1Dw+HvvEgLFqUBr84wsfueEawSKbyj8eAG4d+6ee55+63cgvE07in29YgqfaFSVg+R/NkRMgkO0f76nCBUqQfzzdCDX+wQQkAUujS70H3IT+aQDHTcf+6cgle2nZc/8D0ZT+E4Zhic/9xy+wRdbz6ppMMfyzHeMd3ozwT9LefwLeuSBN0VK/ivGRvftcghKGogCcSuhcx957H/X9384yjowuybk3wBrHnJ8KK+vsB8lN4Tj/+AZwtv8P94X+6cMTWeEv+kly/3LDNpsWfhQ14Ax2J7zPvUg8Ua4hmJDjnxq2f2XTrYj2Xxr6P9g/vgE8Odk/3ZE32R/fEuh/QCBS/y1l+7eUnVkqxPHH4HSufzyVZyacPse/4fv3IVVG8C7aLSo1x/qn9PP088n+6VNGl/3xE17LH+qX+58o239PILISgGWz0ldppMyR5j/KmOOfJrZ/NVGCePfvrPs5wz++ATw92T89kfsnevAJLvf78pFQ5P69I0kshJXfA2jZHC1ouWf6xw/MnhgJWf6Dx/7hN+rjIyOjKjZs/x/uREK/504qj39/8sYOe4D+8TUf/qAcOQblw6cv96NP/icAv9A/Rof9d7QrWjhPd2E/hc0x/slnznSccvyT5ftv4nc+/Q+t+wH+/8c8fvr51qPf5d96cnu9GYGI/TckiwVj8IIY9UcoHccfgz/E/+pY+pXbLP/UQP+wAeR8S1spdui/+t/MB26bgXb6b0kWCx7/kmjhrahnlyz8Mf5txDCKy/O/cPyDEqClrRS67qf6PzZy/w0JY0EjXJJFCGRm37Q0y38w3zLgC5TfLacs/6TZ/tVEspQ69F/9Hxi5/5GEsaAUJkojG0xc2K3wGftfv4uOqjaRCUowbZ7/gPxnNmpKXfdT/R8buX9HyThjv2U062EWPAtFsbKHq2M3Wkaef9iTyR4q9Vn+yaZvhTq35RZU0an+d0fuH/+g2+lyY0/Lu3W4cWqUaqYxeVQQDq1r7hwcw/MPm0GcpX+bl93l+XcN9i+fe1Xy0H/1f3ywf/zIvVim7+0PypbT/Hfdep51FE8jKP+v//hCKIHnHz5MGUv/3EwbWfL8U8v37wPxUuSWn9X/icH+cUe69Re1QkNElvH4GTx3heAsm1pj2L1wnn9472Es/Vu2r9vn+ScN/Mt7I2UP/Vf/xwf7x33INrI/h0WoVv6MG8Ai/DmzIemD/OPm/7x9bpfpf0D+xSXAgtf9VP/HB/vH5KIb4GlnYfffNfx/Jgj7s5p7YCfz72k7jLul3v74IdM/zcC/tARY+NB/9X94sH9MTqvt9B0Qs6piPag8eLpufbbhHoj9owEAxtK/2P9ik+nfeeBfOHpb6Jaf1f9Zwf6xS5P/pi4nGvrSsulEZr3z4AOxf1hKw+MTJta8mTP9Uwv8y9ZulT70X/3Lc77/SaF0FEkr2DTnNyXECbfsNUj869jlOdzatrG/GHL9Uw/8S1ZgFbvlZ/V/VrB/TM7nvyxkEkwzxNMJA/0efflZ27o5/lut9WTHgWIx+DtM0VGUJte/Af4lJcCy1/1E/B+YZ69e00bCrP9y5oE28vrVsxuHJd+/Ufn+G1FvYUwXCYc/0dkLbW77SnqMBKfFY6U+WrkYc/1Tx/ffUzLlbvkJ/B+XyDuFw9iov5ZmDkTRN/b9ff9Ltn/pMiOT/kAzXRzf/Gl0Ro+9fP8zlDbEC4Mh27/zM/DPLAEWvOUn8H9sHm68Uxi8kv68+G4gSr2x7+/7twrGiPwr4D/2gcvFiRdd3k6jr5Dvv4dTJduE7D7XP40a+GeWAP+BoX/g/7C8u0cbWTqvrptuoY3ce3NjzT/tf8j1H7YvxPxJYKHf0+gIzL3+WTuOdolvN7L8j5sfC/zzSoAlb/l5Pf/rO4U3K4rtpK6WqXVbnf43z3+70H/aP+X6j1zI/OefuD9/4R58cL7/Fs9hahLDG4HlX29dnUP+Wd+u+HU/2P81qoGu7dUV0o+bnf7Lit/f998qmPHg/r+O9OJ7IGOMfYsD/GvY/HfJ/4yJ5b/PuyBcAix6y8/r+sfVwF6dmmbe7PRvVvz+vv+/UP/vYj94B0ig4bd8/wZ3s5dkG7xl+VfjPv+x8/+BdT9c//94NdB3RlLx+/v+aYf/TnA0XE7Yw11Borz1bv8a97LnZPPG8fx7t8+/p838EzP/rugfVwPNKdXAKVLxg53+8/0HiuR68//SRuEUtyV66rzPP+99Yzq9GGpi+VfdPv+q+j+sGrhM6tDo7Yrfq5Px753/uxw7/7/Bv+gQ8+/h+JYFfd88/8EzHrHgX2h5/tVQ/V/NP64G6pMrfndBxe96/lsw8n0Zb3PW/7UEqwWRHjjC0Uf9m33+Xc94659B/RuP/VullK7+gf+T8ixWDfynK35s/1Y6cDw5A/sOruFXqF0ah0Ez3EK8K+KAfwl/NQBgMcAdz79qq3/g/7S8P6Ma6CPTfEQVv/P9ayJJN75ZiAxarn+5d4gfcB97hrPrxAfs8W88q/+y2J8ZwfdD/r2r/mX+S64GTu1VK375/j2gtbEBqFnFohsA5k9zegzLooXBE+hY5/l3M3jpNz+e51/N1f+Z/nE18N5R1cC+dXBh3/nZv/8nDfpSP5HhbD4VpvVEHTgT7E3iB7wgXqDtLfQfrAf/TYJ0TP8qVP9y/8VVA5txe2Hf+fixfzB1JNUC8uvEZcPbryfMWn1LP6ePArPrNXg2Dqnfv83x79oJzLCTZeD619V/jv+SqoF+3l7YJ634XdH/RCDBfEvYLKvPtDsWdER0nB9+dhqh/2DGrgcT7ORpmP7VUv3Tjb+eaDXwX6r48f0rlz8p1tPuNMBGA9rGOuV7YOz/8yu9SiRQfmau/8ZV/zdKyHY1cOi8eGHfzW8Vv7+fY9//OYJRfUla1JYA/5BL+wb+2T4m2pGB61/Z6v9GGYlVA7vYNJ/CKn5rTn3/d087o9FtCABc0nL6g/y3B7Vx0EWE6r+YxKqB0wUgG9vKq5Qk/as2379aSBL5DD0Dehpz2v90kH9HezKy/U/Vf0l5djdSDcQVv4c3Ckraf7PDf0O70iBiBgw1NOm1SPYY/x3tSlj9w3UK1X9Zef/25ebYVlN2xU/iX1mhf3yuvJLgQX3AZslqj/G/0L7061WCVlBT/ReXd9sDAl3JFT+Rfx9k/vG58vV1Omt6/QgKEeYQ/552ZmT7V7b6Ly9rNRDkRSkVP75/eRnPgnPZ6fHv3qb7BxMCcIj/jnYm8P37UP2XmOd/VAMLr/hh//m/cHuQjplRhNTpNrhHAJoj/BvaG832r7rqv9Cs1cCNvCyu0w/8548BdOBcZlqOMZ10YeDyXH2A/4Z2p+X7V6b6LzZrNfBi8/6SA/wLEWtwLp8E/gH7pEIL1cwH+J9pd5zAf1/9l5zLauDrAit+Yv+7tqBtM/njZ2x6Cm4PS/TjAf6H6Hewf8ZRJBPfvxqr/6LzrRpYfMVP7l91Ltu/anfwT8lwSRYO1w9Nvn/8PBb8P7QC/95V/4XnWzWw7Ipfhn/VDzL/+6cQYL7JOfgt/gCX7R8/jo2gjuo837+aq//y8+xVyRW/iH+QMdu/mhyx4ybug9MkR+E7xgqd/f4DsMUrFXYC/2qo/mvO8I+ih/xXUBhixjTsIbYxeUyDOxCk9/rXFIuW3CwWiX9d/dec4R9ndkL/a6ZAjIRObSRnqvHA6aV3uf5xacPLjo67DpcfU/3XXNv/ustfOn3+qeSsl9TY5tRBI0eA3evfifZH75IdAM0tJHpX/dec7D/OOFAiJnXqHAT7auLeu05RnDgCzE7/E8UyyuYKGYl/Zav/mrP840xtTPDY4NedoX01+T93nWoVs2pmAfjPb/5Pwo3CGol/Ff5T/zdrjs8L4H8r0/inqLAw34ii7QU3M06qpibhv+b0KGF0Z635Hms77ZUkvba2Nd+yWDv1qqam+hfmr/uvqdlO9f8vRtV8Ze/eVhyEoTAK75w8RMf+7/+0AyVSBh2ZtjaMur675qqVLCMpGPxP9L9E/7gK+l+if1wF/S/RP66i9/g4AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHaUXGGoqJk677s+mbmiMeAPoSbbk1Nhn5VD4PiKmfOPE60Od8xMBakPE/fDX0J1B+w/3SSp5RCLu1Gi/w19lKTRcJb+ve5iMlgn+t/iuCIv9T+piCuLTbu6APk6/Tsm+UPQGft3knZatb1YLV7pv9HMrZyCmlfGFOr0H1Tw+lxrdMr+034/QzP2pJ/q34aVuZS3xpTpv7bunP0b/S9V7n9UMWyPTSpaq9N/r6Kzy4sqhnCL5+u/t7e1KvgL4Ln+s2bJZq2WV9OrGCv1n+KP7+6PPeXf2onNKm73T+fpf9htzQ7vPywe4wni0cFOsy6q+FreEjRZkTTLlfq3HMvicPn+nX7sx5yn/2/2zm27eROIwjCcD5J4/6ftqv/EO4wGYywn7WozV7ZiwQD7gwGBQleJ41Ok4n75X1RdxMCOUB8DzodtCP9/in/lI9Gh1S//qO//Jv/+Xf/Jzjj1y/+i6kA2ojKY471E/Bn+Yb/8/3f5r/+m/4/6P+Ufkb0XHjZtp1nCL/+//L/LzC///zj/WNlLPPzH4nvGNqFf/n/5fy//Qf0r7P/K/84m+6U1mGUP4yPXo47UWqDT0YvNUGktUEwOFzPOrbmdQmt0JDd0HmeXvNbl04FH5w7zLdPCEtWGqDVLh8mDQ4y6/inEx20uHaU1iiwflyKF1grV7Xw076DWGpHZnOSXvlfyrrXOrJYsHaz+Oj9x883fzPnH6UAL71BEVmGZnQfz+sOymtiLqaKG7K2GMn/GS6ejak4bY/y9kiqkJBvyy1w6uZJtlqrm+qx/2jLu/sP/ry2kO60qpZMx/BrPFYL6yDWAig9BbRNByc7jvhEHW7xnl+HSlH8W71t8hem+T9h6/j01SYvO2AaL/tx57fae6zbvj03rTYmWQkOicCU0WEjCoOrofpu51ebdN/qq6Nhg1jg1+FOLg04bRp+32QYr6UEfPt3/k0qD2ejxCJW1v+eNFVaDCaSa2LUolLji8CIaoS8bMan6Az4LUpo//4N03IFq8wrWJVryqYUarpjPX5vuWp8rExRyXRMUc752LiqBA6776AguTfnnCsh9+I/2c+giumSzFXWfQ+vMJs5/B0x6C//5kwDUO6oeFrRSjwsRGwzPk3bL0sns6Nkq/9AgGvlV/jM1Zma0hzJimzxb/l3fmRn4Jd89QkZGEHKPgRZiSp1sg2b1SUor/G9dr3j3zpU+TfeQ/9uvV/jv5E8jQSVJUGPn84h/d3SphHX+a/e0vzC3ur14Ry/Jvgg7SsZt7zlgefg38J/7TA3Uzi0xrnqFVcPSGSVk8wBQP+cfzcbEvcw/KlxCDEN1Hm25J1TL+mY7zUKCqnh1GYYbMGDBCI57fU08Cc23wH/oM2X4w8dH/NfSlvjn6q57/3UqKDmZIvEvVe46//rrPb4Jcj76ytdNNOtAIrftzAEsXuefZ2qG+KMQE+PrH9wsgmyhgWf8F9m1Rf4xhIuIwe/IFBt46uGVrdnELljHp5QO6pFYPPMP04M22p7nX65dI8h2zL9tq/zDkAB/or6Lgpo4L3FwtMv84+GeQlOGiqEbP3AP0Un9WoElQ33fQE02d5V/F6T4d2+y6Rn/XG0Z4dBRS6/+hL+hoFP+60Arfp1/b5toteucvDB3Zz376wFAGIVdpqugEqO42jDi3wVZSq/yfzC5t3D3ZMx/u8a/DIl/IKgR0CL/qV3nH821QRB1Q0IaFXhqq1LYOJ6wFoEw91zLlgID8gr/RmgsiJ1bYIUoBwqBMjG/EaDrAs9QYcUr5RIZ9Qz/edhs6/xTG5g+BwCmrwPoMFw5m5VYCOgavgK3ojFXYRTL/MPb2+KYh5QW+A9k22n1CiTmGtz7+S8H9YKjLhkQZ/du6Uo/cL6J/IdL/PPmrGi6fG83p6o0dYbo+/6rsIiTGuqeugUBjdBqwn8isvcqIaJxBNNiVsoba/raImNM6ftgff6GMvnSUAxQovvpbnz2gWylck+diKqKyO4wxjzqCjPhZvrbas9/xr2hGhOZBEJHZmCBDXr+K8ftAhvdDL5BXNb34kkP+LdUWtP3dE0vpfA8/0V3YaBXCl9L30L0tYWI8V9ohX8uqAxBsUn21gvq6JwPcH7EQWrIBRJf5B/QF4T/GNgSInrHJ42uDypRNMT0ucEF6tcDtyf5n2K28Sme119laTUbpo6vhYhsqcB3RSRJMUbo06zxT+/EcJ02ulaOq/t/Klvz8KUrSeKhuKhDUgvGK0+z0MpZfIGMKguGjiH/h7+1ls+QUv+b/Cz/1vdtq7ve6dCy3njMFm6UZj3lv/OhPi8oXOj4z3B+xMHBHnhvdpF/VlZ3by2I5ehUwiKo3kUmseEqq+U6vsh/lBLKpzEVlH0txKaE1lMBX1HL3DKf0+z+Kf43CFR4prbGf2kMMI85fhcA3D/DkzrVx1wxn5+R597lb5tsdsR/BBQD22f8s6Q2FJMptNRtyn/ATGXOP6jIa4JC3nyyPeBAPry7rfHPa/r+IWOQsvgrbyvPxIvP8uILsY6ELvPP1SgFBYe0boVC5DNTzNUyXhwEQ1j1mPNvOmb7iGCV/8bLDo9MJ/fE+mbCQE1X3s6o+cJ+6LqyNjIvJxgUyjGw+iz/iY0E+v4NFvSE/00t8q+ngqI2sMTum3Dgzi/qKYv8s2UgNAKSwhqyrEfIWWw0odz1zfyLOjbn4aJK/Ktpc7WRGeGBafAL/OtzF5ZX+edl58u1aFPq29PDjSsv3IxsCEOHA2ck02IZAfeYEnqWfxltEqAb82/VKv9eFFRs+K0dCupp583gHblmmX9oBFal+KuoGf+TRoPz7+RfZECGzLydf2HGQ9f41+/jn/o4KH7q3X58Xx3+ZV4/Uw0fiSHQfYn/7dv5z1bwZMg/LfEvC4r/tv3b+OejdkagBNvn/OOzJWb1B/gvIv+4JV7jPxCz9AewMBD2nP/tfeN/ERbnRI4CskeWy8ZTtS5JVEFEhZjl2VE1GkrpAv/YeQ87HvFfhTLHi/yHoaD+If41k4gYFfgV/klx+0b+ibnIlkKEkw5L/CPv8bnDBjPP8x/fOP/3o9VQzcNdJx5YcIaIdte9UKd6OBGpOxHpTyOXFQfpqQRl/idSepV/nEYMcNWO+EclyjFBfYX/Bd1POQCwTOIy/76iiXuz0gJLZeH/nH9QZ3+S/4ieXBJo4n5atcT/AVDGpg84MZO3ZkMvsmhllX/i2ebTTlni212j0K9n2x1DcaWvu8iqQEjECMM/BLkv858g7vfxD/M4gLXGPzwqL/If0WTX+A88Nt/bA/61HZ4zO6SAcBM6hRn/jkO3mT+mv5H/xJ3M6bNyUDsO+jzW+E9856n5sBs5h+ZqmMubnX52YKmu8r+jVA6NzJ6bj9YsgTQe2js2H5EnUzwRJMEqITJmnPmwKf+eX0qQ0hX+N+MgmyX+D/GZ8Tr/icdsOwS1xH8UD3zK/OPBcBEJggUxKshz/rtZW2brOt/DP3c07FpvkZHR7GHI4qte49/1x9awe/Oj5mjDGYRp/M/HznBUajC/wj9nmeoRpGNVpwyOU4617yw1ehXWYckBgOcX9GA1wqGXnPGvCqTUaTRf4z987tUya/zjhlsCDscu6yL/zsqCam6Rf90gcYLEZf7jg2NmThzpD9YpzPhnytl1irj93fzP9/+H4frxGv+oOVuT3qlTdPio/IhtN3P+vW2yxfX3f9X5A/bMM9CnxibUDqtQ9nstBQDEL8QzxS2YTWOrc5rzn5Ack9Kr/OOnpZoC75/kPzfZtkX+lRkJapF/RQv7/8MjlRVppE+sU5jzP9zctH8r/3CfLY9KZvMq/84OAUvn5N2cf8Qm/N5V/uVujtdU5J0C8RzbOv+q8osHz2bcCmFSQQ/UvV3gX2zLNOEfFgZlWeJ/3GZ+mf+8wD/7I4wJsohRQX6Wf1dEd76Xf28l8aeBflb5lzWcZEXsTy1vxUHPtM6/ynYaSXjhxD5vinX+EcbKsT7yOlue8j/CJKpL/KNk0PvT/OuXBQUPx222q2X+1f6m8T+LAibWx835H73v5Zv55xVqhtKzWq3zj4MVsCpnENUz/HMdYu19nX+Vy3SPbOTZB76kuT7/x02J68UrmBgjpVkFDUtG7hL/zkqd7px/5CO0+Br/0CtPZ51/PpCsz//H//RPPpc251+5KojxO/nHe9Cmb8Y7vHqFf7zptD9w5Y9B1D2Xtw68lpxa51+u8KDlHd4FTCKFpfV/DA64KSBVLha5qCXPK4iXDEW+OP5b5otXC/wL71ozapV/WVBJLfEvexRpef2fT+aK+Ax9W+Afr7bF22i/mX88gYf+cRWu4PoS/zyhgNe1+mrl99PO5Z2OxmppmX/Ri5JGzZs6dDH8j57/Q5VRDCsMb5PRO5BSEdyb8y9I6Sr/ynFfVvjHC6Xh0Tr/sqDW+efbGcOmhvyjiYtTP2B6N0RUjVY/Zy6Zg6juub+qTX2LK267JWRY+irfihqNfiXFiBSvGLzY3Iul29n+v0Pa//ey+VtRD5P8upTMm6Xk4MsrltOt1eK1ZoMyr6eTDNHxuH6wxVP92l/twQEJAAAAgKD/r/sRKgAAAADcBW5NnDiyVuYcAAAAAElFTkSuQmCC';\n}\n\nfunction writeLine(y, doc, label, firstColumn, secondColumn, thirdColumn) {\n let x = 20;\n doc.setFontType('bold');\n doc.text(x, y, label);\n x = 105;\n doc.setFontType('normal');\n doc.text(x, y, firstColumn, null, null, 'right');\n doc.text(x + 40, y, secondColumn, null, null, 'right');\n doc.text(x + 90, y, thirdColumn, null, null, 'right');\n}","import React, { Component } from 'react';\r\nimport SizingParameters from './SizingParameters';\r\nimport SizingResults from './SizingResults';\r\nimport GeneratePdfResult from './GeneratePdfResult';\r\n\r\nfunction formatNumber(number, maximumFractionDigits) {\r\n return new Intl.NumberFormat('en-US', { maximumFractionDigits }).format(number);\r\n}\r\n\r\nexport class SizingCalculator extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n totalCorrectionFactor: '',\r\n applicationDensity: '',\r\n standardDensity: '1 Sp. Gr.',\r\n densityCorrectionFactor: '',\r\n applicationTemperature: '',\r\n standardTemperature: '70 F',\r\n temperatureCorrectionFactor: '',\r\n applicationPressure: '',\r\n standardPressure: '14.7 PSIG',\r\n pressureCorrectionFactor: '',\r\n flowRateCorrectionFactorLabel: 'AIR @ STP',\r\n applicationFlowRate: '',\r\n flowRateCorrectionFactorOne: '',\r\n flowRateCorrectionFactorOneUnit: '',\r\n flowRateCorrectionFactorTwo: '',\r\n flowRateCorrectionFactorTwoUnit: '',\r\n flowRateCorrectionFactorThree: '',\r\n flowRateCorrectionFactorThreeUnit: '',\r\n fluidType: 1,\r\n fluidName: 'Air'\r\n };\r\n }\r\n\r\n async calculateResult(parameters) {\r\n try {\r\n const calcultedResult = await fetch('api/sizer/calculate', {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(parameters)\r\n });\r\n\r\n if (calcultedResult.ok) {\r\n const jsonResult = await calcultedResult.json();\r\n this.setState(this.formatResult({ ...jsonResult }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n async calculateAndGeneratesPdf(parameters) {\r\n await this.calculateResult(parameters);\r\n GeneratePdfResult({ ...this.state });\r\n }\r\n\r\n formatResult(apiResult) {\r\n\r\n const totalCorrectionFactor = formatNumber(apiResult.totalCorrectionFactor, 4);\r\n const applicationDensity = `${formatNumber(apiResult.density, 4)} ${apiResult.densityUnit}`;\r\n const standardDensity = `${formatNumber(apiResult.standardDensity, 4)} ${apiResult.standardDensityUnit}`;\r\n const densityCorrectionFactor = formatNumber(apiResult.densityCorrectionFactor, 4);\r\n\r\n const applicationTemperature = `${formatNumber(apiResult.temperature, 2)} ${apiResult.temperatureUnit} `;\r\n const standardTemperature = `${formatNumber(apiResult.standardTemperature, 2)} ${apiResult.standardTemperatureUnit} `;\r\n const temperatureCorrectionFactor = formatNumber(apiResult.temperatureCorrectionFactor, 4);\r\n\r\n const applicationPressure = `${formatNumber(apiResult.pressure, 4)} ${apiResult.pressureUnit ? apiResult.pressureUnit : ''} `;\r\n const standardPressure = `${formatNumber(apiResult.standardPressure, 4)} ${apiResult.standardPressureUnit ? apiResult.standardPressureUnit : ''} `;\r\n const pressureCorrectionFactor = formatNumber(apiResult.pressureCorrectionFactor, 4);\r\n\r\n const flowRateCorrectionFactorLabel = parseInt(apiResult.sizerParameters.fluidType) === 1 ? 'AIR @ STP' : 'WATER @ STP';\r\n const applicationFlowRate = `${formatNumber(apiResult.flowRate, 2)} ${apiResult.flowRateUnit === 'Unknown' ? '' : apiResult.flowRateUnit} `;\r\n const flowRateCorrectionFactorOne = formatNumber(apiResult.flowRateCorrectionFactorOne, 4);\r\n const flowRateCorrectionFactorOneUnit = apiResult.flowRateCorrectionFactorOneUnit;\r\n const flowRateCorrectionFactorTwo = formatNumber(apiResult.flowRateCorrectionFactorTwo, 4);\r\n const flowRateCorrectionFactorTwoUnit = apiResult.flowRateCorrectionFactorTwoUnit;\r\n const flowRateCorrectionFactorThree = formatNumber(apiResult.flowRateCorrectionFactorThree, 4);\r\n const flowRateCorrectionFactorThreeUnit = apiResult.flowRateCorrectionFactorThreeUnit;\r\n const fluidType = parseInt(apiResult.sizerParameters.fluidType) === 1 ? 'Gas' : 'Liquid';\r\n const floatMaterialName = apiResult.sizerParameters.floatMaterialName;\r\n const fluidName = apiResult.sizerParameters.fluidName;\r\n return {\r\n totalCorrectionFactor,\r\n applicationDensity,\r\n standardDensity,\r\n densityCorrectionFactor,\r\n applicationTemperature,\r\n standardTemperature,\r\n temperatureCorrectionFactor,\r\n applicationPressure,\r\n standardPressure,\r\n pressureCorrectionFactor,\r\n flowRateCorrectionFactorLabel,\r\n applicationFlowRate,\r\n flowRateCorrectionFactorOne,\r\n flowRateCorrectionFactorOneUnit,\r\n flowRateCorrectionFactorTwo,\r\n flowRateCorrectionFactorTwoUnit,\r\n flowRateCorrectionFactorThree,\r\n flowRateCorrectionFactorThreeUnit,\r\n fluidName,\r\n fluidType,\r\n floatMaterialName\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Layout } from './components/Layout';\r\nimport { SizingCalculator } from './components/SizingCalculator';\r\n\r\nexport default class App extends Component {\r\n static displayName = App.name;\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register () {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW (swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker (swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister () {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import 'bootstrap/dist/css/bootstrap.css';\r\nimport './assets/styles/bootstrap-theme.min.css';\r\nimport './assets/styles/site.css';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport App from './App';\r\nimport registerServiceWorker from './registerServiceWorker';\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n rootElement);\r\nregisterServiceWorker();\r\n"],"sourceRoot":""}