text:     (this["webpackJsonpjasonpark.me"] = this["webpackJsonpjasonpark.me"] || []).push([
      [0], {
          103: function(e, a, t) {},
          185: function(e, a, t) {},
          186: function(e, a, t) {},
          187: function(e, a, t) {},
          188: function(e, a, t) {},
          189: function(e, a, t) {},
          19: function(e, a) {
          e.exports = {
              bio: {
              full_name: "Mashrin Srivastava",
              first_name: "Mashrin",
              last_name: "Srivastava",
              alias: "Mashrin",
              description: "Senior Deep Learning Engineer at Intel.",
              avatar_url: "https://dribbble.com/shots/14689337-ms?utm_source=Clipboard_Shot&utm_campaign=sri_mash&utm_content=ms&utm_medium=Social_Share",
              theme_color: "#3D3D3D",
              location: "Bangalore, India",
              email: "mashrins@gmail.com",
              links: {
                  github: "https://github.com/mashrin",
                  resume: "https://docs.google.com/gview?url=https://github.com/mashrin/resume/raw/main/MashrinCV.pdf&embedded=true"
              },
      //          coursework: ["A Second Course on Linear Algebra", "Combinatorial Analysis", "Computer Organization and Programming", "Computer Vision and Pattern Recognition", "Design and Analysis of Algorithms", "Objects and Design", "Technical Communication"],
              skills: {
                  Python: "Advanced",
                  C: "Intermediate",
                  CPP: "Intermediate",
                  TensorFlow: "Advanced",
                  PyTorch: "Advanced",
                  scikit: "Intermediate",
                  OpenVINO: "Advanced",
                  Databases: "Intermediate",
                  Docker: "Intermediate",
                  Kubernetes: "Intermediate",            
                  MesseageBrokers: "Intermediate"
              },
              languages: {
                  English: "Native",
                  Hindi: "Native",
                  Spanish: "Elementary"
              }
              },
              awards: [{
              key: "cbse",
              name: "Merit Certificate",
              image: "static/media/cbse.png",
              organizer: "Central Board of Secondary Education (CBSE), India",
              prize: "Awarded the merit certificate for highest grade in all subjects. Merit certificate is awarded to top 0.1% of all successful participants in the All India Secondary School Examination."
              },
              {
              key: "technologist",
              name: "Technologist of the Year Award",
              image: "static/media/intel.png",
              organizer: "Intel",
              prize: "Winner of the Technologist of the Year 2020 Award. Youngest winner of this award."
              },
              {
              key: "bestproject",
              name: "Best Project Award",
              image: "static/media/intel.png",
              organizer: "Intel",
              prize: "Winner of the Best Project Award for the Health AI project."
              },
              {
              key: "innovate",
              name: "Innovative Project Award",
              image: "static/media/intel.png",
              organizer: "Intel",
              prize: "Winner of the Innovative Project Award for the Health AI project."
              },
              {
              key: "dra",
              name: "Division Recognition Award",
              image: "static/media/intel.png",
              organizer: "Intel",
              prize: "Divisional Recognition Award from Intel India Country Head for the COVID-19 product."
              },
              {
              key: "recognition",
              name: "Recognitions",
              image: "static/media/intel.png",
              organizer: "Intel",
              prize: "20+ recognition awards at Intel for various contributions and achievements."
              },
              {
              key: "fb",
              name: "Facebook Scholarship",
              image: "static/media/facebook.png",
              organizer: "Facebook and Udacity",
              prize: "Recipient of Secure and Private AI challenge scholarship by Facebook."
              },
              {
              key: "ms-hack",
              name: "Microsoft Hackathon",
              image: "static/media/microsoft.png",
              organizer: "Microsoft",
              prize: "Winner of the Big Data hackathon. For the hackathon, my team created a user-friendly application which predicts the flight delay."
              },
              {
              key: "utd-best-project",
              name: "UT Dallas Hackathon - Best Project",
              image: "static/media/utd.png",
              organizer: "University of Texas, Dallas",
              prize: "Winner of the best project award at Data Science '17 hackathon conducted by University of Texas, Dallas. For the hackathon, my team created an application for Breast cancer detection."
              },
              {
              key: "utd-most-popular",
              name: "UT Dallas Hackathon - Most Popular Project",
              image: "static/media/utd.png",
              organizer: "University of Texas, Dallas",
              prize: "Winner of the most popular project award at Data Science '17 hackathon conducted by University of Texas, Dallas. For the hackathon, my team created an application for stock price prediction."
              },
              {
              key: "makeschool",
              name: "Make School Hackathon",
              image: "static/media/makeschool.png",
              organizer: "Make School",
              prize: "Winner of the most popular project award at Make School Hackathon."
              },
              {
              key: "codegeist",
              name: "Codegeist 2020 hackathon",
              image: "static/media/atlassian.png",
              organizer: "Atlassian",
              prize: "Won 3 prizes in the Atlassian Codegeist 2020 hackathon under the Top Atlassian Forge app category."
              },
              {
              key: "egi",
              name: "Emerging Growth Incubation",
              image: "static/media/intel.png",
              organizer: "Intel",
              prize: "Finalist for the Intel Emerging Growth Incubation (typically less than 20 finalist from all across Intel). My role in the venture was of the Chief Technology Officer."
              },
              {
              key: "cognizant",
              name: "Best student performer",
              image: "static/media/cognizant.png",
              organizer: "Cognizant",
              prize: "Awarded the best student performer award by Cognizant."
              },
              {
              key: "jpmorgan",
              name: "Code for Good Hackathon",
              image: "static/media/jp.png",
              organizer: "JP Morgan",
              prize: "Developed an education web platform for the Amogh Trust NGO.",
              link: "https://github.com/mashrin/JPMorgan_CodeForGoodHackathon"
              },
              {
              key: "language-certificate",
              name: "Language Certification",
              image: "static/media/iitb.png",
              organizer: "Indian Institute of Technology, Bombay",
              prize: "Certification in C, C++, Python and Java."
              },
              {
              key: "course-certificate",
              name: "Course Certification",
              image: "static/media/iitkgp.png",
              organizer: "Indian Institute of Technology, Kharagpur",
              prize: "Certification for the course Mathematics of Deep Learning."
              },
              {
              key: "intel-certificate",
              name: "Technical Certification",
              image: "static/media/intel.png",
              organizer: "Intel",
              prize: "50+ certifications related to AI, security, privacy, ethics, etc."
              },
              {
              key: "startup-mentor",
              name: "Technical mentor to startups",
              image: "static/media/intel.png",
              organizer: "Intel",
              Summary: "Technical mentor to the early-stage HealthTech startups incubating at Intel India."
              },
              {
              key: "cleanliness-app",
              name: "App contributor",
              image: "static/media/intel.png",
              organizer: "Intel",
              Summary: "Contributed to an app that allows users to pin unclean areas countrywide, notifies the authorities and track their progress. This resulted in transparency and accountability to maintain cleanliness. The app was commended by Prime Minister of India."
              },
              {
              key: "soccer",
              name: "Soccer team",
              image: "static/media/soccer.png",
              organizer: "Multiple",
              Summary: "Part of the soccer team. Played and won till the regional level."
              },
              {
              key: "quiz",
              name: "Quiz competitions",
              image: "static/media/quiz.png",
              organizer: "Multiple",
              prize: "Participated and won quiz competitions at local, regional and national level."
              }],
              educations: [{
              key: "vit",
              name: "Vellore Institute of Technology",
              image: "static/media/vit.png",
              location: "India",
              link: "http://vit.ac.in/",
              type: "Bachelor of Technology, Computer Science and Engineering",
              date: "July 2014 - May 2018",
              GPA: "9.59 / 10.00",
              MajorGPA: "9.64/10.00",
              Rank: "4 in a class of 219 students",
              Activity: "Achiever Award for overall performance.<br>Teaching Assistant for Object oriented programming and Data Structures & Algorithms.<br>Undergraduate Research with the Artificial Intelligence group.<br>Best Project Award for the academic year 2015-2016 and 2016-2017.<br>Program representative for Computer Science and a member of the student council.<br>Invited to MIT Media Lab Emerging World and Google Developer Days 2017.<br>Conducted student seminar on cellular automata, data science, computer networks and CUDA.<br>Selected for Microsoft campus connect.",
              Research: "PageRank Algorithm using Eigenvector Centrality-New Approach, Global Journal of Pure and Applied Mathematics., 12(3), 907-914.<br><br>[Automated emergency paramedical response system](https://link.springer.com/article/10.1007%2Fs13755-018-0061-1), Health Information Science and Systems, Springer.<br><br>Smart City: An Intelligent Automated Mode of Transport Using Shortest Time of Travel using Bigdata for the book Frontiers of Data and Knowledge Management for convergence of ICT, Healthcare, and Telecommunication Services, Springer."
              }],
              projects: [{
              key: "cpanel",
              name: "Network administration console panel",
              image: "static/media/cpanel.jpg",
              link: "https://github.com/mashrin/consolePanel",
              detail: "It is a web application that runs on any web browser and allows you to handle your Linux based DNS, Web, Mail server, etc remotely."
              },
              {
              key: "forest-growth",
              name: "Forest Growth Simulation",
              image: "static/media/forest.png",
              link: "https://github.com/mashrin/forestGrowthBasic",
              detail: "Model to simulate the growth of forest from scratch using cellular automata."
              },
              {
              key: "aerowalk",
              name: "AeroWalk",
              image: "static/media/nav.png",
              link: "https://github.com/mashrin/Airport-navigation",
              detail: "Developed at Vistara Hackathon, Bengaluru in Nov '17. The project provides the user the complete airport navigation from their home to their aircraft by taking their PNR number as an input."
              },
              {
              key: "trajectory",
              name: "Vehicle trajectory prediction",
              image: "static/media/trajectory.jpg",
              detail: "ML-based application to predict vehicle trajectory and estimate fuel consumption as well as the CO2 emission."
              },
              {
              key: "forest-fire",
              name: "Forest fire detection",
              image: "static/media/fire.jpeg",
              detail: "Sensor node to detect forest fires and inform the authorities about the location and the intensity."
              },
              {
              key: "centrality",
              name: "Centrality measure",
              image: "static/media/centrality.png",
              link: "https://github.com/mashrin/centralityMeasures",
              detail: "App for calculating various centrality measures for large graphs using MATLAB."
              },
              {
              key: "unsafe",
              name: "Unsafe Area Mapping",
              image: "static/media/unsafe.jpg",
              link: "https://github.com/mashrin/Unsafe-Area-Mapping",
              detail: "Whenever a person is in danger (depending on the type of danger level the individual is in) a real time mapping has been done of the safety of various areas. Based on this, individuals have a comprehensive knowledge of the safety level of each of the areas. This also helps officials in finding the various zones that require more attention and police patrolling the area. This will also help reduce the rate of crimes taking place by facilitating a bridge between the grievances of the citizens and the authorities who can take action to resolve their issues. This also helps speedy redressal of problems."
              },
              {
              key: "stock",
              name: "Stock Price Movement",
              image: "static/media/stock.jpg",
              link: "https://github.com/mashrin/stock_Prediction",
              detail: "Predicts the probability of the stock moving up or down. Data has been scraped for 500 days. For each day: opening price, day maximum price, minimum price, closing price, trading volume is present. Prediction: The probability of stock movement for day 10 given trend for last 9 days. Prediction in the range of 0 to 1; where 1 is stock will surely move up."
              },
              {
              key: "uipath",
              name: "ML models for UIPath PowerUp Automation",
              image: "static/media/uipath.jpg",
              link: "https://github.com/mashrin/uiPath-PowerUp",
              detail: "The project contains models that can be added to the UI Path Power Up and can be used to automate processes for apps. The models are created so that these can be directly used to automate some common processes that can be used by many apps for various use cases. The projects contain three models: Text summarization model can be used by various apps to automate the task of summarizing huge text into a few words. This is something that can be easily plugged into various apps for various use cases. Customer support can be one of the use cases of the apps that might need this. Spam filtering module can filter if the content is a spam or not. This too can be used as a module by various apps to automate things. The third model can be used to identify different verbal instructions. The data used for this is obtained from the Speech Recognition challenge on Kaggle. This model can be used by apps that want to use verbal cues in order to control navigations in the app. For example, instructions like stop, on, off, etc can all be intelligently used by apps to enable navigation in the applications as one of the use cases."
              },
              {
              key: "gameoflife",
              name: "Modified Game of Life",
              image: "static/media/gol.png",
              link: "https://github.com/mashrin/GameOfLife-Modified"
              },
              {
              key: "sound",
              name: "Urban Sound Dataset",
              image: "static/media/spec.jpg",
              link: "[Spectrogram Data](https://github.com/mashrin/UrbanSound-Spectrogram)<br>[Waveplot Data](https://github.com/mashrin/UrbanSound-Waveplot)",
              detail: "Spectrogram and Waveplot for for 8732 labeled sound excerpts (<=4s) of urban sounds from 10 classes: air_conditioner, car_horn, children_playing, dog_bark, drilling, engine_idling, gun_shot, jackhammer, siren, and street_music. The purpose to create this dataset was to help the academicians and researchers working in the domain of sound feature extraction and classification using neural networks. Creation of the spectrogram or wave-plot is often the prerequisite for the sound classification neural network. Creating these is compute-intensive and time taking. We wanted to provide a better starting point for the students, researchers and academicians with limited resources to directly work on top of the provided spectrograms."
              },
              {
              key: "driverless",
              name: "Naive prototype for a basic driverless car",
              image: "static/media/drive.png",
              link: "https://github.com/mashrin/Driverless_Vehicle-Prototype"
              },
              {
              key: "chatbot",
              name: "Medical chatbot",
              image: "static/media/chat.jpg",
              link: "https://github.com/mashrin/Medical-Chatbot",
              detail: "Use the chatbot to discuss symptoms and get medical advices. *For research purposes only*."
              },
              {
              key: "edge",
              name: "Edge app for store inventory",
              image: "static/media/edgeapp",
              link: "[https://youtu.be/ClisFwh1aNU?t=420](https://youtu.be/ClisFwh1aNU?t=420)<br>[https://github.com/mashrin/movidius-demo-app-store](https://github.com/mashrin/movidius-demo-app-store)"
              },
              {
              key: "photo-editor",
              name: "Basic photo editor",
              image: "static/media/editor",
              link: "[https://github.com/mashrin/basicPhotoEditor](https://github.com/mashrin/basicPhotoEditor)<br>[https://mashrin.github.io/basicPhotoEditor](https://mashrin.github.io/basicPhotoEditor)"
              }],
              workExperiences: [{
              key: "intel",
              name: "Intel",
              date: "Dec 2017 - Current",
              image: "static/media/intel.png",
              location: "Bengaluru, India",
              position: "Deep Learning Engineer",
              detail: "Part of a highly selective group, which works on identifying, innovating and building new products at Intel. Founding and core team member of the Health AI product vertical at Intel India.<br><br>Led the execution to build solutions to achieve faster, less-expensive COVID-19 testing. Developed an algorithm to perform AI-based risk stratification for patients.<br><br>Developed the city stack which got adopted as the data exchange platform for all smart cities by the Union Ministry of Housing and Urban Affairs, Government of India, named India Urban Data Exchange(IUDX). The extension of IUDX will now be done by the ministry in collaboration with Indian Institute of Science. IUDX will be an open source software platform for cities, industry and researchers to share Smart City data with each other that could be monetised in the future, similar to the UPI for bank accounts and digital payments.<br><br>Among early members at Intel to contribute to the Edge AI products.",
              Research: "Multiple invention disclosures and ideas in long-term product consideration.<br><br>AI-Driven Medical Imaging Powered by Intel and Philips.<br><br>Greyspot analytics using collision avoidance system alerts.<br><br>Deep neural network inference acceleration, DTTC conference (Intel's top conference)<br><br>Clinical Validation and Edge Implementation of Calcium Scoring AI Model for Assessing Severity of Coronary Artery Disease, IEEE International Symposium on Biomedical Imaging (Under review).",
              Talks: "Develop AI at the network edge, FOSSASIA 2019<br><br>Rethinking Ethics and Privacy in the age of AI: Grace Hopper Conference India 2019.<br><br>Automated Emergency Paramedical Response System, FOSSASIA 2019.<br><br>Using differential privacy for deep learning applications, FOSSASIA 2019.<br><br>Transform with AI, Amazon AI Conclave 2018 (Keynote Demo).<br><br>AI on the Edge, DataHack Summit 2018.<br><br>Teamwork and Communication in the COVID-19 era, Guest lecture at Vellore Institute of Technology.<br><br>Artificial Intelligence at the network edge, International Workshop on Computing Trends Transforming 2020.<br><br>Practical Approach to Deep Learning, Guest lecture at PES University.",
              Contact: "[Sidhartha Mohanty](https://www.linkedin.com/in/sidharthamohantys/?originalSubdomain=in)"
              },
              {
              key: "stanford",
              name: "Stanford Scholar Initiative",
              date: "Feb 2017 - May 2018",
              image: "static/media/stanford.png",
              location: "Remote",
              position: "Contributor and Directly Responsible Individual",
              detail: "An initiative to make research more accessible. The role of DRI is to lead the group along with individual contributions.<br>Worked on the most influential papers from top conferences for Computer Science (AI, ML, CV)."
              },
              {
              key: "wingify",
              name: "Wingify",
              date: "Jun 2017 - Jul 2017",
              image: "static/media/wingify.png",
              location: "Pune, India",
              position: "Data Science Intern",
              detail: "Built features for personalized push notifications to users to reduce spam & decrease the unsubscription from services.<br>Experimentation with different algorithms such as Latent Dirichlet Allocation, DB Scan, Glove, Skip gram vectorization, etc. helped gain insights on scalability issues in large-scale machine learning problems.",
              Contact: "[Jagadeesh Rajarajan](https://www.linkedin.com/in/rjagadeesh91/?originalSubdomain=in)"
              },
              {
              key: "cerelabs",
              name: "Cere Labs",
              date: "Dec 2016 - Jan 2017",
              image: "static/media/cerelabs.png",
              location: "Mumbai, India",
              position: "Data Science Intern",
              detail: "Built models to predict machine failures.<br>Applied Deep Learning to analyze the customer service call record data."
              },
              {
              key: "knolskape",
              name: "Knolskape",
              date: "June 2016 - June 2016",
              image: "static/media/knolskape.png",
              location: "Bengaluru, India",
              position: "Software Developer Intern",
              detail: "Gamified an existing product (Build Your Business) such that it could be used by the general audience.<br>The proposal was low risk, low investment and opened a new avenue for the company.",
              Contact: "[Bhanu Shukla](https://www.linkedin.com/in/bhanushukla/?originalSubdomain=in)"
              }]
          }
          },
          190: function(e, a, t) {},
          191: function(e, a, t) {},
          194: function(e, a, t) {},
          195: function(e, a, t) {},
          196: function(e, a, t) {},
          197: function(e, a, t) {},
          198: function(e, a, t) {
          "use strict";
          t.r(a);
          var n = {};
          t.r(n), t.d(n, "atlanta__georgia__united_states", (function() {
              return _.a
          })), t.d(n, "chengdu__sichuan__china", (function() {
              return P.a
          })), t.d(n, "lyon__france", (function() {
              return U.a
          })), t.d(n, "porto__portugal", (function() {
              return K.a
          })), t.d(n, "india__india", (function() {
              return W.a
          })), t.d(n, "seoul__south_korea", (function() {
              return G.a
          })), t.d(n, "wilsonia__california__united_states", (function() {
              return F.a
          }));
          var i = {};
          t.r(i), t.d(i, "attribution", (function() {
              return ce.a
          })), t.d(i, "browser", (function() {
              return oe.a
          })), t.d(i, "email", (function() {
              return le.a
          })), t.d(i, "finder", (function() {
              return de.a
          })), t.d(i, "github", (function() {
              return pe.a
          })), t.d(i, "paypal", (function() {
              return be.a
          })), t.d(i, "resume", (function() {
              return ye.a
          })), t.d(i, "terminal", (function() {
              return Ee.a
          }));
          var c = {};
          t.r(c), t.d(c, "awards", (function() {
              return Ne.a
          })), t.d(c, "education", (function() {
              return De.a
          })), t.d(c, "projects", (function() {
              return Ce.a
          })), t.d(c, "work_experience", (function() {
              return _e.a
          }));
          var r = t(0),
              o = t.n(r),
              s = t(78),
              l = t.n(s),
              m = (t(96), t(3)),
              d = t(1),
              u = t(17),
              p = t(5),
              h = t(9),
              f = function() {
              function e(a, t) {
                  Object(p.a)(this, e), this.key = a, this.parent = t
              }
              return Object(h.a)(e, [{
                  key: "open",
                  value: function(e) {
                  ra(this.url) ? window.open(this.url) : e.push(this.url)
                  }
              }, {
                  key: "remove",
                  value: function() {
                  var e = this.parent.children.indexOf(this);
                  this.parent.children.splice(e, 1)
                  }
              }, {
                  key: "search",
                  value: function(e) {
                  return this.searchables.some((function(a) {
                      return sa(e, a)
                  })) ? [this] : []
                  }
              }, {
                  key: "pathKeys",
                  get: function() {
                  return [].concat(Object(m.a)(this.parent.pathKeys), [this.key])
                  }
              }, {
                  key: "path",
                  get: function() {
                  return "/".concat(this.pathKeys.join("/"))
                  }
              }, {
                  key: "finderUrl",
                  get: function() {
                  var e = this.pathKeys;
                  if (["users", "mashrin", "desktop"].every((function(a, t) {
                      return a === e[t]
                      })) && e.length > 3) {
                      var a, t = (a = ta.instance).getChild.apply(a, Object(m.a)(e));
                      if (t instanceof S || t instanceof N) return "/".concat(e.slice(3).join("/"))
                  }
                  return "/finder/".concat(e.join("/"))
                  }
              }, {
                  key: "url",
                  get: function() {
                  return this.finderUrl
                  }
              }, {
                  key: "name",
                  get: function() {
                  return ia(this.key)
                  }
              }, {
                  key: "iconProps",
                  get: function() {
                  return null
                  }
              }, {
                  key: "searchables",
                  get: function() {
                  return [this.name]
                  }
              }]), e
              }(),
              g = t(7),
              b = t(4),
              v = t(8),
              y = function(e) {
              function a() {
                  return Object(p.a)(this, a), Object(g.a)(this, Object(b.a)(a).apply(this, arguments))
              }
              return Object(v.a)(a, e), a
              }(f),
              k = function(e) {
              function a(e, t, n) {
                  var i;
                  return Object(p.a)(this, a), (i = Object(g.a)(this, Object(b.a)(a).call(this, t, n))).href = e, i
              }
              return Object(v.a)(a, e), Object(h.a)(a, [{
                  key: "url",
                  get: function() {
                  return this.href
                  }
              }, {
                  key: "iconProps",
                  get: function() {
                  return {
                      iconKey: this.key
                  }
                  }
              }]), a
              }(y),
              E = t(18),
              j = function(e) {
              function a(e) {
                  var t, n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
                  i = n.pinned,
                  c = void 0 === i || i,
                  r = n.defaultUrl,
                  o = arguments.length > 2 ? arguments[2] : void 0,
                  s = arguments.length > 3 ? arguments[3] : void 0;
                  return Object(p.a)(this, a), t = Object(g.a)(this, Object(b.a)(a).call(this, o, s)), a.count++, Object.assign(Object(E.a)(t), {
                  WindowComponent: e,
                  pinned: c,
                  defaultUrl: r,
                  defaultLeft: 20 * a.count,
                  defaultTop: 20 * a.count,
                  lastUrl: null,
                  opened: !1,
                  focused: !1,
                  zIndex: 1
                  }), t
              }
              return Object(v.a)(a, e), Object(h.a)(a, [{
                  key: "url",
                  get: function() {
                  return this.opened ? this.lastUrl : this.defaultUrl || "/".concat(this.key)
                  }
              }, {
                  key: "iconProps",
                  get: function() {
                  return {
                      iconKey: this.key
                  }
                  }
              }]), a
              }(y);
          j.count = 0;
          var w = j,
              B = t(30),
              N = function(e) {
              function a(e, t, n) {
                  var i;
                  return Object(p.a)(this, a), (i = Object(g.a)(this, Object(b.a)(a).call(this, t, n))).content = e, i
              }
              return Object(v.a)(a, e), Object(h.a)(a, [{
                  key: "name",
                  get: function() {
                  return this.content.name
                  }
              }, {
                  key: "iconProps",
                  get: function() {
                  return {
                      iconUrl: this.content.image
                  }
                  }
              }, {
                  key: "searchables",
                  get: function() {
                  return [].concat(Object(m.a)(Object(B.a)(Object(b.a)(a.prototype), "searchables", this)), Object(m.a)(Object.values(this.content)))
                  }
              }]), a
              }(y),
              O = function(e) {
              function a(e, t, n) {
                  var i;
                  return Object(p.a)(this, a), (i = Object(g.a)(this, Object(b.a)(a).call(this, t, n))).target = e, i
              }
              return Object(v.a)(a, e), Object(h.a)(a, [{
                  key: "url",
                  get: function() {
                  return this.target.url
                  }
              }, {
                  key: "name",
                  get: function() {
                  return this.target.name
                  }
              }, {
                  key: "iconProps",
                  get: function() {
                  return this.target.iconProps
                  }
              }, {
                  key: "searchables",
                  get: function() {
                  return []
                  }
              }]), a
              }(y),
              D = t(27),
              S = function(e) {
              function a(e, t, n) {
                  var i;
                  return Object(p.a)(this, a), i = Object(g.a)(this, Object(b.a)(a).call(this, t, n)), Array.isArray(e) ? i.children = e.map((function(e) {
                  var a = e.key,
                      t = Object(D.a)(e, ["key"]);
                  return new N(t, a, Object(E.a)(i))
                  })) : i.children = Object.keys(e).map((function(a) {
                  var t = e[a];
                  return t.key = a, t.parent = Object(E.a)(i), t
                  })), i
              }
              return Object(v.a)(a, e), Object(h.a)(a, [{
                  key: "getChild",
                  value: function() {
                  for (var e = this, t = arguments.length, n = new Array(t), i = 0; i < t; i++) n[i] = arguments[i];
                  for (var c = function() {
                      var t = o[r];
                      if (!(e instanceof a)) return {
                          v: void 0
                      };
                      e = e.children.find((function(e) {
                          return e.key === t
                      }))
                      }, r = 0, o = n; r < o.length; r++) {
                      var s = c();
                      if ("object" === typeof s) return s.v
                  }
                  return e
                  }
              }, {
                  key: "search",
                  value: function(e) {
                  var t = Object(B.a)(Object(b.a)(a.prototype), "search", this).call(this, e),
                      n = !0,
                      i = !1,
                      c = void 0;
                  try {
                      for (var r, o = this.children[Symbol.iterator](); !(n = (r = o.next()).done); n = !0) {
                      var s = r.value;
                      t.push.apply(t, Object(m.a)(s.search(e)))
                      }
                  } catch (l) {
                      i = !0, c = l
                  } finally {
                      try {
                      n || null == o.return || o.return()
                      } finally {
                      if (i) throw c
                      }
                  }
                  return t
                  }
              }, {
                  key: "iconProps",
                  get: function() {
                  return {
                      iconKey: "finder",
                      badgeKey: this.key
                  }
                  }
              }]), a
              }(f),
              C = function(e) {
              function a() {
                  return Object(p.a)(this, a), Object(g.a)(this, Object(b.a)(a).apply(this, arguments))
              }
              return Object(v.a)(a, e), a
              }(S),
              A = t(44),
              _ = t.n(A),
              x = t(45),
              P = t.n(x),
              T = t(46),
              U = t.n(T),
              H = t(47),
              K = t.n(H),
              I = t(48),
              W = t.n(I),
              z = t(49),
              G = t.n(z),
              M = t(50),
              F = t.n(M),
              R = t(19),
              L = t(51),
              V = t.n(L),
              q = t(52),
              J = t.n(q),
              X = t(53),
              Q = t.n(X),
              Y = t(54),
              Z = t.n(Y),
              $ = t(55),
              ee = t.n($),
              ae = t(56),
              te = t.n(ae),
              ne = [{
              name: "Strawberry Acai Venti",
              image: ee.a,
              price: 4.29,
              hosted_button_id: "E9PANA44BVM6W"
              }, {
              name: "Chicken & Bacon Ranch Footlong",
              image: Z.a,
              price: 8.99,
              hosted_button_id: "478J5LADPC8ZA"
              }, {
              name: "Boneless Wings Medium",
              image: J.a,
              price: 14.79,
              hosted_button_id: "UYBL8P54EHU3G"
              }, {
              name: "Roasted Salmon",
              image: te.a,
              price: 28.95,
              hosted_button_id: "7DEE3FVVTB8RU"
              }, {
              name: "Pavilion 21.5-inch Monitor",
              image: V.a,
              price: 109.99,
              hosted_button_id: "EQ5KD2EYPPY6E"
              }, {
              name: "Round Trip from Dallas to Cancun",
              image: Q.a,
              price: 275.22,
              hosted_button_id: "CFKJQL4RKBBAL"
              }],
              ie = t(57),
              ce = t.n(ie),
              re = t(58),
              oe = t.n(re),
              se = t(59),
              le = t.n(se),
              me = t(60),
              de = t.n(me),
              ue = t(61),
              pe = t.n(ue),
              he = t(62),
              fe = t.n(he),
              ge = t(63),
              be = t.n(ge),
              ve = t(64),
              ye = t.n(ve),
              ke = t(65),
              Ee = t.n(ke),
              je = t(66),
              we = t.n(je),
              Be = t(67),
              Ne = t.n(Be),
              Oe = t(68),
              De = t.n(Oe),
              Se = t(69),
              Ce = t.n(Se),
              Ae = t(70),
              _e = t.n(Ae),
              xe = t(79),
              Pe = t.n(xe),
              Te = t(28),
              Ue = t.n(Te),
              He = t(80),
              Ke = t.n(He),
              Ie = [{
              image: oe.a,
              artist: "GraphicLoads",
              link: "http://www.iconarchive.com/show/100-flat-icons-by-graphicloads/browser-icon.html"
              }, {
              image: de.a,
              artist: "dtafalonso",
              link: "http://www.iconarchive.com/show/yosemite-flat-icons-by-dtafalonso/Folder-icon.html"
              }, {
              image: ce.a,
              artist: "Custom Icon Design",
              link: "http://www.iconarchive.com/show/flatastic-7-icons-by-custom-icon-design/License-manager-icon.html"
              }, {
              image: Ee.a,
              artist: "paomedia",
              link: "http://www.iconarchive.com/show/small-n-flat-icons-by-paomedia/terminal-icon.html"
              }, {
              image: we.a,
              artist: "Hamza Saleem",
              link: "http://www.iconarchive.com/show/stock-icons-by-hamzasaleem/Time-Machine-icon.html"
              }, {
              image: Ce.a,
              artist: "dDara",
              link: "https://www.flaticon.com/free-icon/project-management_1087902",
              black: !0
              }, {
              image: _e.a,
              artist: "Those Icons",
              link: "https://www.flaticon.com/free-icon/briefcase_522510",
              black: !0
              }, {
              image: Ne.a,
              artist: "Smashicons",
              link: "https://www.flaticon.com/free-icon/trophy_2164820",
              black: !0
              }, {
              image: De.a,
              artist: "srip",
              link: "https://www.flaticon.com/free-icon/mortarboard_1231149",
              black: !0
              }, {
              image: Ue.a,
              artist: "MS",
              link: "https://dribbble.com/shots/14689337-ms?utm_source=Clipboard_Shot&utm_campaign=sri_mash&utm_content=ms&utm_medium=Social_Share"
              }, {
              image: Pe.a,
              artist: "Dave Gandy",
              link: "https://www.flaticon.com/free-icon/external-link-symbol_25284"
              }, {
              image: Ke.a,
              artist: "Those Icons",
              link: "https://www.flaticon.com/free-icon/pin_484167"
              }],
              We = ["CDu_bUlhM3G", "CDksCXVhXpn", "CDXGfXShmv7", "CDFXnOThWle", "CCjWG-6hC6N", "CAo14TNBaB1", "CAjInpOhRqk", "CARbufbBtRv", "B_6DUjsBann", "B_wWX5PhDBe", "B-3okG2hZUH", "B-NckSQhJ28", "B87Rt0JBX2L", "B7w6sG0h_wz", "B7hlIEgBZPZ", "B7Wagaoh5Bi", "B7OerTDBf1N", "B7FoC2khbu7", "B63mnmdBtEG", "B6qDuzWBL1X", "B6dRvA7BZAh", "B6QRljTBI6A", "B6DyJlKBWjg", "B572hwshtAA", "B5swmqNBu28", "B5SH-KOBlKn", "B5Jvxz5hFDQ", "B478mPbhN0O", "B4tkK-vBQ24", "B4figGRhW7H", "B4TC4_UhSDC", "B31u4jRh7YY", "B3C1AftByei", "B29kGl_ht2E", "B21V0dlBn92", "B2uPTJ_BSDs", "B2rmuAShjRh", "B2HqCoHhkOH", "B1_nudFB783", "B15p2AJBkjt", "B1k35mSBV6d", "B1gaEAXhhna", "B1boURkhHJq", "B0bEPDBhBLo", "B0XjvELBJLF", "ByZaUulhO9N", "BxPsb7ShLdw", "BxDqyUMhwFp", "BxBpwhJhehf", "BvpxYYgBbBf", "BvVLdkzhRFb", "BvS0gxUheAL", "BvNXtuVBIqp", "BuCUsN0BpGo", "BtZdeAfhV2T", "BtWtEPZBDkO", "Bs9SUTvhN2t", "BryZ7eSAx4h", "BrvUFCegdSl", "BrsqHQhBddh", "BrncxLQBIfp", "Brlc-7WhC1r", "BriuKZEBdOy", "BqipqWihs92", "Bpv2g_RBeZu", "Bo2cP_iHY-a", "BoS0nk7HD2z", "BoPPJWnnqwv", "BnQBeoTHn34", "Bmg-28qHKce", "BmTpcjxnQ6e", "BmG9GdQjQ5Z", "Bl_lUDQHvUM", "Bl8PNqon1oz", "Blx_6HonKIR", "BlqUVCWnHW0", "BlQKfTlHbwU", "Bk-Ike2H01q", "Bk-EcxRnCWX", "Bk62M7un0md", "Bkp7muLn_yS", "BkdOVIJHYuv", "BkK_yKoH2xy", "BkK_IY1HhMK", "BkK-ucvnT3K", "BkK-Y1jnvMI", "BkIH7TTnqSY", "Bj5EHUenzqH", "Bjp8Ib2HOlb", "BjXgHqjnePR", "BjPMOpoHBq0", "BjLFtqtnCJy", "BjIMK7qn1AI", "BjEi88zH_CH", "BjC3WApnQ3c", "Bi9ucMjnFhf", "Bi5_-azgl6b", "Bi4cumFgjIk", "Bi1vf8knFgN", "Bim18IpnlHL", "BibDgK_nTXj", "BiAp5Sunibq", "Bh8FCBBnbcj", "Bg51KfYDWZW", "BgcY_dUgIx_", "BgVI-DoAag-", "BgR-ZgngUeJ", "Bf_UzCyjhvO", "Bf7VonJDqqo", "Bf5EpwLD1f_", "Bf2aq3IjwTK", "Bf2XREhDV2j", "BfooFA2jzgQ", "BfleBG9j-rf", "Be1a5tWDYPl", "Bev0iG2DWF7", "BemEypODrsS", "BeTxSs4jAif", "BeJsBgNDZ5J", "BdnSalCjCkA", "BdQER2kjqYy", "BdH2nu3jLRf", "BdFAN20j63q", "Bc5AF1RDpDX", "Bc2Dx3xj9xA", "Bc2DQ5lD_n4", "BcnldQ6DzEV", "Bcfvq5KDlHt", "BcdXju0jGT9", "BcdMqdFj20s", "Bbqnd4XDnt1", "BblJg74D1Zx", "BbS_6SUjdnc", "Ba642YpDPen", "BaprgLrDvFQ", "BalWdlNjLYC", "Babj-NSjKMh", "BaAMlIRD55g", "BZpuoCujGx7", "BZaNVOmjFkD", "BZTiuLQDaXR", "BZTh-n2jc3q", "BZPpS0hjHFT", "BZDVnzMDqNN", "BY5Djjljbme", "BX5tV4_jTE0", "BX3-GhFD_Sq", "BXykzBnDc1G", "BXt4-RvDJs9", "BXt3w2TDM4s", "BXrG19ojzKY", "BXoG5NpDUv-", "BXoFrduj0wK", "BXbT7VIjOl5", "BXYXRu6D34L", "BXUvb10jdUM", "BXBSILKjE-T", "BWs6icLDJrY", "BWnopnRD99P", "BWmy5HWDTsu", "BWgbU9HDs6e", "BWdaf-yDvN2", "BWapZFODowq", "BWS_yP7j3lD", "BWQehYlDpgD", "BWQeIUPD7wf", "BWN5wujD8Gd", "BWDZ2NdD0Ie", "BWDPEwkDMpE", "BWA_6IDD87y", "BV_kNRaD-RE", "BV8rICmDpBF", "BV4w4jSjVLe", "BV2C7cWDMv_", "BVzt66cD_aV", "BVudBS2jqY9", "BVi0KtdDAhq", "BVUe3zxjelU", "BVKZ3oMjVRt", "BVH1r94D-Ar", "BVCYA9gD9i7", "BU9uArYDdTt", "BU4XEz-DVTE", "BU3T-KAjih_", "BUzC4jRDc0k", "BUw80GKDUQG", "BUjKMiADp7J", "BUOSsgUDVk4", "BUJRVhrDjIO", "BUGmGVej2v2", "BTfe5yUDEJo", "BTakhHuDeZe", "BS7b8fLj60K", "BSV7IGAj9u-", "BR4q7P8DUdl", "BRy2xhgDy02", "BRo7-mTjCWe", "BRYR9kQDCGA", "BQ__sopDTZg", "BQI2xefBJ_P", "BP6PJFkh0NP", "BPy62n3Byf-", "BPVGhcah_HT", "BPKyGS9Bamp", "BPIQxl9h1Gr", "BPAodwkhD8K", "BOtmsUHhCoK", "BOb6FTgBp6u", "BOSYirHBmX_", "BOHInTHBu2k", "BNEVfTvhFWB", "BMxC3vnBvqW", "BMX7QnNhxNy", "BL7Pjd_huWD", "BLo88bxB8hF", "BLQHXFOBAOD", "BKNx8vnBzxb", "BIYVsuOg8Np", "BIXaUW6AzJt", "BIVPTKoAySc", "BIR65Ojg8il", "BIAiW5AhVGm", "BH7p4zIhUmu", "BH1zOvkhsHh", "BHzCh2PBF0-", "BHpI4EzB2B8", "BHUWuDchQg3", "BHNFwNBhVw9", "BHFascKhZEo", "BGl7e3iK9Mu", "BGgdyiTK9BO", "BGQ2fFAq9Ee", "BGEon2iK9Gh", "BGBFDGyq9O8", "BGAPj4fK9IG", "BFt9ZiFq9Oo", "BFrnLdtK9K_", "BFHzGF4K9FA", "BE1iiN-q9JQ", "BEPl6yvK9Nd", "BECoigbK9G4", "BD-8TrEK9Ls", "BDuOCHpK9DD", "BDXKZSIq9No", "BDW1cSgq9Kt", "BDJwv6Mq9Cc", "BDFANe0q9Jk", "BC6SISeq9Gu", "BC1c7gWq9AN", "BCmUDFEK9BR", "BClcmBbK9AS", "BCjVyFVK9Et", "BCBzgTSK9Fa", "BB3nTrcK9Da", "BBvv1Deq9Cb", "BBETKfTq9AV", "BA_EFoQK9Hw", "BA551B6q9Ea", "BAf2tSbq9Je", "_-75WRq9PB"];
          t(97);
          var ze = function(e) {
              return o.a.createElement(Ba, Object.assign({
                  className: "AttributionWindow",
                  defaultWidth: 480,
                  defaultHeight: 480,
                  contentStyle: {
                  justifyContent: "center"
                  }
              }, e), o.a.createElement("div", {
                  className: "row-container"
              }, Ie.map((function(e) {
                  return o.a.createElement("div", {
                  className: "row",
                  key: e.image
                  }, o.a.createElement("div", {
                  className: "transparent"
                  }, o.a.createElement(ma, {
                  className: ca("icon", e.black && "black"),
                  iconUrl: e.image
                  })), o.a.createElement("div", {
                  className: "info"
                  }, o.a.createElement(pa, {
                  className: "path",
                  url: e.image,
                  external: !0
                  }, e.image.split("/").pop()), o.a.createElement("div", {
                  className: "artist"
                  }, e.artist)), o.a.createElement(pa, {
                  className: "link",
                  url: e.link
                  }, "Link"))
              }))))
              },
              Ge = o.a.createContext(null),
              Me = o.a.createContext(null);
          t(98);
          var Fe = function(e) {
              var a = e.app,
                  t = e.onUpdate,
                  n = oa(a.url),
                  i = Object(d.a)(n, 2)[1],
                  c = Object(u.g)(),
                  s = Object(r.useContext)(Ge),
                  l = Object(d.a)(s, 1)[0].getDesktopDir(),
                  p = Object(r.useState)([]),
                  h = Object(d.a)(p, 2),
                  f = h[0],
                  g = h[1],
                  b = Object(r.useState)(0),
                  v = Object(d.a)(b, 2),
                  y = v[0],
                  k = v[1],
                  E = function(e) {
                  var a = f.find((function(a) {
                      return a.key === e
                  }));
                  if (a) return a;
                  var t = /^history-v(\d+)$/.exec(e);
                  if (t) {
                      var n = t[1];
                      return {
                      key: e,
                      link: "/version_history/v".concat(n),
                      name: "Version ".concat(n),
                      iconProps: {
                          iconKey: "version_history"
                      }
                      }
                  }
                  var i = l && l.getChild("projects"),
                      c = (i ? i.children : []).find((function(a) {
                      return a.key === e
                      }));
                  if (c) {
                      var r = c.key,
                      o = c.name,
                      s = c.iconProps,
                      m = c.content,
                      d = /^\[(.+)]\(.+\)$/.exec(m.link);
                      return {
                      key: r,
                      link: d ? d[1] : m.link,
                      name: o,
                      iconProps: s
                      }
                  }
                  }(i);
              Object(r.useEffect)((function() {
                  if (E && !f.includes(E)) {
                  var e = [].concat(Object(m.a)(f), [E]);
                  g(e)
                  }
              }), [E]);
              var j = E && E.link;
              return o.a.createElement(Ba, Object.assign({
                  className: "BrowserWindow",
                  tabs: f.map((function(e, n) {
                  return o.a.createElement(pa, {
                      className: ca("tab", e === E && "active"),
                      key: e.key,
                      url: "/".concat(a.key, "/").concat(e.key)
                  }, o.a.createElement(ma, Object.assign({
                      className: "icon"
                  }, e.iconProps)), o.a.createElement("div", {
                      className: "name"
                  }, e.name), o.a.createElement("div", {
                      className: "close",
                      onClick: function(i) {
                      i.preventDefault();
                      var r = f.filter((function(a) {
                          return a !== e
                      }));
                      if (g(r), 0 === r.length) c.push("/"), t({
                          closing: !0
                      });
                      else if (e === E) {
                          var o = r[Math.min(r.length - 1, n)];
                          c.push("/".concat(a.key, "/").concat(o.key))
                      }
                      }
                  }))
                  })),
                  defaultWidth: 960,
                  defaultHeight: 640
              }, e), o.a.createElement("div", {
                  className: "addressbar"
              }, o.a.createElement("div", {
                  className: ca("button", "button-refresh"),
                  onClick: function() {
                  return k(y + 1)
                  }
              }), o.a.createElement("div", {
                  className: "url"
              }, j), o.a.createElement(pa, {
                  className: ca("button", "button-new"),
                  url: j,
                  external: !0
              })), o.a.createElement("iframe", {
                  key: y,
                  className: "iframe",
                  src: j,
                  title: E && E.name
              }))
              },
              Re = (t(103), t(83)),
              Le = t.n(Re);
          var Ve = function(e) {
              var a = e.app,
                  t = Object(r.useContext)(Me),
                  n = Object(r.useContext)(Ge),
                  i = Object(d.a)(n, 1)[0],
                  c = Object(u.g)(),
                  s = oa(a.url);
              s[0] === a.key ? s.shift() : s.unshift("users", "mashrin", "desktop");
              var l = i,
                  m = s.map((function(e) {
                  return l = l && l.getChild(e)
                  })).filter((function(e) {
                  return e
                  }));
              m.unshift(i);
              var p = m[m.length - 1],
                  h = p instanceof S || p instanceof N ? p : p.parent,
                  f = Object(r.useRef)(null),
                  g = Object(r.useRef)(null);
              return Object(r.useEffect)((function() {
                  f.current && f.current.scrollIntoView({
                  block: "nearest"
                  }), g.current && g.current.scrollIntoView({
                  inline: "end"
                  })
              }), [a.url]), o.a.createElement(Ba, Object.assign({
                  className: "FinderWindow",
                  title: h.name,
                  iconProps: h.iconProps,
                  defaultWidth: 800,
                  defaultHeight: 480,
                  contentStyle: {
                  overflowX: "auto",
                  flexDirection: "row"
                  },
                  onKeyDown: function(e) {
                  switch (e.preventDefault(), e.keyCode) {
                      case 13:
                      p.url !== p.finderUrl && p.open(c);
                      break;
                      case 37:
                      var a = p.parent;
                      a && c.push(a.finderUrl);
                      break;
                      case 39:
                      if (p instanceof S) {
                          var t = Object(d.a)(p.children, 1)[0];
                          t && c.push(t.finderUrl)
                      }
                      break;
                      case 38:
                      var n = p.parent;
                      if (n) {
                          var i = n.children,
                          r = i[i.indexOf(p) - 1];
                          r && c.push(r.finderUrl)
                      }
                      break;
                      case 40:
                      var o = p.parent;
                      if (o) {
                          var s = o.children,
                          l = s[s.indexOf(p) + 1];
                          l && c.push(l.finderUrl)
                      }
                  }
                  }
              }, e), (t ? [p] : m).map((function(e, a) {
                  return e instanceof S ? o.a.createElement("div", {
                  className: ca("panel", "panel-list"),
                  key: e.path,
                  ref: g
                  }, o.a.createElement("div", {
                  className: "list"
                  }, e.parent && t && o.a.createElement(pa, {
                  className: "dir",
                  url: e.parent.url
                  }, o.a.createElement(ma, {
                  className: "icon",
                  iconKey: "finder"
                  }), o.a.createElement("div", {
                  className: "name"
                  }, "..")), e.children.map((function(e) {
                  var t = e === m[a + 1];
                  return o.a.createElement(pa, {
                      key: e.key,
                      className: ca("dir", t && "active"),
                      url: e.url,
                      ref: t ? f : void 0
                  }, o.a.createElement(ma, Object.assign({
                      className: "icon"
                  }, e.iconProps)), o.a.createElement("div", {
                      className: "name"
                  }, e.name))
                  })))) : e instanceof N ? o.a.createElement("div", {
                  className: ca("panel", "panel-preview"),
                  key: e.path,
                  ref: g
                  }, o.a.createElement("div", {
                  className: "preview"
                  }, o.a.createElement("img", {
                  className: "image",
                  src: e.content.image,
                  alt: "Preview"
                  }), o.a.createElement("div", {
                  className: "property-container"
                  }, Object.keys(e.content).map((function(a) {
                  if ("image" === a) return null;
                  var t = e.content[a];
                  return o.a.createElement("div", {
                      key: a,
                      className: "property"
                  }, o.a.createElement("div", {
                      className: "key"
                  }, ia(a)), o.a.createElement("div", {
                      className: "value"
                  }, o.a.createElement(Le.a, {
                      source: t,
                      escapeHtml: !1,
                      renderers: {
                      link: function(e) {
                          var a = e.href,
                          t = e.children;
                          return o.a.createElement(pa, {
                          url: a
                          }, t)
                      }
                      }
                  })))
                  }))), o.a.createElement(pa, {
                  className: "close",
                  url: e.parent.url
                  }))) : null
              })))
              },
              qe = t(84),
              Je = t(86),
              Xe = t.n(Je);
          t(185);
          var Qe = function(e) {
              var a = e.app,
              t = oa(a.url),
              n = Object(d.a)(t, 2)[1],
              i = We.includes(n),
              c = Object(u.g)();
              return o.a.createElement(Ba, Object.assign({
              className: "InstagramWindow",
              noToolbar: !0,
              defaultWidth: 480,
              defaultHeight: 640,
              toolbarStyle: {
                  backgroundImage: "linear-gradient(-135deg, #1400c8, #b900b4, #f50000)"
              },
              contentStyle: {
                  backgroundColor: "white",
                  pointerEvents: "auto"
              }
              }, e), o.a.createElement("div", {
              className: "photo-container"
              }, We.map((function(e) {
              return o.a.createElement(pa, {
                  className: "photo",
                  key: e,
                  url: "/".concat(a.key, "/").concat(e),
                  style: {
                  backgroundImage: "url(https://instagram.com/p/".concat(e, "/media/?size=m)")
                  }
              }, o.a.createElement("img", {
                  className: "ratio",
                  src: Xe.a,
                  alt: "Placeholder"
              }))
              }))), o.a.createElement(qe.a, {
              className: ca("embed-container", i && "opened"),
              onClick: function() {
                  return c.push("/".concat(a.key))
              },
              url: i && "https://instagr.am/p/".concat(n, "/"),
              maxWidth: 480,
              containerTagName: "div",
              injectScript: !0
              }))
          };
          t(186);
          var Ye, Ze = function(e) {
              var a = e.app.url,
                  t = oa(a),
                  n = "success" === Object(d.a)(t, 2)[1];
              return o.a.createElement(Ba, Object.assign({
                  className: "PaypalWindow",
                  noToolbar: !0,
                  defaultWidth: 800,
                  defaultHeight: 480,
                  toolbarStyle: {
                  backgroundImage: "radial-gradient(circle at center, #009cde, #003087 125%)"
                  },
                  contentStyle: {
                  alignItems: "center",
                  justifyContent: "center"
                  }
              }, e), n && o.a.createElement("div", {
                  className: "paypal-success"
              }), o.a.createElement("div", {
                  className: "message"
              }), o.a.createElement("div", {
                  className: "donation-container"
              }, ne.map((function(e) {
                  return o.a.createElement("form", {
                  key: e.hosted_button_id,
                  className: "donation",
                  action: "https://www.paypal.com",
                  method: "post",
                  target: "_top"
                  }, o.a.createElement("input", {
                  type: "hidden",
                  name: "cmd",
                  value: "_s-xclick"
                  }), o.a.createElement("input", {
                  type: "hidden",
                  name: "hosted_button_id",
                  value: e.hosted_button_id
                  }), o.a.createElement(ma, {
                  className: "icon",
                  iconUrl: e.image
                  }), o.a.createElement("div", {
                  className: "name"
                  }, e.name), o.a.createElement("div", {
                  className: "price"
                  }, e.price), o.a.createElement("button", {
                  className: "donate",
                  type: "submit"
                  }))
              }))))
              },
              $e = t(87);
          t(187);
          fetch("https://raw.githubusercontent.com/mashrin/mashrin.github.io/b66992d893f311e309df025611e3a400a5dcffb2/script.js").then((function(e) {
              if (!e.ok) throw new Error("Error occurred while loading source code: " + e.statusText);
              return e.text()
          })).then((function(e) {
              return Ye = e
          })).catch(console.error);
          var ea = function(e) {
              var a = e.onUpdate,
              t = Object(r.useContext)(Me),
              n = Object(r.useContext)(Ge),
              i = Object(d.a)(n, 2),
              c = i[0],
              s = i[1],
              l = Object(u.g)(),
              p = Object(r.useState)(["users", "mashrin", "desktop"]),
              h = Object(d.a)(p, 2),
              g = h[0],
              b = h[1],
              v = function() {
                  var e = Object(m.a)(g);
                  ["users", "mashrin"].every((function(a, t) {
                  return a === e[t]
                  })) && e.splice(0, 2, "~");
                  var a = e.join("/") || "/";
                  return "mashrin@type-help:".concat(a, "$ ")
              },
              k = Object(r.useState)([]),
              E = Object(d.a)(k, 2),
              j = E[0],
              w = E[1],
              B = Object(r.useState)(0),
              N = Object(d.a)(B, 2),
              O = N[0],
              D = N[1],
              A = Object(r.useState)(!1),
              _ = Object(d.a)(A, 2),
              x = _[0],
              P = _[1],
              T = Object(r.useState)(null),
              U = Object(d.a)(T, 2),
              H = U[0],
              K = U[1],
              I = Object(r.useState)(""),
              W = Object(d.a)(I, 2),
              z = W[0],
              G = W[1],
              M = Object(r.useState)([""]),
              F = Object(d.a)(M, 2),
              L = F[0],
              V = F[1],
              q = Object(r.useState)(0),
              J = Object(d.a)(q, 2),
              X = J[0],
              Q = J[1],
              Y = null !== H,
              Z = Object(r.useRef)(null);
              Object(r.useEffect)((function() {
              Z.current && Z.current.scrollIntoView()
              }), [H, z, L]);
              var $ = function() {
                  return ee("", {
                  newLine: !1
                  })
              },
              ee = function(e) {
                  var a = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
                  t = a.flush,
                  n = void 0 === t || t,
                  i = a.resetInput,
                  c = void 0 === i || i,
                  r = a.newLine,
                  o = void 0 === r || r,
                  s = a.wordBreak,
                  l = void 0 !== s && s,
                  m = z + (n ? "".concat(v()).concat(L.join(""), "\n") : "") + (l ? '<span class="word-break">' : "") + (Array.isArray(e) ? e.join("\n") : e).replace(/{(.+)}/g, '<span class="underline">$1</span>&nbsp;&nbsp;').replace(/\*(.+)\*/g, '<span class="highlight">$1</span>') + (o ? "\n" : "") + (l ? "</span>" : "");
                  G(m), c && (V([""]), Q(0))
              },
              ae = function(e) {
                  var a = e ? e.split("/") : [],
                  t = Object(m.a)(g);
                  "" === a[0] ? (t = [], a.shift()) : "~" === a[0] && (t = ["users", "mashrin"], a.shift());
                  var n = !0,
                  i = !1,
                  c = void 0;
                  try {
                  for (var r, o = a[Symbol.iterator](); !(n = (r = o.next()).done); n = !0) {
                      var s = r.value;
                      switch (s) {
                      case "":
                      case ".":
                          break;
                      case "..":
                          t.pop();
                          break;
                      default:
                          t.push(s)
                      }
                  }
                  } catch (l) {
                  i = !0, c = l
                  } finally {
                  try {
                      n || null == o.return || o.return()
                  } finally {
                      if (i) throw c
                  }
                  }
                  return t
              };
              return o.a.createElement(Ba, Object.assign({
              className: "TerminalWindow",
              defaultWidth: 640,
              defaultHeight: 448,
              style: {
                  background: "none"
              },
              onKeyPress: function(e) {
                  var a = e.charCode || e.keyCode;
                  if (3 === a) null === H ? $() : K(null);
                  else if (a >= 32)
                  if (null === H) {
                      var t = String.fromCharCode(a);
                      if (void 0 !== t) {
                      var n = Object(m.a)(L);
                      n.splice(X, 0, t), V(n), Q(X + 1)
                      }
                  } else if (H >= Ye.length) K(null);
                  else {
                  var i = 1 + (8 * Math.random() | 0);
                  K(H + i)
                  }
              },
              onKeyDown: function(e) {
                  var t = e.keyCode;
                  switch (t) {
                  case 8:
                  case 9:
                  case 13:
                  case 27:
                  case 37:
                  case 38:
                  case 39:
                  case 40:
                      e.preventDefault()
                  }
                  if (null === H || 27 === t) {
                  switch (t) {
                      case 8:
                      var n = Object(m.a)(L),
                          i = n.splice(X - 1, 1);
                      Object(d.a)(i, 1)[0] && (V(n), Q(X - 1));
                      break;
                      case 9:
                      if (X === L.length - 1) {
                          var r = L.join("").split(/\s+/).pop(),
                          o = r.lastIndexOf("/"),
                          u = r.substring(0, o + 1),
                          p = r.substring(o + 1),
                          h = ae(u),
                          v = c.getChild.apply(c, Object(m.a)(h));
                          if (v) {
                          var k = v.children.filter((function(e) {
                              return e.key.startsWith(p)
                          }));
                          if (1 === k.length) {
                              var E = Object(d.a)(k, 1)[0].key.substring(p.length),
                              B = Object(m.a)(L);
                              B.splice.apply(B, [-1, 0].concat(Object(m.a)(Array.from(E)))), V(B), Q(B.length - 1)
                          } else k.length > 1 && (x && ee(k.map((function(e) {
                              return '<span class="'.concat(e instanceof S ? "dir" : "file", '">').concat(e.key, "</span>")
                          })).join("\n"), {
                              resetInput: !1
                          }), P(!0))
                          }
                      }
                      break;
                      case 13:
                      var N = L.join(""),
                          A = [].concat(Object(m.a)(j), [N]);
                      w(A), D(A.length),
                          function(e) {
                          var t = e.split(/\s+/),
                              n = Object($e.a)(t),
                              i = n[0],
                              r = n.slice(1),
                              o = r.filter((function(e) {
                              return !e.startsWith("-")
                              })),
                              d = r.find((function(e) {
                              return e.startsWith("-")
                              })),
                              u = d ? d.substring(1).split("") : [];
                          switch (i) {
                              case "":
                              $();
                              break;
                              case "help":
                              ee([" *help*            show all the possible commands", " *whoami* [-j]     display information about ".concat(R.bio.first_name), " *cd* {dir}        change the working directory", " *ls* {dir}        list directory contents", " *pwd*             return the working directory", " *rm* [-fr] {dir}  remove directory entries", " *open* {files}    open the files", " *clear*           clear the terminal screen", " *exit*            close the terminal window"]);
                              break;
                              case "whoami":
                              u.includes("j") ? (window.open("https://www.linkedin.com/in/mashrin/"), $()) : ee(["*".concat(R.bio.full_name, "* (").concat(R.bio.alias, ")"), R.bio.description, 'Type "*whoami -j*" to show some snapshots of his journey.'], {
                                  wordBreak: !0
                              });
                              break;
                              case "cd":
                              var p = o.shift(),
                                  h = ae(p),
                                  v = c.getChild.apply(c, Object(m.a)(h));
                              if (void 0 === v) {
                                  ee("-bash: ".concat(i, ": ").concat(p, ": No such file or directory"));
                                  break
                              }
                              if (!(v instanceof S)) {
                                  ee("-bash: ".concat(i, ": ").concat(p, ": Not a directory"));
                                  break
                              }
                              b(h), $();
                              break;
                              case "ls":
                              var k = o.shift(),
                                  E = ae(k),
                                  j = c.getChild.apply(c, Object(m.a)(E));
                              if (void 0 === j) {
                                  ee("-bash: ".concat(i, ": ").concat(k, ": No such file or directory"));
                                  break
                              }
                              if (j instanceof y) {
                                  ee('<span class="file">'.concat(E.pop(), "</span>"));
                                  break
                              }
                              ee(j.children.map((function(e) {
                                  return '<span class="'.concat(e instanceof S ? "dir" : "file", '">').concat(e.key, "</span>")
                              })));
                              break;
                              case "pwd":
                              ee("/" + g.join("/"));
                              break;
                              case "rm":
                              var w = o.shift(),
                                  B = ae(w),
                                  N = c.getChild.apply(c, Object(m.a)(B));
                              if (void 0 === N) {
                                  ee("-bash: ".concat(i, ": ").concat(w, ": No such file or directory"));
                                  break
                              }
                              if (N instanceof S && !u.includes("r")) {
                                  ee("-bash: ".concat(i, ": ").concat(w, ": Is a directory"));
                                  break
                              }
                              if (N instanceof C && !u.includes("f")) {
                                  ee("-bash: ".concat(i, ": ").concat(w, ": Permission denied (try again with -f)"));
                                  break
                              }
                              N.remove(), s(), $();
                              break;
                              case "open":
                              var O = o.map((function(e, a) {
                                  var t = ae(e),
                                  n = c.getChild.apply(c, Object(m.a)(t));
                                  return void 0 === n ? "The file /".concat(t.join("/"), " does not exist.") : n instanceof f ? void window.setTimeout((function() {
                                  n.open(l)
                                  }), 200 * (a + 1)) : "-bash: ".concat(i, ": ").concat(e, ": Permission denied")
                              })).filter((function(e) {
                                  return e
                              }));
                              O.length ? ee(O) : $();
                              break;
                              case "clear":
                              G(""), V([""]), Q(0);
                              break;
                              case "exit":
                              l.push("/"), a({
                                  closing: !0
                              });
                              break;
                              case "hackertyper":
                              Ye ? (K(0), $()) : ee("Error occurred while loading source code.");
                              break;
                              default:
                              ee("-bash: ".concat(i, ": command not found"))
                          }
                          }(N);
                      break;
                      case 27:
                      null === H ? $() : K(null);
                      break;
                      case 37:
                      X > 0 && Q(X - 1);
                      break;
                      case 39:
                      X < L.length - 1 && Q(X + 1);
                      break;
                      case 38:
                      if (O > 0) {
                          var _ = j[O - 1],
                          T = [].concat(Object(m.a)(Array.from(_)), [""]);
                          V(T), Q(T.length - 1), D(O - 1)
                      }
                      break;
                      case 40:
                      if (O < j.length) {
                          var U = j[O + 1] || "",
                          I = [].concat(Object(m.a)(Array.from(U)), [""]);
                          V(I), Q(I.length - 1), D(O + 1)
                      }
                  }
                  9 !== t && P(!1)
                  }
              }
              }, e), Y ? o.a.createElement("div", {
              className: "line-container"
              }, Ye.substring(0, H), o.a.createElement("span", {
              className: ca("input", "cursor"),
              ref: Z
              })) : o.a.createElement("div", {
              className: "line-container"
              }, o.a.createElement("span", {
              dangerouslySetInnerHTML: {
                  __html: z
              }
              }), v(), L.map((function(e, a) {
              var t = a === X;
              return o.a.createElement("span", {
                  key: a,
                  className: ca("input", t && "cursor"),
                  ref: t ? Z : void 0
              }, e)
              }))), t && o.a.createElement("input", {
              className: "mobile-input",
              type: "text",
              value: ""
              }))
          };
          t(188);
          var aa = function(e) {
              return o.a.createElement(Ba, Object.assign({
                  className: "VersionHistoryWindow",
                  defaultWidth: 480,
                  defaultHeight: 480
              }, e), o.a.createElement("div", {
                  className: "version-container"
              }, [0, 1, 2].map((function(e) {
                  return o.a.createElement(pa, {
                  className: ca("version", "version-".concat(e)),
                  key: e,
                  url: "/browser/history-v".concat(e)
                  })
              }))))
              },
              ta = function(e) {
              function a(e) {
                  return Object(p.a)(this, a), Object(g.a)(this, Object(b.a)(a).call(this, e, "root", null))
              }
              return Object(v.a)(a, e), Object(h.a)(a, [{
                  key: "getUserDir",
                  value: function() {
                  var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "mashrin";
                  return this.getChild("users", e)
                  }
              }, {
                  key: "getDesktopDir",
                  value: function() {
                  var e = this.getUserDir();
                  return e && e.getChild("desktop")
                  }
              }, {
                  key: "getAppsDir",
                  value: function() {
                  var e = this.getUserDir();
                  return e && e.getChild("apps")
                  }
              }, {
                  key: "getApps",
                  value: function() {
                  var e = this.getAppsDir();
                  return e && e.children
                  }
              }, {
                  key: "remove",
                  value: function() {
                  this.children = []
                  }
              }, {
                  key: "pathKeys",
                  get: function() {
                  return []
                  }
              }], [{
                  key: "instance",
                  get: function() {
                  if (this.rootDir) return this.rootDir;
                  var e = new w(ze),
                      t = new w(Fe, {
                      pinned: !1
                      }),
                      i = new w(Ve, {
                      defaultUrl: "/finder/users/mashrin/desktop"
                      }),
                      c = new w(Qe),
                      r = new w(Ze),
                      o = new w(ea),
                      s = new w(aa),
                      l = Object.keys(n);
                  return this.rootDir = new a({
                      users: new C({
                      mashrin: new C({
                          apps: new C({
                          finder: i,
                          terminal: o,
                          attribution: e,
                          browser: t
                          }),
                          desktop: new na({
                          projects: new S(R.projects),
                          work_experience: new S(R.workExperiences),
                          awards: new S(R.awards),
                          education: new S(R.educations),
                          terminal: new O(o),
                          github: new k(R.bio.links.github),
                          resume: new k(R.bio.links.resume),
                          email: new k("mailto:".concat(R.bio.email)),
                          attribution: new O(e)
                          }, l[Math.random() * l.length | 0])
                      })
                      })
                  }), this.rootDir
                  }
              }]), a
              }(C),
              na = function(e) {
              function a(e, t, n, i) {
                  var c;
                  return Object(p.a)(this, a), (c = Object(g.a)(this, Object(b.a)(a).call(this, e, n, i))).wallpaperKey = t, c
              }
              return Object(v.a)(a, e), a
              }(C),
              ia = function(e) {
              return e.split("_").map((function(e) {
                  return e.charAt(0).toUpperCase() + e.slice(1)
              })).join(" ")
              },
              ca = function() {
              for (var e = arguments.length, a = new Array(e), t = 0; t < e; t++) a[t] = arguments[t];
              return a.filter((function(e) {
                  return e
              })).join(" ")
              },
              ra = function(e) {
              return /^(https?:\/\/|mailto:)/.test(e)
              },
              oa = function(e) {
              return e.split("/").slice(1).filter((function(e) {
                  return e
              }))
              },
              sa = function(e, a) {
              var t = e.toLowerCase().split(/\W/),
                  n = a.toLowerCase().split(/\W/);
              return t.every((function(e) {
                  return n.some((function(a) {
                  return a.includes(e)
                  }))
              }))
              };
          t(189);
          var la = function() {
              var e = Object(r.useContext)(Me),
              a = Object(r.useContext)(Ge),
              t = Object(d.a)(a, 2),
              i = t[0],
              c = t[1],
              s = i.getDesktopDir(),
              l = i.getApps(),
              p = Object(u.g)(),
              h = Object(u.h)().pathname;
              return Object(r.useEffect)((function() {
              l && l.forEach((function(e) {
                  var a = function(e) {
                  var a = oa(e),
                      t = Object(d.a)(a, 1)[0],
                      n = ta.instance.getAppsDir().getChild(t);
                  return n ? n.key : t && "menu" !== t ? "finder" : void 0
                  }(h) === e.key;
                  a && (e.lastUrl = h, e.opened || (e.opened = !0, e.instance++), e.focused || (e.zIndex = Math.max.apply(Math, Object(m.a)(l.map((function(e) {
                  return e.zIndex
                  })))) + 1)), e.focused = a
              })), c()
              }), [h]), Object(r.useEffect)((function() {
              l && l.forEach((function(e) {
                  e.closing && setTimeout((function() {
                  e.closing = !1, e.opened = !1, c()
                  }), 200)
              }))
              })), o.a.createElement("div", {
              className: "Desktop",
              onMouseDown: function() {
                  "/" !== h && p.push("/")
              }
              }, o.a.createElement("div", {
              className: "wallpaper",
              style: s && {
                  backgroundImage: "url(".concat(n[s.wallpaperKey], ")")
              }
              }), !e && o.a.createElement("div", {
              className: "location"
              }, o.a.createElement("div", {
              className: "pinpoint"
              }), s.wallpaperKey.replace(/__/g, ",_").split("_").map((function(e) {
              return e.charAt(0).toUpperCase() + e.slice(1)
              })).join(" ")), !e && o.a.createElement(pa, {
              className: "forkme",
              url: "https://github.com/mashrin"
              }, o.a.createElement("img", {
              src: Ue.a
              })), o.a.createElement("div", {
              className: "app-container"
              }, s && s.children.map((function(e) {
              return o.a.createElement(pa, {
                  className: "shortcut",
                  url: e.url,
                  key: e.key
              }, o.a.createElement(ma, Object.assign({
                  className: "icon"
              }, e.iconProps)), o.a.createElement("div", {
                  className: "name"
              }, e.name))
              }))), o.a.createElement("div", {
              className: "window-container"
              }, l && l.filter((function(e) {
              return e.opened
              })).map((function(e) {
              return o.a.createElement(e.WindowComponent, {
                  key: e.key,
                  app: e,
                  onUpdate: function(a) {
                  Object.assign(e, a), c()
                  }
              })
              }))))
          };
          t(190);
          var ma = function(e) {
              var a = e.className,
                  t = e.iconKey,
                  n = e.iconUrl,
                  r = e.badgeKey;
              return o.a.createElement("div", {
                  className: ca("Icon", a),
                  style: {
                  backgroundImage: "url(".concat(n || i[t], ")")
                  }
              }, r in c && o.a.createElement("div", {
                  className: "badge",
                  style: {
                  backgroundImage: "url(".concat(c[r], ")")
                  }
              }))
              },
              da = t(29),
              ua = t(12);
          var pa = o.a.forwardRef((function(e, a) {
              var t = e.className,
                  n = e.url,
                  i = e.onMouseDown,
                  c = e.onClick,
                  r = e.external,
                  s = e.children,
                  l = Object(D.a)(e, ["className", "url", "onMouseDown", "onClick", "external", "children"]),
                  m = Object(da.a)({
                  ref: a
                  }, l, {
                  onMouseDown: function(e) {
                      e.stopPropagation(), e.preventDefault(), i && i(e)
                  },
                  onClick: function(e) {
                      e.stopPropagation(), c && c(e)
                  }
                  });
              return r || ra(n) ? o.a.createElement("a", Object.assign({
                  className: ca(t, "link-external"),
                  href: n,
                  target: "_blank",
                  rel: "noopener noreferrer"
              }, m), s) : o.a.createElement(ua.b, Object.assign({
                  className: t,
                  to: n
              }, m), s)
              })),
              ha = (t(191), t(31)),
              fa = t(88),
              ga = t(89),
              ba = t(90);
          var va = function() {
              return o.a.createElement("div", {
              className: "Resume"
              }, o.a.createElement("div", {
              className: "paper"
              }, o.a.createElement("div", {
              className: "header"
              }, o.a.createElement("div", {
              className: "name"
              }, R.bio.full_name), o.a.createElement("div", {
              className: "bar"
              }, o.a.createElement("a", {
              className: "item",
              href: R.bio.links.github
              }, o.a.createElement(ha.a, {
              fixedWidth: !0,
              icon: fa.faGithub
              }), o.a.createElement("span", null, R.bio.links.github.replace(/^\w+:\/\//, ""))), o.a.createElement("a", {
              className: "item",
              href: "https://www.google.com/maps/place/".concat(encodeURI(R.bio.location))
              }, o.a.createElement(ha.a, {
              fixedWidth: !0,
              icon: ga.faMapMarkerAlt
              }), o.a.createElement("span", null, R.bio.location)), o.a.createElement("a", {
              className: "item",
              href: "mailto:".concat(R.bio.email)
              }, o.a.createElement(ha.a, {
              fixedWidth: !0,
              icon: ba.faEnvelope
              }), o.a.createElement("span", null, R.bio.email)))), o.a.createElement("div", {
              className: "body"
              }, o.a.createElement("div", {
              className: "narrow"
              }, o.a.createElement("div", {
              className: "section"
              }, o.a.createElement("div", {
              className: "title"
              }, "Summary"), o.a.createElement("div", {
              className: "content"
              }, o.a.createElement("div", {
              className: "item"
              }, o.a.createElement("div", {
              className: "primary paragraph"
              }, "Software Engineer with 3.5 years of work experience. Open source projects and hackathons keep myself up to date with the latest tech trends.")))), o.a.createElement("div", {
              className: "section"
              }, o.a.createElement("div", {
              className: "title"
              }, "Education"), o.a.createElement("div", {
              className: "content"
              }, o.a.createElement("div", {
              className: "item"
              }, o.a.createElement("div", {
              className: "primary"
              }, "Georgia Institute of Technology"), o.a.createElement("div", {
              className: "row"
              }, "BS in ", o.a.createElement("b", null, "Computer Science")), o.a.createElement("div", {
              className: "row"
              }, "Expected ", o.a.createElement("b", null, "May 2021")), o.a.createElement("div", {
              className: "row"
              }, "Concentration in Theory and Intelligence"), o.a.createElement("div", {
              className: "row"
              }, "Minor in Economics")), o.a.createElement("div", {
              className: "item"
              }, o.a.createElement("div", {
              className: "primary"
              }, "National University of Singapore"), o.a.createElement("div", {
              className: "row"
              }, "Exchange in Fall 2019")))), o.a.createElement("div", {
              className: "section"
              }, o.a.createElement("div", {
              className: "title"
              }, "Coursework"), o.a.createElement("div", {
              className: "content"
              }, o.a.createElement("div", {
              className: "item"
              }, R.bio.coursework.map((function(e) {
              return o.a.createElement("div", {
                  className: "row",
                  key: e
              }, e)
              }))))), o.a.createElement("div", {
              className: "section"
              }, o.a.createElement("div", {
              className: "title"
              }, "Skills"), o.a.createElement("div", {
              className: "content"
              }, o.a.createElement("div", {
              className: "item"
              }, Object.entries(R.bio.skills).map((function(e) {
              var a = Object(d.a)(e, 2),
                  t = a[0],
                  n = a[1];
              return o.a.createElement("div", {
                  className: "primary",
                  key: t
              }, o.a.createElement("div", {
                  className: "name"
              }, t), o.a.createElement("div", {
                  className: "level"
              }, n))
              }))))), o.a.createElement("div", {
              className: "section"
              }, o.a.createElement("div", {
              className: "title"
              }, "Languages"), o.a.createElement("div", {
              className: "content"
              }, o.a.createElement("div", {
              className: "item"
              }, Object.entries(R.bio.languages).map((function(e) {
              var a = Object(d.a)(e, 2),
                  t = a[0],
                  n = a[1];
              return o.a.createElement("div", {
                  className: "primary",
                  key: t
              }, o.a.createElement("div", {
                  className: "name"
              }, t), o.a.createElement("div", {
                  className: "level"
              }, n))
              })))))), o.a.createElement("div", {
              className: "wide"
              }, o.a.createElement("div", {
              className: "section"
              }, o.a.createElement("div", {
              className: "title"
              }, "Work Experience"), o.a.createElement("div", {
              className: "content"
              }, o.a.createElement("div", {
              className: "item"
              }, o.a.createElement("div", {
              className: "primary"
              }, o.a.createElement("div", {
              className: "name"
              }, "SWE Intern at Google"), o.a.createElement("div", {
              className: "location"
              }, "Mountain View, CA (Remote)"), o.a.createElement("div", {
              className: "date"
              }, "May 2020 - Aug. 2020")), o.a.createElement("div", {
              className: "row"
              }, "Explored improvements to the accessibility of data visualization with an aim to merge the features into Google Analytics (GA)."), o.a.createElement("div", {
              className: "row"
              }, "Designed the data flow and component hierarchy of the Angular app to align with GA, and set up CI/CD pipelines to facilitate collaboration with teammates."), o.a.createElement("div", {
              className: "row"
              }, "Implemented data audification of line charts using the Web Audio API."), o.a.createElement("div", {
              className: "row"
              }, "Practiced lazy loading to minimize the anticipated performance impact on GA.")), o.a.createElement("div", {
              className: "item"
              }, o.a.createElement("div", {
              className: "primary"
              }, o.a.createElement("div", {
              className: "name"
              }, "SWE Intern at Randstad USA"), o.a.createElement("div", {
              className: "location"
              }, "Atlanta, GA"), o.a.createElement("div", {
              className: "date"
              }, "Jan. 2020 - Apr. 2020")), o.a.createElement("div", {
              className: "row"
              }, "Maintained a talent management system written in Angular and Node.js."), o.a.createElement("div", {
              className: "row"
              }, "Enhanced the use of TypeScript and simplified the data flow within the Angular app."), o.a.createElement("div", {
              className: "row"
              }, "Logged inbound HTTP requests into BigQuery within the backend microservices.")), o.a.createElement("div", {
              className: "item"
              }, o.a.createElement("div", {
              className: "primary"
              }, o.a.createElement("div", {
              className: "name"
              }, "Software Engineer at Prendssoin"), o.a.createElement("div", {
              className: "location"
              }, "Seoul, South Korea"), o.a.createElement("div", {
              className: "date"
              }, "Feb. 2017 - Jan. 2020")), o.a.createElement("div", {
              className: "row"
              }, "Recruited 5 developers and led the team using Scrum."), o.a.createElement("div", {
              className: "row"
              }, "Wrote boilerplates for React and Node.js projects in TypeScript, implementing dependency injection and modularization in a monorepo."), o.a.createElement("div", {
              className: "row"
              }, "Conducted a weekly study group on the topics of development and communication.")))), o.a.createElement("div", {
              className: "section"
              }, o.a.createElement("div", {
              className: "title"
              }, "Projects"), o.a.createElement("div", {
              className: "content"
              }, o.a.createElement("div", {
              className: "item"
              }, o.a.createElement("div", {
              className: "primary"
              }, o.a.createElement("div", {
              className: "name"
              }, o.a.createElement("a", {
              href: "https://github.com/64json/gt-scheduler"
              }, "GT Scheduler")), o.a.createElement("div", {
              className: "date"
              }, "2018")), o.a.createElement("div", {
              className: "row"
              }, "A scheduler that helps Georgia Tech students find the best schedule among all the possible combinations of courses."), o.a.createElement("div", {
              className: "row"
              }, "Used GitHub Pages to serve the static website built with React and ran the Node.js crawler periodically on Heroku."), o.a.createElement("div", {
              className: "row"
              }, "Recorded 4k+ unique visitors during the Fall 2019 registration period.")), o.a.createElement("div", {
              className: "item"
              }, o.a.createElement("div", {
              className: "primary"
              }, o.a.createElement("div", {
              className: "name"
              }, o.a.createElement("a", {
              href: "https://github.com/algorithm-visualizer"
              }, "Algorithm Visualizer")), o.a.createElement("div", {
              className: "date"
              }, "2016")), o.a.createElement("div", {
              className: "row"
              }, "An interactive online platform that visualizes algorithms from code."), o.a.createElement("div", {
              className: "row"
              }, "Wrote visualization libraries in JavaScript, C++, and Java."), o.a.createElement("div", {
              className: "row"
              }, "Used AWS Lambda to securely run user-submitted code at a low cost."), o.a.createElement("div", {
              className: "row"
              }, "Collaborated with 40+ developers and gained 30k+ stars on GitHub.")))), o.a.createElement("div", {
              className: "section"
              }, o.a.createElement("div", {
              className: "title"
              }, "Awards"), o.a.createElement("div", {
              className: "content wrap"
              }, o.a.createElement("div", {
              className: "item"
              }, o.a.createElement("div", {
              className: "primary"
              }, o.a.createElement("div", {
              className: "name"
              }, "The Home Depot Hackathon"), o.a.createElement("div", {
              className: "date"
              }, "2020")), o.a.createElement("div", {
              className: "row"
              }, "First Place")), o.a.createElement("div", {
              className: "item"
              }, o.a.createElement("div", {
              className: "primary"
              }, o.a.createElement("div", {
              className: "name"
              }, "T-Mobile C2CHack"), o.a.createElement("div", {
              className: "date"
              }, "2019")), o.a.createElement("div", {
              className: "row"
              }, "First Place")), o.a.createElement("div", {
              className: "item"
              }, o.a.createElement("div", {
              className: "primary"
              }, o.a.createElement("div", {
              className: "name"
              }, "Developer Circles Community Challenge"), o.a.createElement("div", {
              className: "date"
              }, "2017")), o.a.createElement("div", {
              className: "row"
              }, "Best Updated Pre-Existing App")), o.a.createElement("div", {
              className: "item"
              }, o.a.createElement("div", {
              className: "primary"
              }, o.a.createElement("div", {
              className: "name"
              }, "Consortium for Computing Sciences in Colleges: Midwest"), o.a.createElement("div", {
              className: "date"
              }, "2017")), o.a.createElement("div", {
              className: "row"
              }, "First Place in Student Showcase")), o.a.createElement("div", {
              className: "item"
              }, o.a.createElement("div", {
              className: "primary"
              }, o.a.createElement("div", {
              className: "name"
              }, "USA Computing Olympiad"), o.a.createElement("div", {
              className: "date"
              }, "2015")), o.a.createElement("div", {
              className: "row"
              }, "Platinum Division")), o.a.createElement("div", {
              className: "item"
              }, o.a.createElement("div", {
              className: "primary"
              }, o.a.createElement("div", {
              className: "name"
              }, "Korea Olympiad in Informatics"), o.a.createElement("div", {
              className: "date"
              }, "2010")), o.a.createElement("div", {
              className: "row"
              }, "Silver Medal"))))))))
          };
          t(194);
          var ya = function() {
              var e = Object(r.useContext)(Ge),
                  a = Object(d.a)(e, 1)[0],
                  t = Object(r.useState)(""),
                  n = Object(d.a)(t, 2),
                  i = n[0],
                  c = n[1],
                  s = Object(r.useState)(!1),
                  l = Object(d.a)(s, 2),
                  m = l[0],
                  p = l[1],
                  h = Object(r.useState)(!1),
                  f = Object(d.a)(h, 2),
                  g = f[0],
                  b = f[1],
                  v = a.getDesktopDir(),
                  y = v && v.children.filter((function(e) {
                  return e instanceof S
                  })),
                  E = (v && v.children.filter((function(e) {
                  return e instanceof k
                  })), Object(u.h)().pathname);
              return Object(r.useEffect)((function() {
                  "/menu" === E ? p(!0) : (b(!0), setTimeout((function() {
                  b(!1), p(!1)
                  }), 200))
              }), [E]), m && o.a.createElement("div", {
                  className: ca("Menu", g && "closing")
              }, o.a.createElement("div", {
                  className: "overlay"
              }, o.a.createElement("div", {
                  className: "list"
              }, i ? o.a.createElement("div", {
                  className: "group"
              }, o.a.createElement("div", {
                  className: "header"
              }, 'Search Results for "', i, '"'), a.search(i).map((function(e) {
                  return o.a.createElement(pa, {
                  className: "item",
                  url: e.url,
                  key: "item-".concat(e.key)
                  }, o.a.createElement(ma, Object.assign({
                  className: "icon"
                  }, e.iconProps)), o.a.createElement("div", {
                  className: "name"
                  }, e.name))
              }))) : o.a.createElement("div", {
                  className: "group"
              }, o.a.createElement("div", {
                  className: "header"
              }, "Recent Items"), y && y.flatMap((function(e) {
                  return [o.a.createElement(pa, {
                  className: "item",
                  url: e.url,
                  key: "dir-".concat(e.key)
                  }, o.a.createElement(ma, Object.assign({
                  className: "icon"
                  }, e.iconProps)), o.a.createElement("div", {
                  className: "name"
                  }, e.name), o.a.createElement("div", {
                  className: "total"
                  }, e.children.length, " items")), e.children.slice(0, 2).map((function(e) {
                  return o.a.createElement(pa, {
                      className: "item indented",
                      url: e.url,
                      key: "item-".concat(e.key)
                  }, o.a.createElement(ma, Object.assign({
                      className: "icon"
                  }, e.iconProps)), o.a.createElement("div", {
                      className: "name"
                  }, e.name))
                  }))]
              })))), o.a.createElement("div", {
                  className: "search-container"
              }, o.a.createElement("input", {
                  type: "text",
                  className: "search",
                  value: i,
                  onChange: function(e) {
                  return c(e.target.value)
                  },
                  placeholder: 'Search "Intel"',
                  autoFocus: !0
              }))))
              },
              ka = (t(195), function() {
              return document.body.clientWidth <= 512
              });
          var Ea = function() {
              var e = Object(r.useState)(ka()),
                  a = Object(d.a)(e, 2),
                  t = a[0],
                  n = a[1],
                  i = Object(r.useState)(0),
                  c = Object(d.a)(i, 2),
                  s = c[0],
                  l = c[1];
              return Object(r.useEffect)((function() {
                  var e = function() {
                  n(ka())
                  };
                  return window.addEventListener("resize", e),
                  function() {
                      window.removeEventListener("resize", e)
                  }
              }), []), Object(r.useEffect)((function() {
                  document.documentElement.classList.toggle("mobile", t)
              }), [t]), o.a.createElement(ua.a, null, o.a.createElement(u.d, null, o.a.createElement(u.b, {
                  path: "/resume"
              }, o.a.createElement(va, null)), o.a.createElement(u.b, {
                  path: "/paypal-success"
              }, o.a.createElement(u.a, {
                  to: "/paypal/success"
              })), o.a.createElement(u.b, null, o.a.createElement(Me.Provider, {
                  value: t
              }, o.a.createElement(Ge.Provider, {
                  value: [ta.instance, function() {
                  return l(s + 1)
                  }]
              }, o.a.createElement("div", {
                  className: "Screen"
              }, o.a.createElement(la, null), o.a.createElement(ya, null), o.a.createElement(wa, null)))))))
              },
              ja = (t(196), function() {
              var e = function(e) {
                  return e < 10 ? "0".concat(e) : e
                  },
                  a = new Date,
                  t = a.getHours(),
                  n = a.getMinutes(),
                  i = e(t % 12 || 12),
                  c = e(n),
                  r = ["AM", "PM"][t / 12 | 0];
              return "".concat(i, ":").concat(c, " ").concat(r)
              });
          var wa = function() {
              var e = Object(r.useContext)(Me),
              a = Object(r.useContext)(Ge),
              t = Object(d.a)(a, 1)[0].getApps(),
              n = Object(r.useState)(ja()),
              i = Object(d.a)(n, 2),
              c = i[0],
              s = i[1],
              l = Object(u.h)().pathname;
              return Object(r.useEffect)((function() {
              var e = window.setInterval((function() {
                  var e = ja();
                  s(e)
              }), 1e3);
              return function() {
                  window.clearInterval(e)
              }
              }), []), o.a.createElement("div", {
              className: "Taskbar"
              }, o.a.createElement(pa, {
              className: "label label-profile",
              url: "/menu" === l ? "" : "/menu"
              }, !e && o.a.createElement("div", {
              className: "avatar",
              style: {
                  backgroundImage: "url(".concat(R.bio.avatar_url, "?type=normal)")
              }
              }), o.a.createElement("div", {
              className: "name"
              }, R.bio.full_name)), o.a.createElement("div", {
              className: "shortcut-container"
              }, t && t.map((function(a) {
              return o.a.createElement(pa, {
                  className: ca("shortcut", a.pinned && !e && "pinned", a.opened && !a.closing && "active"),
                  url: a.url,
                  key: a.key
              }, o.a.createElement(ma, Object.assign({
                  className: "icon"
              }, a.iconProps)))
              }))), !e && o.a.createElement("div", {
              className: "label label-clock"
              }, o.a.createElement("div", {
              className: "name"
              }, c)))
          };
          t(197);
          var Ba = function(e) {
              var a = e.className,
              t = e.iconProps,
              n = e.title,
              i = e.defaultWidth,
              c = e.defaultHeight,
              s = e.tabs,
              l = e.noToolbar,
              p = e.children,
              h = e.onKeyDown,
              f = e.onKeyPress,
              g = e.onUpdate,
              b = e.app,
              v = e.style,
              y = e.toolbarStyle,
              k = e.contentStyle,
              E = b.name,
              j = b.iconProps,
              w = b.url,
              B = b.closing,
              N = b.focused,
              O = b.defaultLeft,
              D = b.defaultTop,
              S = b.zIndex,
              C = Object(r.useContext)(Me),
              A = Object(u.g)(),
              _ = Object(r.useState)([O, D, i, c]),
              x = Object(d.a)(_, 2),
              P = Object(d.a)(x[0], 4),
              T = P[0],
              U = P[1],
              H = P[2],
              K = P[3],
              I = x[1],
              W = Object(r.useState)(!1),
              z = Object(d.a)(W, 2),
              G = z[0],
              M = z[1],
              F = Object(r.useState)(!1),
              R = Object(d.a)(F, 2),
              L = R[0],
              V = R[1],
              q = Object(r.useState)(!1),
              J = Object(d.a)(q, 2),
              X = J[0],
              Q = J[1],
              Y = Object(r.useState)(!1),
              Z = Object(d.a)(Y, 2),
              $ = Z[0],
              ee = Z[1];
              return Object(r.useEffect)((function() {
              if (N && h) return window.addEventListener("keydown", h),
                  function() {
                  window.removeEventListener("keydown", h)
                  }
              }), [N, h]), Object(r.useEffect)((function() {
              if (N && f) return window.addEventListener("keypress", f),
                  function() {
                  window.removeEventListener("keypress", f)
                  }
              }), [N, f]), Object(r.useEffect)((function() {
              N && L && V(!1)
              }), [N]), o.a.createElement("div", {
              className: ca("Window", a, l && "no-toolbar", N && "focused", B && "closing", L && "minimized", G && "maximized", X && "moving", $ && "resizing"),
              style: Object(da.a)({}, v || {}, {
                  zIndex: S,
                  left: T,
                  top: U,
                  width: H,
                  height: K
              }),
              onMouseDown: function(e) {
                  e.stopPropagation(), N || A.push(w)
              }
              }, o.a.createElement("div", {
              className: "toolbar",
              onMouseDown: C ? void 0 : function(e) {
                  if (0 === e.button && !G) {
                  Q(!0);
                  var a = e.clientX,
                      t = e.clientY,
                      n = function(e) {
                      var n = e.clientX - a,
                          i = e.clientY - t;
                      I([T + n, U + i, H, K])
                      };
                  window.addEventListener("mousemove", n), window.addEventListener("mouseup", (function e() {
                      Q(!1), window.removeEventListener("mousemove", n), window.removeEventListener("mouseup", e)
                  }))
                  }
              },
              style: y
              }, C ? o.a.createElement(pa, {
              className: "button-container",
              url: "/",
              onClick: function() {
                  return g({
                  closing: !0
                  })
              }
              }, o.a.createElement("div", {
              className: "button button-close"
              }), o.a.createElement("div", {
              className: "button button-minimize"
              }), o.a.createElement("div", {
              className: "button button-maximize"
              })) : o.a.createElement("div", {
              className: "button-container"
              }, o.a.createElement(pa, {
              className: "button button-close",
              url: "/",
              onClick: function() {
                  return g({
                  closing: !0
                  })
              }
              }), o.a.createElement(pa, {
              className: "button button-minimize",
              url: "/",
              onClick: function() {
                  return V(!0)
              }
              }), o.a.createElement(pa, {
              className: "button button-maximize",
              url: w,
              onClick: function() {
                  return M(!G)
              }
              })), s ? o.a.createElement("div", {
              className: "tab-container"
              }, s) : o.a.createElement("div", {
              className: "title-container"
              }, o.a.createElement(ma, Object.assign({
              className: "icon"
              }, t || j)), o.a.createElement("div", {
              className: "name"
              }, n || E))), o.a.createElement("div", {
              className: "content",
              style: k
              }, p, o.a.createElement("div", {
              className: "interceptor"
              })), !C && [
              ["top"],
              ["bottom"],
              ["left"],
              ["right"],
              ["top", "left"],
              ["top", "right"],
              ["bottom", "left"],
              ["bottom", "right"]
              ].map((function(e) {
              return o.a.createElement("div", {
                  key: e.join("-"),
                  className: ca.apply(void 0, ["border"].concat(Object(m.a)(e.map((function(e) {
                  return "border-".concat(e)
                  }))))),
                  onMouseDown: function(a) {
                  if (0 === a.button && !G) {
                      ee(!0);
                      var t = a.clientX,
                      n = a.clientY,
                      i = function(a) {
                          var i = a.clientX - t,
                          c = a.clientY - n,
                          r = T,
                          o = U,
                          s = H,
                          l = K;
                          e.forEach((function(e) {
                          switch (e) {
                              case "top":
                              o += c, l -= c;
                              break;
                              case "left":
                              r += i, s -= i;
                              break;
                              case "bottom":
                              l += c;
                              break;
                              case "right":
                              s += i
                          }
                          })), s < 280 || l < 60 || I([r, o, s, l])
                      };
                      window.addEventListener("mousemove", i), window.addEventListener("mouseup", (function e() {
                      ee(!1), window.removeEventListener("mousemove", i), window.removeEventListener("mouseup", e)
                      }))
                  }
                  }
              })
              })))
          };
          l.a.render(o.a.createElement(Ea, null), document.getElementById("root"))
          },
          28: function(e, a, t) {
          e.exports = t.p + "static/media/forkme.48c0303d.png"
          },
          44: function(e, a, t) {
          e.exports = t.p + "static/media/atlanta__georgia__united_states.2868cae6.jpg"
          },
          45: function(e, a, t) {
          e.exports = t.p + "static/media/chengdu__sichuan__china.737c0cef.jpg"
          },
          46: function(e, a, t) {
          e.exports = t.p + "static/media/lyon__france.ce573cbb.jpg"
          },
          47: function(e, a, t) {
          e.exports = t.p + "static/media/porto__portugal.118d3ab9.jpg"
          },
          48: function(e, a, t) {
          e.exports = t.p + "static/media/india__india.8d432235.jpg"
          },
          49: function(e, a, t) {
          e.exports = t.p + "static/media/seoul__south_korea.9e0a6426.jpg"
          },
          50: function(e, a, t) {
          e.exports = t.p + "static/media/wilsonia__california__united_states.273b03f9.jpg"
          },
          51: function(e, a, t) {
          e.exports = t.p + "static/media/hp.b38cab81.png"
          },
          52: function(e, a, t) {
          e.exports = t.p + "static/media/buffalo.c795b68b.png"
          },
          53: function(e, a, t) {
          e.exports = t.p + "static/media/spirit.265a6f7c.png"
          },
          54: function(e, a, t) {
          e.exports = t.p + "static/media/subway.ab20d078.png"
          },
          55: function(e, a, t) {
          e.exports = t.p + "static/media/starbucks.d02b985d.svg"
          },
          56: function(e, a, t) {
          e.exports = t.p + "static/media/anthonys.7f8d0ff6.jpg"
          },
          57: function(e, a, t) {
          e.exports = t.p + "static/media/attribution.22cbce77.png"
          },
          58: function(e, a, t) {
          e.exports = t.p + "static/media/browser.85c4af4e.png"
          },
          59: function(e, a, t) {
          e.exports = t.p + "static/media/email.79f3cc03.png"
          },
          60: function(e, a, t) {
          e.exports = t.p + "static/media/finder.c696b25a.png"
          },
          61: function(e, a, t) {
          e.exports = t.p + "static/media/github.58695e61.png"
          },
          62: function(e, a, t) {
          e.exports = t.p + "static/media/linkedin.png"
          },
          63: function(e, a, t) {
          e.exports = t.p + "static/media/paypal.a176d62f.png"
          },
          64: function(e, a, t) {
          e.exports = t.p + "static/media/resume.4a72917d.png"
          },
          65: function(e, a, t) {
          e.exports = t.p + "static/media/terminal.afe83a95.png"
          },
          66: function(e, a, t) {
          e.exports = t.p + "static/media/version_history.ff0270ae.png"
          },
          67: function(e, a, t) {
          e.exports = t.p + "static/media/awards.41d70c3d.png"
          },
          68: function(e, a, t) {
          e.exports = t.p + "static/media/education.09433c60.png"
          },
          69: function(e, a, t) {
          e.exports = t.p + "static/media/projects.59dfc4be.png"
          },
          70: function(e, a, t) {
          e.exports = t.p + "static/media/work_experience.929cd9dd.png"
          },
          79: function(e, a, t) {
          e.exports = t.p + "static/media/link-external.cb80b6ab.png"
          },
          80: function(e, a, t) {
          e.exports = t.p + "static/media/pinpoint.12287d2c.png"
          },
          86: function(e, a, t) {
          e.exports = t.p + "static/media/insta-ratio.e1d295e8.png"
          },
          91: function(e, a, t) {
          e.exports = t(198)
          },
          96: function(e, a, t) {},
          97: function(e, a, t) {},
          98: function(e, a, t) {}
      },
      [
          [91, 1, 2]
      ]
      ]);
      //# sourceMappingURL=main.06bbb686.chunk.js.map
  