{"version":3,"sources":["Knack.png","images/NKP.svg","images/sneakpeek.webp","images/SwissMailBox.png","images/Sound Originals.png","images/famsa.png","images/knack.svg","components/Header.js","components/Particles.js","components/index.js","components/Resume.js","components/Footer.js","components/Navbar.js","components/Portfolio.js","components/Contact.js","App.js","serviceWorker.js","index.js","avatar.png"],"names":["module","exports","useStyles","makeStyles","theme","avatar","width","spacing","height","margin","title","color","subtitle","textTransform","typedContainer","position","top","left","transform","textAlign","zIndex","Header","classes","Box","className","Grid","container","justify","Avatar","src","alt","Typography","variant","strings","typeSpeed","backSpeed","loop","particlesCanvas","opacity","Particles","canvasClassName","params","particles","number","value","density","enable","value_area","shape","type","stroke","size","random","anim","speed","size_min","sync","opacity_min","Home","Fragment","mainContainer","background","timeLine","padding","content","border","right","display","clear","breakpoints","up","timeLineItem","borderBottom","borderStyle","borderColor","borderWidth","float","timeLineYear","maxWidth","fontSize","lineHeight","heading","subHeading","body1","subtitle1","Resume","component","align","bottomNavContainer","overflow","root","fill","knack","Footer","BottomNavigation","BottomNavigationAction","icon","target","href","Knack","LinkIcon","appbar","arrow","menuSliderContainer","listItem","menuItems","listIcon","listText","listPath","Navbar","useState","open","setOpen","AppBar","Toolbar","IconButton","onClick","Link","Drawer","anchor","onClose","List","map","item","i","ListItem","button","key","to","ListItemIcon","ListItemText","primary","cardContainer","media","body","projects","name","description","image","nkp","link","SneakPeek","swissMailBox","famsa","soundOriginals","sixDLabs","Portfolio","project","xs","sm","md","Card","sx","CardActionArea","CardMedia","objectFit","CardContent","gutterBottom","contactContainer","marginBottom","form","input","marginTop","field","disabledButton","backgroundColor","error","InputField","withStyles","TextField","Contact","setName","email","setemail","message","setMessage","errorMessage","setErrorMessage","handleDisabled","fullWidth","label","onChange","evt","inputProps","test","multiline","rows","Tooltip","Button","endIcon","disabled","nameSplit","first","split","last","undefined","axios","url","method","headers","data","JSON","stringify","field_44","field_45","field_46","then","resp","console","log","window","location","reload","catch","err","App","CssBaseline","exact","path","Boolean","hostname","match","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.7dd46e34.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/Knack.fdf32a85.png\";","module.exports = __webpack_public_path__ + \"static/media/NKP.61d48dff.svg\";","module.exports = __webpack_public_path__ + \"static/media/sneakpeek.311c84ff.webp\";","module.exports = __webpack_public_path__ + \"static/media/SwissMailBox.110232bb.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/famsa.4c15ad98.png\";","module.exports = __webpack_public_path__ + \"static/media/knack.e15e64f7.svg\";","import React from \"react\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Avatar from \"@material-ui/core/Avatar\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Box from \"@material-ui/core/Box\";\nimport Typed from \"react-typed\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport avatar from \"../avatar.png\";\n\nconst useStyles = makeStyles((theme) => ({\n avatar: {\n width: theme.spacing(15),\n height: theme.spacing(15),\n margin: theme.spacing(1),\n },\n title: {\n color: \"white\",\n },\n subtitle: {\n color: \"#6c7a86\",\n textTransform: \"uppercase\",\n },\n typedContainer: {\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%,-50%)\",\n width: \"100vw\",\n textAlign: \"center\",\n zIndex: 1,\n },\n}));\n\nconst Header = () => {\n const classes = useStyles();\n\n return (\n \n \n \n \n \n \n \n\n \n \n \n \n );\n};\n\nexport default Header;\n","import React from \"react\";\nimport { Particles as ReactParticles } from \"react-particles-js\";\nimport { makeStyles } from \"@material-ui/core/styles\";\n\nconst useStyles = makeStyles((theme) => ({\n particlesCanvas: {\n position: \"fixed\",\n opacity: \"0.3\"\n },\n}));\n\nconst Particles = () => {\n const classes = useStyles();\n\n return (\n \n );\n};\n\nexport default Particles;\n","import React from \"react\";\nimport Header from \"./Header\";\nimport Particles from \"./Particles\";\n\nconst Home = () => {\n return (\n \n \n \n \n );\n};\n\nexport default Home;\n","import React from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Box from \"@material-ui/core/Box\";\n\nconst useStyles = makeStyles((theme) => ({\n mainContainer: {\n background: \"#262b2f\",\n },\n timeLine: {\n position: \"relative\",\n padding: \"1rem\",\n margin: \"o auto\",\n \"&:before\": {\n content: \"''\",\n position: \"absolute\",\n height: \"100%\",\n border: \"1px solid #f0dbc1\",\n right: \"40px\",\n top: 0,\n },\n \"&:after\": {\n content: \"''\",\n display: \"table\",\n clear: \"both\",\n },\n [theme.breakpoints.up(\"md\")]: {\n padding: \"2rem\",\n \"&:before\": {\n left: \"calc(50% - 1px)\",\n right: \"auto\",\n },\n },\n },\n timeLineItem: {\n padding: \"1rem\",\n borderBottom: \"2px solid #f0dbc1\",\n position: \"relative\",\n margin: \"1rem 3rem 1rem 1rem\",\n clear: \"both\",\n \"&:after\": {\n content: \"''\",\n position: \"absolute\",\n },\n \"&:before\": {\n content: \"''\",\n position: \"absolute\",\n right: \"-0.625rem\",\n top: \"calc(50% - 5px)\",\n borderStyle: \"solid\",\n borderColor: \"white white transparent transparent\",\n borderWidth: \"0.625rem\",\n transform: \"rotate(45deg)\",\n },\n [theme.breakpoints.up(\"md\")]: {\n width: \"44%\",\n margin: \"1rem\",\n \"&:nth-of-type(2n)\": {\n float: \"right\",\n margin: \"1rem\",\n borderColor: \"#f0dbc1\",\n },\n \"&:nth-of-type(2n):before\": {\n right: \"auto\",\n left: \"-0.625rem\",\n borderColor: \"transparent transparent white white\",\n },\n },\n },\n timeLineYear: {\n textAlign: \"center\",\n maxWidth: \"9.375rem\",\n margin: \"0 3rem 0 auto\",\n fontSize: \"1.8rem\",\n color: \"#fff\",\n background: \"black\",\n lineHeight: 1,\n padding: \"0.5rem 1rem\",\n \"&:before\": {\n display: \"none\",\n },\n [theme.breakpoints.up(\"md\")]: {\n textAlign: \"center\",\n margin: \"0 auto\",\n \"&:nth-of-type(2n)\": {\n float: \"none\",\n margin: \"0 auto\",\n },\n \"&:nth-of-type(2n):before\": {\n display: \"none\",\n },\n },\n },\n heading: {\n color: \"#6c7a86\",\n padding: \"3rem 0\",\n textTransform: \"uppercase\",\n },\n subHeading: {\n color: \"#fff\",\n padding: 0,\n textTransform: \"uppercase\",\n },\n body1: {\n color: \"#6c7a86\",\n },\n subtitle1: {\n color: \"#f0dbc1\",\n textAlign: \"justify\"\n },\n}));\n\nconst Resume = () => {\n const classes = useStyles();\n return (\n \n \n Working Experience\n \n \n \n 2021 - Present\n \n \n \n Knack Expert\n \n \n Knack\n \n \n From early 2021, I've worked as a freelance developer on the Knack Expert Network assisting multiple clients in developing, maintaining, and implementing advanced features for their Knack Apps. \n I've worked with clients from multiple industries including genetics, finance, freelance management, and more. \n My specialty in this industry is crafting simple and easy solutions either through internal tools available on the Knack platform or its backend JS customization, by deploying nodejs apps for server-side processes or using third-party integration tools such as make.com or zapier.\n \n \n \n 2019 - 2020\n \n \n \n DATA ANALYST\n \n \n OPTIMAL NUTRITION PROTOCOL\n \n \n Developed algo for analysis of lifestyle and biological data to output nutrition and lifestyle modifications \n Automated end to end company process \n Developed portal system for client facing \n Identified and set up tools for overall operations \n Social Media Strategy and marketing\n \n \n \n 2018 - 2020\n \n \n \n DEVELOPER\n \n \n COMBAT KINETICS\n \n \n Complete automation of operations processes using \n SaaS Platforms and custom backend API Scripts \n Social Media strategy and marketing through online ads \n Sales and marketing \n \n \n \n 2018\n \n \n \n DATA ANALYST\n \n \n AMADORA GOURMET ICE CREAM\n \n \n Maintained inventory management software and inventory requirement prediction using production data \n Leveraging sales data to plan product to focus on \n Developing customer personalization using purchase patterns\n \n \n \n 2015 - 2018\n \n \n \n APPLICATION SPECIALIST - BIOINFORMATICS\n \n \n XCODE LIFE SCIENCES\n \n \n Development of SNP prediction model for detecting \n Type 2 Diabetes in Indian population \n Disease risk prediction calculation using genetic data \n Developed REST API for partners to query client report status and results \n Operations automation using Google Apps Script and GSuite \n Developed a program to generate PDF outputs from raw genetic data\n \n \n \n 2014 - 2015\n \n \n \n JUNIOR RESEARCH FELLOW\n \n \n ICGEB\n \n \n Validation of Integrative Data Mining for classification of cancer stage and grade using‘ omics’ data \n Identification of Methylation sites of PRMT protein in Plasmodium for designing molecular drug targets\n \n \n \n 2013 - 2014\n \n \n \n PROJECT FELLOW\n \n \n CSIR - IGIB\n \n \n Study of Mycobacterium virulent factors overexpression in an extrapulmonary setting\n \n \n \n \n );\n};\n\nexport default Resume;\n","import React from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport BottomNavigation from \"@material-ui/core/BottomNavigation\";\nimport BottomNavigationAction from \"@material-ui/core/BottomNavigationAction\";\nimport LinkedIn from \"@material-ui/icons/LinkedIn\";\nimport GitHub from \"@material-ui/icons/GitHub\";\nimport Knack from \"../Knack.png\";\nimport LinkIcon from \"@material-ui/icons/Link\";\n\nconst useStyles = makeStyles({\n bottomNavContainer: {\n background: \"#222\",\n height: \"55px\",\n overflow: \"hidden\",\n },\n root: {\n \"& .MuiSvgIcon-root\": {\n fill: \"white\",\n \"&:hover\": {\n // fill: \"tomato\",\n fontSize: \"1.8rem\",\n },\n },\n },\n knack: {\n width: \"10px\",\n height: \"10px\",\n // margin: ,\n }\n});\n\nconst Footer = () => {\n const classes = useStyles();\n\n return (\n \n } target=\"_blank\" href=\"https://www.linkedin.com/in/muthukumararjun/\" className={classes.root} />\n } target=\"_blank\" href=\"https://github.com/l-arginine\" className={classes.root} />\n } target=\"_blank\" href=\"https://www.knack.com/experts/#expert-directory/expert-details2/6151fd61e43e7e001e32d3c9/\" className={classes.root} />\n \n );\n};\nexport default Footer;\n","import React, { useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport Drawer from \"@material-ui/core/Drawer\";\nimport Box from \"@material-ui/core/Box\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport List from \"@material-ui/core/List\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\nimport ListItemText from \"@material-ui/core/ListItemText\";\nimport Avatar from \"@material-ui/core/Avatar\";\nimport Typography from \"@material-ui/core/Typography\";\nimport LinkMail from \"@material-ui/core/Link\";\nimport MenuIcon from '@material-ui/icons/Menu';\nimport AssignmentInd from \"@material-ui/icons/AssignmentInd\";\nimport Home from \"@material-ui/icons/Home\";\nimport Apps from \"@material-ui/icons/Apps\";\nimport ContactMail from \"@material-ui/icons/ContactMail\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport avatar from \"../avatar.png\";\n\nimport Footer from \"../components/Footer\";\n\nconst useStyles = makeStyles((theme) => ({\n appbar: {\n background: \"#000\",\n margin: 0,\n },\n arrow: {\n color: \"#6c7a86\",\n },\n title: {\n color: \"white\",\n },\n menuSliderContainer: {\n width: 250,\n background: \"#262b2f\",\n height: \"100%\",\n },\n avatar: {\n display: \"block\",\n margin: \"0.5rem auto\",\n width: theme.spacing(13),\n height: theme.spacing(13),\n },\n listItem: {\n color: \"white\",\n \"&:hover\": {\n color: \"#6c7a86\"\n // fontSize: \"1.8rem\",\n }\n },\n}));\n\nconst menuItems = [\n { listIcon: , listText: \"Home\", listPath: \"/\" },\n { listIcon: , listText: \"Resume\", listPath: \"/resume\" },\n { listIcon: , listText: \"Portfolio\", listPath: \"/portfolio\" },\n { listIcon: , listText: \"Contact\", listPath: \"/contact\" },\n];\n\nconst Navbar = () => {\n const [open, setOpen] = useState(false);\n\n const classes = useStyles();\n\n const sideList = () => (\n \n \n {/* */}\n \n {menuItems.map((item, i) => (\n setOpen(false)}\n component={Link}\n to={item.listPath}\n >\n \n {item.listIcon}\n \n \n \n ))}\n \n \n );\n\n return (\n \n \n \n \n setOpen(true)}>\n \n \n \n \n arjunm.info\n \n \n \n \n \n setOpen(false)}>\n {sideList()}\n \n \n \n );\n};\n\nexport default Navbar;\n","import React from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Box from \"@material-ui/core/Box\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Card from \"@material-ui/core/Card\";\nimport CardActionArea from \"@material-ui/core/CardActionArea\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport CardMedia from \"@material-ui/core/CardMedia\";\nimport Typography from \"@material-ui/core/Typography\";\n\nimport nkp from \"../images/NKP.svg\";\nimport SneakPeek from \"../images/sneakpeek.webp\";\nimport swissMailBox from \"../images/SwissMailBox.png\";\nimport soundOriginals from \"../images/Sound Originals.png\";\nimport famsa from \"../images/famsa.png\";\nimport sixDLabs from \"../images/knack.svg\";\n\nconst useStyles = makeStyles((theme) => ({\n mainContainer: {\n background: \"#262b2f\",\n height: \"100%\",\n },\n cardContainer: {\n maxWidth: \"45rem\",\n margin: \"3rem auto\",\n background: \"#6c7a86\",\n color: \"#fff\"\n },\n media: {\n height: \"10%\",\n width: '50%',\n margin: \"0 auto\"\n },\n body: {\n color: \"#fff\"\n }\n\n}));\n\nconst projects = [\n {\n name: \"Nordic Knowledge Partners\",\n description: `A proprietary Mergers and Acquisitions research firm that focuses on delivering up-to-date structured data to its clients in the Nordics region. I have helped automate financial data gathering, ChatGPT integration for processing investment-based news articles, pull data from third-party equity trading platforms, and generate reports for their clients. I am constantly working with the NKP team to improve their data and provide a robust user experience for their clients including converting the existing Knack framework to a mobile-friendly version.`,\n image: nkp,\n link: \"https://www.nordicknowledgepartners.com/\"\n },\n {\n name: \"SneakPeek\",\n description: `A US-based genetics company that provides gender prediction for pregnancies from 6 weeks on. I work closely with the SneakPeek (recently acquired by Myriad Genetics) development team on building and maintaining databases, forms, and other functionalities on Knack which is the primary tool they use both for operations and customer interactions. We work on developing customized processes with backend JS mods and integrations with multiple other platforms such as Klaviyo, Attentive, HubSpot, etc., either through Make.com scenarios or through nodejs apps built by me.`,\n image: SneakPeek,\n link: \"https://sneakpeektest.com/\"\n },\n {\n name: \"SwissMailBox\",\n description: `As a private mailing company located in Geneva, I helped SwissMailBox develop a privacy-focused and easy-to-use Knack implementation for both their end-users and internal processes from scratch. As a small organization with no technical know-how, I helped guide them with perfect solutions for their use cases and built a back-end framework that required minor maintenance and low overhead.`,\n image: swissMailBox,\n link: \"https://swissmailbox.biz/\"\n },\n {\n name: \"Fusion and Machinery Surveyors\",\n description: `An Australian company that provides insurance assessments for claims, I developed easy resources for the team to be able to generate reports using js modules and automate components of their invoicing processes on Xero using make scenarios.`,\n image: famsa,\n link: \"https://famsa.com.au/aboutus.htm\"\n },\n {\n name: \"Sound Originals\",\n description: `A wedding photography freelance group that employs multiple freelancers across the US, I helped build the entire management process and custom tools for appointment and availability management, reminders, check-ins, and more by both levying tools available on the Knack platform and through custom nodejs apps.`,\n image: soundOriginals,\n link: \"https://soundoriginals.com/\"\n },\n {\n name: \"6D Labradors\",\n description: `A family-owned dog breeding company in the US, I worked closely with them, crafting their app to maintain their breeding process, manage litters, complete daily checklists, and manage the overall activities involved in managing their operation.`,\n image: sixDLabs,\n link: \"https://www.6dlabradors.com/\"\n },\n];\n\nconst Portfolio = () => {\n const classes = useStyles();\n return (\n \n \n {/* Projects */}\n {projects.map((project, i) => (\n \n \n \n \n \n \n {project.name}\n \n \n {project.description}\n \n \n \n \n \n ))}\n \n \n );\n};\n\nexport default Portfolio;\n","import React from \"react\";\nimport { useState } from \"react\";\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\";\nimport Box from \"@material-ui/core/Box\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Button from \"@material-ui/core/Button\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport axios from 'axios';\n\nimport Send from \"@material-ui/icons/Send\";\n\nconst useStyles = makeStyles((theme) => ({\n contactContainer: {\n background: \"#262b2f\",\n height: \"100vh\",\n },\n heading: {\n color: \"white\",\n textAlign: \"center\",\n textTransform: \"uppercase\",\n marginBottom: \"1rem\",\n },\n form: {\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n position: \"absolute\",\n },\n input: {\n color: \"#fff\",\n },\n button: {\n marginTop: \"1rem\",\n color: \"#fff\",\n borderColor: \"#f0dbc1\",\n \"&:hover\": {\n color: \"#f0dbc1\",\n }\n },\n field: {\n margin: \"1rem 0rem\",\n },\n disabledButton: {\n backgroundColor: 'gray'\n },\n error: {\n color: \"red\"\n }\n}));\n\nconst InputField = withStyles({\n root: {\n \"& label.Mui-focused\": {\n color: \"#fff\",\n },\n \"& label\": {\n color: \"#f0dbc1\",\n },\n \"& .MuiOutlinedInput-root\": {\n \"& fieldset\": {\n borderColor: \"#f0dbc1\",\n },\n \"&:hover fieldset\": {\n borderColor: \"#f0dbc1\",\n },\n \"&.Mui-focused fieldset\": {\n color: \"#fff\",\n borderColor: \"#f0dbc1\",\n },\n }\n },\n})(TextField);\n\nconst Contact = () => {\n const classes = useStyles();\n const [name, setName] = useState('');\n const [email, setemail] = useState('');\n const [message, setMessage] = useState('');\n const [errorMessage, setErrorMessage] = useState('Please fill all fields!');\n\n const handleDisabled = () => {\n if (name !== \"\" && email !== \"\" && email !== false && message !== \"\") {\n setErrorMessage(\"\");\n } else {\n if (email === false) {\n setErrorMessage(\"Please ensure the email field is filled correctly!\");\n }\n }\n }\n\n const handleClick = () => {\n\n setErrorMessage(\"submitting...\");\n\n let nameSplit = {\n first: name.split(\" \")[0],\n last: (name.split(\" \")[1] !== undefined ? name.split(\" \")[1] : \"\")\n };\n\n axios({\n url: \"https://api.knack.com/v1/pages/scene_17/views/view_22/records/\",\n method: \"POST\",\n headers: {\n 'X-Knack-Application-Id': `64c0ad046e0781002abed364`,\n 'X-Knack-REST-API-Key': `knack`,\n 'Content-Type': 'application/json',\n \"Cache-Control\": `no-cache`\n },\n data: JSON.stringify({\n field_44: nameSplit,\n field_45: email,\n field_46: message\n })\n }).then((resp) => {\n console.log(resp);\n window.location.reload();\n }).catch((err) => {\n setErrorMessage(\"Something went wrong! Try again.\");\n });\n }\n return (\n \n \n \n \n Hire or Contact me...\n \n {\n setName(evt.target.value);\n handleDisabled();\n }\n }\n inputProps={{ className: classes.input }}\n />\n {\n if (/^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,5})+$/.test(evt.target.value)) {\n setemail(evt.target.value);\n handleDisabled();\n } else {\n setemail(false);\n }\n }\n }\n\n inputProps={{ className: classes.input }}\n className={classes.field}\n />\n {\n setMessage(evt.target.value);\n handleDisabled();\n }\n }\n inputProps={{ className: classes.input }}\n />\n {errorMessage &&
{errorMessage}
}\n \n \n }\n className={classes.button}\n classes={{disabled: classes.disabledButton}}\n onClick={handleClick}\n disabled={errorMessage === \"\" ? null : true}\n // title={errorMessage}\n >\n Contact Me\n \n \n \n \n \n \n );\n};\n\nexport default Contact;\n","import React from \"react\";\nimport { Route, Switch } from \"react-router-dom\";\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\nimport Home from \"./components\";\nimport Resume from \"./components/Resume\";\nimport Navbar from \"./components/Navbar\";\nimport Portfolio from \"./components/Portfolio\";\nimport Contact from \"./components/Contact\";\n\nimport \"./App.css\";\n\nfunction App() {\n return (\n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport {BrowserRouter as Router} from 'react-router-dom'\nimport App from \"./App\";\nimport * as serviceWorker from \"./serviceWorker\";\n\nReactDOM.render(, document.getElementById(\"root\"));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","module.exports = __webpack_public_path__ + \"static/media/avatar.1fa40c98.png\";"],"sourceRoot":""}