Overview

Department of Health and Mental Hygiene (DOHMH) conducts unannounced inspections of restaurants at least once a year. Inspectors check that restaurants comply with food safety rules. Now, more than ever, these inspection results are important to evaluate the food safety measures taken by the restaurants. COVID-19 caused many of the NYC restaurants to close from March 2020. Recently, the restaurants started to open again but are inspections by DOHMH more frequent now? DO inspections happen more in the areas with high COVID cases ? Is there a relation between inspection rating and COVID cases?

Data Preparation

Step 1 is to install and load required libraries to extract data from sources

Step 2 is to extract data from different sources

Raw data from looks like this:

Health inspection data contains 26 columns and 400,120 rows. Each row is a citation for a restaurant recorded after inspection. Now, let’s load the latest COVID spread data as well.

The Covid spread data contains 10 columns and 177 rows. Each row contains metrics corresponding to covid spread at Zip code level.

For the analysis we would require dataset at Zip code level for 2020 that includes both inspection data and covid data.

Research question

Is COVID case rate (Rate of confirmed cases per 100,000 people by Zip code of residence) predictive of NYC restaurant’s health inspection grading score ?

Cases

Each case represents a NYC restaurant in the united states. There 175 observations in the given data set.

Data collection

DOHMH New York City Restaurant Inspection Results Health The data is collected by Department of Health and Mental Hygiene (DOHMH) by creating a repository of every sustained or not yet adjudicated violation citation from every full or special program inspection conducted up to three years prior to the most recent inspection for restaurants and college cafeterias in an active status

NYC Coronavirus Disease 2019 (COVID-19) Data Health Department has collected about people who have tested positive for COVID-19 in NYC

Type of Study

This is an observational study.

Data Source

DOHMH New York City Restaurant Inspection Results Health This dataset and the information on the Health Department’s Restaurant Grading website come from the same data source. The Health Department’s Restaurant Grading website is here: http://www1.nyc.gov/site/doh/services/restaurant-grades.page

Data is extracted using the R package RSocrata

NYC Coronavirus Disease 2019 (COVID-19) Data Daily count of NYC residents who tested positive for SARS-CoV-2, who were hospitalized with COVID-19, and deaths among COVID-19 patients is collected from https://www1.nyc.gov/site/doh/covid/covid-19-data.page and specifically from their github repository https://github.com/nychealth/coronavirus-data

Response

The response variable is restaurant’s grading score (at Zip level) and is numerical.

Explanatory

The explanatory variable is COVID case rate and is numerical

Relevant summary statistics

At Borough code level, COVID cases are high even though the inspection scores seems to show better grade (lower score mean better grade from Health Department). This shows that the Health department’s restaurant inspection score might be influenced by covid case rate. Essentially in a way that restaurants are often inspected and ensured that top grade is maintained among the restaurants in high covid cases areas

At Zip code level, there seems to be no relation between COVID case rate and Health Department inspection scores.

At Zip code level, there seems to be no relation between COVID positive cases rate and Health Department inspection scores.

LS0tDQp0aXRsZTogJ0RhdGEgNjA2OiBEYXRhIFByb2plY3QnDQphdXRob3I6ICJCaGFyYW5pIE5pdHRhbGEiDQpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiDQphbHdheXNfYWxsb3dfaHRtbDogdHJ1ZQ0Kb3V0cHV0Og0KICBvcGVuaW50cm86OmxhYl9yZXBvcnQ6IGRlZmF1bHQNCiAgcGRmX2RvY3VtZW50OiBkZWZhdWx0DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgaW5jbHVkZXM6DQogICAgICBpbl9oZWFkZXI6IGhlYWRlci5odG1sDQogICAgY3NzOiAuL2xhYi5jc3MNCiAgICBoaWdobGlnaHQ6IHB5Z21lbnRzDQogICAgdGhlbWU6IGNlcnVsZWFuDQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZmxvYXQ6IHllcw0KICB3b3JkX2RvY3VtZW50Og0KICAgIHRvYzogeWVzDQplZGl0b3Jfb3B0aW9uczoNCiAgY2h1bmtfb3V0cHV0X3R5cGU6IGNvbnNvbGUNCi0tLQ0KDQojIyMgT3ZlcnZpZXcNCg0KRGVwYXJ0bWVudCBvZiBIZWFsdGggYW5kIE1lbnRhbCBIeWdpZW5lIChET0hNSCkgY29uZHVjdHMgdW5hbm5vdW5jZWQgaW5zcGVjdGlvbnMgb2YgcmVzdGF1cmFudHMgYXQgbGVhc3Qgb25jZSBhIHllYXIuIEluc3BlY3RvcnMgY2hlY2sgdGhhdCByZXN0YXVyYW50cyBjb21wbHkgd2l0aCBmb29kIHNhZmV0eSBydWxlcy4gTm93LCBtb3JlIHRoYW4gZXZlciwgdGhlc2UgaW5zcGVjdGlvbiByZXN1bHRzIGFyZSBpbXBvcnRhbnQgdG8gZXZhbHVhdGUgdGhlIGZvb2Qgc2FmZXR5IG1lYXN1cmVzIHRha2VuIGJ5IHRoZSByZXN0YXVyYW50cy4gQ09WSUQtMTkgY2F1c2VkIG1hbnkgb2YgdGhlIE5ZQyByZXN0YXVyYW50cyB0byBjbG9zZSBmcm9tIE1hcmNoIDIwMjAuIFJlY2VudGx5LCB0aGUgcmVzdGF1cmFudHMgc3RhcnRlZCB0byBvcGVuIGFnYWluIGJ1dCBhcmUgaW5zcGVjdGlvbnMgYnkgRE9ITUggbW9yZSBmcmVxdWVudCBub3c/IERPIGluc3BlY3Rpb25zIGhhcHBlbiBtb3JlIGluIHRoZSBhcmVhcyB3aXRoIGhpZ2ggQ09WSUQgY2FzZXMgPyBJcyB0aGVyZSBhIHJlbGF0aW9uIGJldHdlZW4gaW5zcGVjdGlvbiByYXRpbmcgYW5kIENPVklEIGNhc2VzPyAgDQoNCg0KIyMjIERhdGEgUHJlcGFyYXRpb24NCg0KU3RlcCAxIGlzIHRvIGluc3RhbGwgYW5kIGxvYWQgcmVxdWlyZWQgbGlicmFyaWVzIHRvIGV4dHJhY3QgZGF0YSBmcm9tIHNvdXJjZXMNCg0KYGBge3IgbGlicmFyaWVzLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGV2YWwgPSBUUlVFLCByZXN1bHRzID0gRkFMU0UpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoUlNvY3JhdGEpDQpsaWJyYXJ5KFJDdXJsKQ0KbGlicmFyeShybWFya2Rvd24pDQpgYGANCg0KDQpTdGVwIDIgaXMgdG8gZXh0cmFjdCBkYXRhIGZyb20gZGlmZmVyZW50IHNvdXJjZXMNCg0KUmF3IGRhdGEgZnJvbSBsb29rcyBsaWtlIHRoaXM6DQpgYGB7ciAsIG1lc3NhZ2U9RkFMU0UscmVzdWx0cz0iYXNpcyJ9DQp1cmwgPC0iaHR0cHM6Ly9kYXRhLmNpdHlvZm5ld3lvcmsudXMvSGVhbHRoL0RPSE1ILU5ldy1Zb3JrLUNpdHktUmVzdGF1cmFudC1JbnNwZWN0aW9uLVJlc3VsdHMvNDNubi1wbjhqIg0KbnlyZXN0YXVyYW50IDwtcmVhZC5zb2NyYXRhKHVybCkNCnBhZ2VkX3RhYmxlKG55cmVzdGF1cmFudCwgb3B0aW9ucyA9IGxpc3Qocm93cy5wcmludCA9IDUpKQ0KYGBgDQoNCkhlYWx0aCBpbnNwZWN0aW9uIGRhdGEgY29udGFpbnMgMjYgY29sdW1ucyBhbmQgNDAwLDEyMCByb3dzLiBFYWNoIHJvdyBpcyBhIGNpdGF0aW9uIGZvciBhIHJlc3RhdXJhbnQgcmVjb3JkZWQgYWZ0ZXIgaW5zcGVjdGlvbi4gTm93LCBsZXQncyBsb2FkIHRoZSBsYXRlc3QgQ09WSUQgc3ByZWFkIGRhdGEgYXMgd2VsbC4gIA0KDQpgYGB7ciAsIG1lc3NhZ2U9RkFMU0UsZWNobz0gRkFMU0UscmVzdWx0cz0iYXNpcyJ9DQpjb3ZpZF91cmwgPC0gZ2V0VVJMKCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbnljaGVhbHRoL2Nvcm9uYXZpcnVzLWRhdGEvbWFzdGVyL2RhdGEtYnktbW9kemN0YS5jc3YiKSANCmNvdmlkX3JhdyA8LSByZWFkLmNzdih0ZXh0ID0gY292aWRfdXJsKQ0KcGFnZWRfdGFibGUoY292aWRfcmF3LCBvcHRpb25zID0gbGlzdChyb3dzLnByaW50ID0gNSkpDQpgYGANCg0KDQpUaGUgQ292aWQgc3ByZWFkIGRhdGEgY29udGFpbnMgMTAgY29sdW1ucyBhbmQgMTc3IHJvd3MuIEVhY2ggcm93IGNvbnRhaW5zIG1ldHJpY3MgY29ycmVzcG9uZGluZyB0byBjb3ZpZCBzcHJlYWQgYXQgWmlwIGNvZGUgbGV2ZWwuICANCg0KRm9yIHRoZSBhbmFseXNpcyB3ZSB3b3VsZCByZXF1aXJlIGRhdGFzZXQgYXQgWmlwIGNvZGUgbGV2ZWwgZm9yIDIwMjAgdGhhdCBpbmNsdWRlcyBib3RoIGluc3BlY3Rpb24gZGF0YSBhbmQgY292aWQgZGF0YS4NCg0KYGBge3IgLCBtZXNzYWdlPUZBTFNFLHJlc3VsdHM9ImFzaXMifQ0KbnlyZXN0YXVyYW50X2FuYWx5c2lzIDwtICBmaWx0ZXIobnlyZXN0YXVyYW50LHN1YnN0cihpbnNwZWN0aW9uX2RhdGUsMSw0KSA9PSAiMjAyMCIsIHppcGNvZGUgIT0gJycpICU+JXNlbGVjdChpbnNwZWN0aW9uX2RhdGUsZGJhLHppcGNvZGUsYm9ybywgY3Vpc2luZV9kZXNjcmlwdGlvbixzY29yZSkNCg0KI1NlbGVjdCB6aXAgY29kZSBsZXZlbCBOWUMgcmVzdGF1cmFudCBkYXRhIHdpdGggYXZlcmFnZSBpbnNwZWN0aW9uIGdyYWRpbmcgc2NvcmUgDQpueXJlc3RhdXJhbnRfemlwIDwtIG55cmVzdGF1cmFudF9hbmFseXNpcyAlPiUgZ3JvdXBfYnkoemlwY29kZSkgJT4lIHN1bW1hcmlzZShzY29yZXMgPSBtZWFuKHNjb3JlLG5hLnJtID0gVFJVRSkpDQpueXJlc3RhdXJhbnRfYm9ybyA8LSBueXJlc3RhdXJhbnRfYW5hbHlzaXMgJT4lIGdyb3VwX2J5KGJvcm8pICU+JSBzdW1tYXJpc2Uoc2NvcmVzID0gbWVhbihzY29yZSxuYS5ybSA9IFRSVUUpKQ0KICANCiNTZWxlY3QgemlwIGNvZGUgbGV2ZWwgY292aWQgY2FzZSByYXRlDQpjb3ZpZF96aXAgPC0gY292aWRfcmF3ICU+JXNlbGVjdChNT0RJRklFRF9aQ1RBLENPVklEX0NBU0VfUkFURSxQRVJDRU5UX1BPU0lUSVZFKQ0KY292aWRfemlwIDwtIHJlbmFtZShjb3ZpZF9yYXcsemlwY29kZSA9IE1PRElGSUVEX1pDVEEpDQpjb3ZpZF9ib3JvIDwtIGNvdmlkX3JhdyAlPiVzZWxlY3QoQk9ST1VHSF9HUk9VUCxDT1ZJRF9DQVNFX1JBVEUsUEVSQ0VOVF9QT1NJVElWRSkgJT4lIGdyb3VwX2J5KEJPUk9VR0hfR1JPVVApICU+JSBzdW1tYXJpc2UoQ09WSURfQ0FTRV9SQVRFID0gbWVhbihDT1ZJRF9DQVNFX1JBVEUsbmEucm0gPSBUUlVFKSxQRVJDRU5UX1BPU0lUSVZFID0gbWVhbihQRVJDRU5UX1BPU0lUSVZFLG5hLnJtID0gVFJVRSkpDQpjb3ZpZF9ib3JvIDwtIHJlbmFtZShjb3ZpZF9ib3JvLGJvcm8gPSBCT1JPVUdIX0dST1VQKQ0KICANCiNSZW1vdmUgdGhlIGNhc2VzIHdoZXJlIENPVklEIGRhdGEgaXMgbm90IGF2YWlsYWJsZQ0KbWFzdGVyX2RhdGFfemlwIDwtIG1lcmdlKHggPSBueXJlc3RhdXJhbnRfemlwICwgeSA9IGNvdmlkX3ppcCwgYnkgPSBjKCJ6aXBjb2RlIikpDQptYXN0ZXJfZGF0YV9ib3JvIDwtIG1lcmdlKHggPSBueXJlc3RhdXJhbnRfYm9ybyAsIHkgPSBjb3ZpZF9ib3JvLCBieSA9IGMoImJvcm8iKSkNCiAgDQpgYGANCg0KDQojIyMgUmVzZWFyY2ggcXVlc3Rpb24NCklzIENPVklEICoqY2FzZSByYXRlKiogKFJhdGUgb2YgY29uZmlybWVkIGNhc2VzIHBlciAxMDAsMDAwIHBlb3BsZSBieSBaaXAgY29kZSBvZiByZXNpZGVuY2UpIHByZWRpY3RpdmUgb2YgTllDIHJlc3RhdXJhbnQncyBoZWFsdGggaW5zcGVjdGlvbiBbZ3JhZGluZyBzY29yZV0oaHR0cHM6Ly9hODE2LWhlYWx0aC5ueWMuZ292L0FCQ0VhdHNSZXN0YXVyYW50cy8jL2ZhcSkgPw0KIA0KDQojIyMgQ2FzZXMNCkVhY2ggY2FzZSByZXByZXNlbnRzIGEgTllDIHJlc3RhdXJhbnQgaW4gdGhlIHVuaXRlZCBzdGF0ZXMuIFRoZXJlICoxNzUqIG9ic2VydmF0aW9ucyBpbiB0aGUgZ2l2ZW4gZGF0YSBzZXQuDQoNCg0KIyMjIERhdGEgY29sbGVjdGlvbg0KKkRPSE1IIE5ldyBZb3JrIENpdHkgUmVzdGF1cmFudCBJbnNwZWN0aW9uIFJlc3VsdHMgSGVhbHRoKg0KVGhlIGRhdGEgaXMgY29sbGVjdGVkIGJ5IAlEZXBhcnRtZW50IG9mIEhlYWx0aCBhbmQgTWVudGFsIEh5Z2llbmUgKERPSE1IKSBieSBjcmVhdGluZyBhIHJlcG9zaXRvcnkgb2YgZXZlcnkgc3VzdGFpbmVkIG9yIG5vdCB5ZXQgYWRqdWRpY2F0ZWQgdmlvbGF0aW9uIGNpdGF0aW9uIGZyb20gZXZlcnkgZnVsbCBvciBzcGVjaWFsIHByb2dyYW0gaW5zcGVjdGlvbiBjb25kdWN0ZWQgdXAgdG8gdGhyZWUgeWVhcnMgcHJpb3IgdG8gdGhlIG1vc3QgcmVjZW50IGluc3BlY3Rpb24gZm9yIHJlc3RhdXJhbnRzIGFuZCBjb2xsZWdlIGNhZmV0ZXJpYXMgaW4gYW4gYWN0aXZlIHN0YXR1cw0KDQoqTllDIENvcm9uYXZpcnVzIERpc2Vhc2UgMjAxOSAoQ09WSUQtMTkpIERhdGEqDQpIZWFsdGggRGVwYXJ0bWVudCBoYXMgY29sbGVjdGVkIGFib3V0IHBlb3BsZSB3aG8gaGF2ZSB0ZXN0ZWQgcG9zaXRpdmUgZm9yIENPVklELTE5IGluIE5ZQw0KDQojIyMgVHlwZSBvZiBTdHVkeQ0KVGhpcyBpcyBhbiBvYnNlcnZhdGlvbmFsIHN0dWR5Lg0KDQojIyMgRGF0YSBTb3VyY2UNCipET0hNSCBOZXcgWW9yayBDaXR5IFJlc3RhdXJhbnQgSW5zcGVjdGlvbiBSZXN1bHRzIEhlYWx0aCoNClRoaXMgZGF0YXNldCBhbmQgdGhlIGluZm9ybWF0aW9uIG9uIHRoZSBIZWFsdGggRGVwYXJ0bWVudOKAmXMgUmVzdGF1cmFudCBHcmFkaW5nIHdlYnNpdGUgY29tZSBmcm9tIHRoZSBzYW1lIGRhdGEgc291cmNlLiBUaGUgSGVhbHRoIERlcGFydG1lbnTigJlzIFJlc3RhdXJhbnQgR3JhZGluZyB3ZWJzaXRlIGlzIGhlcmU6DQpodHRwOi8vd3d3MS5ueWMuZ292L3NpdGUvZG9oL3NlcnZpY2VzL3Jlc3RhdXJhbnQtZ3JhZGVzLnBhZ2UNCg0KRGF0YSBpcyBleHRyYWN0ZWQgdXNpbmcgdGhlIFIgcGFja2FnZSBSU29jcmF0YQ0KDQoqTllDIENvcm9uYXZpcnVzIERpc2Vhc2UgMjAxOSAoQ09WSUQtMTkpIERhdGEqDQpEYWlseSBjb3VudCBvZiBOWUMgcmVzaWRlbnRzIHdobyB0ZXN0ZWQgcG9zaXRpdmUgZm9yIFNBUlMtQ29WLTIsIHdobyB3ZXJlIGhvc3BpdGFsaXplZCB3aXRoIENPVklELTE5LCBhbmQgZGVhdGhzIGFtb25nIENPVklELTE5IHBhdGllbnRzIGlzIGNvbGxlY3RlZCBmcm9tIGh0dHBzOi8vd3d3MS5ueWMuZ292L3NpdGUvZG9oL2NvdmlkL2NvdmlkLTE5LWRhdGEucGFnZSBhbmQgc3BlY2lmaWNhbGx5IGZyb20gdGhlaXIgZ2l0aHViIHJlcG9zaXRvcnkgaHR0cHM6Ly9naXRodWIuY29tL255Y2hlYWx0aC9jb3JvbmF2aXJ1cy1kYXRhDQoNCg0KIyMjIFJlc3BvbnNlDQpUaGUgcmVzcG9uc2UgdmFyaWFibGUgaXMgcmVzdGF1cmFudCdzIGdyYWRpbmcgc2NvcmUgKGF0IFppcCBsZXZlbCkgYW5kIGlzIG51bWVyaWNhbC4NCg0KDQojIyMgRXhwbGFuYXRvcnkNClRoZSBleHBsYW5hdG9yeSB2YXJpYWJsZSBpcyBDT1ZJRCBjYXNlIHJhdGUgYW5kIGlzIG51bWVyaWNhbA0KDQoNCiMjIyBSZWxldmFudCBzdW1tYXJ5IHN0YXRpc3RpY3MNCg0KDQpBdCBCb3JvdWdoIGNvZGUgbGV2ZWwsIENPVklEIGNhc2VzIGFyZSBoaWdoIGV2ZW4gdGhvdWdoIHRoZSBpbnNwZWN0aW9uIHNjb3JlcyBzZWVtcyB0byBzaG93IGJldHRlciBncmFkZSAobG93ZXIgc2NvcmUgbWVhbiBiZXR0ZXIgZ3JhZGUgZnJvbSBIZWFsdGggRGVwYXJ0bWVudCkuIFRoaXMgc2hvd3MgdGhhdCB0aGUgSGVhbHRoIGRlcGFydG1lbnQncyAgcmVzdGF1cmFudCBpbnNwZWN0aW9uIHNjb3JlIG1pZ2h0IGJlIGluZmx1ZW5jZWQgYnkgY292aWQgY2FzZSByYXRlLiBFc3NlbnRpYWxseSBpbiBhIHdheSB0aGF0IHJlc3RhdXJhbnRzIGFyZSBvZnRlbiBpbnNwZWN0ZWQgYW5kIGVuc3VyZWQgdGhhdCB0b3AgZ3JhZGUgaXMgbWFpbnRhaW5lZCBhbW9uZyB0aGUgcmVzdGF1cmFudHMgaW4gaGlnaCBjb3ZpZCBjYXNlcyBhcmVhcw0KDQpgYGB7ciAsIG1lc3NhZ2U9RkFMU0UscmVzdWx0cz0iYXNpcyJ9DQoNCmdncGxvdChtYXN0ZXJfZGF0YV9ib3JvLCBhZXMoeCA9IENPVklEX0NBU0VfUkFURSAsIHk9IHNjb3JlcykpICsgZ2VvbV9wb2ludCgpICsgZ2VvbV9zbW9vdGgobWV0aG9kPWxtKSsNCiAgIGdndGl0bGUoIk5ZQyBSZXN0YXVyYW50cyBpbnNwZWN0aW9uIHNjb3JlIHZzIENPVklEIGNhc2UgcmF0ZSIpICsgDQogICAgIHRoZW1lKHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQobGluZWhlaWdodD0uOCwgZmFjZT0iYm9sZCIpKQ0KDQoNCmBgYA0KDQpBdCBaaXAgY29kZSBsZXZlbCwgdGhlcmUgc2VlbXMgdG8gYmUgbm8gcmVsYXRpb24gYmV0d2VlbiBDT1ZJRCBjYXNlIHJhdGUgYW5kIEhlYWx0aCBEZXBhcnRtZW50IGluc3BlY3Rpb24gc2NvcmVzLiANCg0KYGBge3IgLCBtZXNzYWdlPUZBTFNFLHJlc3VsdHM9ImFzaXMifQ0KDQpnZ3Bsb3QobWFzdGVyX2RhdGFfemlwLCBhZXMoeCA9IENPVklEX0NBU0VfUkFURSAsIHk9IHNjb3JlcykpICsgZ2VvbV9wb2ludCgpICsgZ2VvbV9zbW9vdGgobWV0aG9kPWxtKSsNCiAgIGdndGl0bGUoIk5ZQyBSZXN0YXVyYW50cyBpbnNwZWN0aW9uIHNjb3JlIHZzIENPVklEIGNhc2UgcmF0ZSIpICsgDQogICAgIHRoZW1lKHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQobGluZWhlaWdodD0uOCwgZmFjZT0iYm9sZCIpKQ0KDQoNCmBgYA0KDQpcbg0KDQpBdCBaaXAgY29kZSBsZXZlbCwgdGhlcmUgc2VlbXMgdG8gYmUgbm8gcmVsYXRpb24gYmV0d2VlbiBDT1ZJRCBwb3NpdGl2ZSBjYXNlcyByYXRlIGFuZCBIZWFsdGggRGVwYXJ0bWVudCBpbnNwZWN0aW9uIHNjb3Jlcy4gDQpgYGB7ciAsIG1lc3NhZ2U9RkFMU0UscmVzdWx0cz0iYXNpcyJ9DQoNCmdncGxvdChtYXN0ZXJfZGF0YV96aXAsIGFlcyh4ID0gUEVSQ0VOVF9QT1NJVElWRSAsIHk9IHNjb3JlcykpICsgZ2VvbV9wb2ludCgpICsgZ2VvbV9zbW9vdGgobWV0aG9kPWxtKSsNCiAgIGdndGl0bGUoIk5ZQyBSZXN0YXVyYW50cyBpbnNwZWN0aW9uIHNjb3JlIHZzIENPVklEIHBvc2l0aXZlIGNhc2VzIHJhdGUiKSArIA0KICAgICB0aGVtZShwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGxpbmVoZWlnaHQ9LjgsIGZhY2U9ImJvbGQiKSkNCg0KDQpgYGANCg0KPGRpdiBjbGFzcz0idG9jaWZ5LWV4dGVuZC1wYWdlIiBkYXRhLXVuaXF1ZT0idG9jaWZ5LWV4dGVuZC1wYWdlIiBzdHlsZT0iaGVpZ2h0OiAwOyI+PC9kaXY+