About
In this section, we will be using Tableau to learn concepts on data outliers, seasonality effect, and the relationships and impacts. There is no R coding in this lab session.
From our view, we cannot conclude accurately if sales are increasing or decreasing. Nevertheless, there are remarkable inconstancies present, still a drastic drop in sales on 23, 24, 25th week. Moreover, there is a decrease in sales of around $27,000.
Setup
This worksheet will be used to capture your images from Tableau and to share your observations. Example of capturing and including an image is included at the end of this sheet for your reference. You will need to log onto Tableau and Connect/Import the file EuroStore.xls found in the ‘bsad_lab10’ folder.
Remember to always set your working directory to the source file location. Go to ‘Session’, scroll down to ‘Set Working Directory’, and click ‘To Source File Location’. Read carefully the below and follow the instructions to complete the tasks and answer any questions. Submit your work to RPubs as detailed in previous notes.
Note
For your assignment you may be using different data sets than what is included here. Always read carefully the instructions on Sakai. Tasks/questions to be completed/answered are highlighted in larger bolded fonts and numbered according to their particular placement in the task section.
Task 1: Data Outliers and Seasonality Effect
First get familiar with the data and what each columns represent. A description of the data is provided in a seperate sheet called ‘Desc’ in the same Excel file. Refer to Lab05 for early exercise using Tableau.
In a new Tableau sheet
1A) Plot Sales (Rows) versus Week (Columns). Include a snapshot here. Analyse the data source and explain in clear words the behavior you observe.

From our view, we cannot conclude accurately if sales are increasing or decreasing. Nevertheless, there are remarkable inconstancies present, still a drastic drop in sales on 23, 24, 25th week. Moreover, there is a decrease in sales of around $27k.
1B) Switch from SUM(Sales) to Average AVG(Sales). Change the Sales scale to be more reflective of the data. Include a snapshot here. Explain the new behavior relative to 1A).

The data is more significant to describe by handling average sales due to the raw data is longer than one year of sales data held. The average sales per week range within about 20K-27K.The drop in sales among Week 22-25 is no longer meaningful. Nevertheless, there is a downward trend in Week 30-36. ##### 1C) Add Temp to the Color scale found in Marks. Change SUM(Temp) to AVG(Temp). Edit the color legend to be more reflective of hot and cold temperatures. Include a snapshot here. Explain the combined behavior of sales and temperature.

Weekly sales go up while temperature increases. Nevertheless, Sales goes down meanwhile it gets colder outside.
Task 2: Relationships and Impacts
In a seperate Tableau sheet
2A) Plot Sales (Rows) versus TV (Columns). Switch both measures from SUM() to Dimension. The plot should look more like a scatter plot. Include a snapshot here. Explain the behavior of Sales versus TV. How much you think is the upper limit amount that should be invested in TV ads?

The scatter plot correlates the sales and the TV advertising spending. The graph reveals that if there is no spending on TV advertising, there will nevertheless end in sales. Based at the scatter plot, there is quite scarce, or no correlation among sales and TV advertising. The upper limit should be around 90K.
2B) Overlay Radio to the previous plot using the Size. scale found in Marks. Include a snapshot here. Explain how the additional Radio ads to Tv ads is impacting Sales.

In a separate Tableau sheet
Supplementing the extra radio ads to TV ads in the scatter plot displays that there is a related relationship among sales vs. TV ads and sales vs. radio ads. Not TV ads or radio ads influence sales or has a precise correlation connection. Nevertheless, by relating, it appears that radio ads hold a considerable influence in sales then the TV ads. It implies more radio ads, more potential sales. ##### 2C) Plot Sales versus Fuel Volume. Explain behavior.

The sales raise as the fuel volume raise. Sales and fuel volume hold a positive relationship. ##### 2D) Overlay Temperature using the Color scale. Follow 1C) for temperature settings. Explain the new combined behavior and the impact of temperature.

With higher temperature, there is tendency for an increment on fuel volume and sales. In high temperature, people drive longer and demand more gas so buy extra at the market, which raises sales. ##### 2E) Overlay Holiday using the Label scale. Include a snapshot here. Explain the new combined behavior and the impact of Holiday.

Holidays concentrate in the summer season. Throughout the holiday season , the fuel volume raises and sales raise too.
In a separate sheet
2F) Use a Tree Map to best show the combined effect of Sales, Fuel Volume, Temp, and Holiday. A sample view is shown below. Consider using the Quick Filter on Holiday and Temp to isolate and better view the impact of each. You can have more than one filter at a time. Include a snapshot here.

2G) Write a small paragraph summarizing your final conclusions on what you think most affect Sales and under what conditions.

In my view, sales are mostly determined by temperature, holiday, and fuel volume. Nevertheless, it also changed by radio ads and TV ads spending lightly. Sales raise throughout the summer season, which longer holidays, and there is a high positive correlation among sales and fuel volume.
LS0tCnRpdGxlOiAiQnVzaW5lc3MgQW5hbHl0aWNzIExhYiBXb3Jrc2hlZXQgMTAiCmF1dGhvcjogIkZlcm5hbmRvIEFzYW56YSIKZGF0ZTogIkFwcmlsIDIydGggMjAxOSIKb3V0cHV0OgogIGh0bWxfbm90ZWJvb2s6IGRlZmF1bHQKICBodG1sX2RvY3VtZW50OiBkZWZhdWx0CiAgcGRmX2RvY3VtZW50OiBkZWZhdWx0CnN1YnRpdGxlOiBDTUUgR3JvdXAgRm91bmRhdGlvbiBCdXNpbmVzcyBBbmFseXRpY3MgTGFiCi0tLQoKIyMjIEFib3V0CgpJbiB0aGlzIHNlY3Rpb24sIHdlIHdpbGwgYmUgdXNpbmcgVGFibGVhdSB0byBsZWFybiBjb25jZXB0cyBvbiBkYXRhIG91dGxpZXJzLCBzZWFzb25hbGl0eSBlZmZlY3QsIGFuZCB0aGUgcmVsYXRpb25zaGlwcyBhbmQgaW1wYWN0cy4gVGhlcmUgaXMgbm8gUiBjb2RpbmcgaW4gdGhpcyBsYWIgc2Vzc2lvbi4KCkZyb20gb3VyIHZpZXcsIHdlIGNhbm5vdCBjb25jbHVkZSBhY2N1cmF0ZWx5IGlmIHNhbGVzIGFyZSBpbmNyZWFzaW5nIG9yIGRlY3JlYXNpbmcuIE5ldmVydGhlbGVzcywgdGhlcmUgYXJlIHJlbWFya2FibGUgaW5jb25zdGFuY2llcyBwcmVzZW50LCBzdGlsbCBhIGRyYXN0aWMgZHJvcCBpbiBzYWxlcyBvbiAyMywgMjQsIDI1dGggd2Vlay4gTW9yZW92ZXIsIHRoZXJlIGlzIGEgZGVjcmVhc2UgaW4gc2FsZXMgb2YgYXJvdW5kICQyNywwMDAuCgojIyMgU2V0dXAKClRoaXMgd29ya3NoZWV0IHdpbGwgYmUgdXNlZCB0byBjYXB0dXJlIHlvdXIgaW1hZ2VzIGZyb20gVGFibGVhdSBhbmQgdG8gc2hhcmUgeW91ciBvYnNlcnZhdGlvbnMuICBFeGFtcGxlIG9mIGNhcHR1cmluZyBhbmQgaW5jbHVkaW5nIGFuIGltYWdlIGlzIGluY2x1ZGVkIGF0IHRoZSBlbmQgb2YgdGhpcyBzaGVldCBmb3IgeW91ciByZWZlcmVuY2UuIFlvdSB3aWxsIG5lZWQgdG8gbG9nIG9udG8gVGFibGVhdSBhbmQgQ29ubmVjdC9JbXBvcnQgdGhlIGZpbGUgRXVyb1N0b3JlLnhscyBmb3VuZCBpbiB0aGUgJ2JzYWRfbGFiMTAnIGZvbGRlci4gCgpSZW1lbWJlciB0byBhbHdheXMgc2V0IHlvdXIgd29ya2luZyBkaXJlY3RvcnkgdG8gdGhlIHNvdXJjZSBmaWxlIGxvY2F0aW9uLiBHbyB0byAnU2Vzc2lvbicsIHNjcm9sbCBkb3duIHRvICdTZXQgV29ya2luZyBEaXJlY3RvcnknLCBhbmQgY2xpY2sgJ1RvIFNvdXJjZSBGaWxlIExvY2F0aW9uJy4gUmVhZCBjYXJlZnVsbHkgdGhlIGJlbG93IGFuZCBmb2xsb3cgdGhlIGluc3RydWN0aW9ucyB0byBjb21wbGV0ZSB0aGUgdGFza3MgYW5kIGFuc3dlciBhbnkgcXVlc3Rpb25zLiAgU3VibWl0IHlvdXIgd29yayB0byBSUHVicyBhcyBkZXRhaWxlZCBpbiBwcmV2aW91cyBub3Rlcy4gCgojIyMgTm90ZQoKRm9yIHlvdXIgYXNzaWdubWVudCB5b3UgbWF5IGJlIHVzaW5nIGRpZmZlcmVudCBkYXRhIHNldHMgdGhhbiB3aGF0IGlzIGluY2x1ZGVkIGhlcmUuIEFsd2F5cyByZWFkIGNhcmVmdWxseSB0aGUgaW5zdHJ1Y3Rpb25zIG9uIFNha2FpLiAgVGFza3MvcXVlc3Rpb25zIHRvIGJlIGNvbXBsZXRlZC9hbnN3ZXJlZCBhcmUgaGlnaGxpZ2h0ZWQgaW4gbGFyZ2VyIGJvbGRlZCBmb250cyBhbmQgbnVtYmVyZWQgYWNjb3JkaW5nIHRvIHRoZWlyIHBhcnRpY3VsYXIgcGxhY2VtZW50IGluIHRoZSB0YXNrIHNlY3Rpb24uCgotLS0tLS0tLS0tCgojIyMgVGFzayAxOiBEYXRhIE91dGxpZXJzIGFuZCBTZWFzb25hbGl0eSBFZmZlY3QKCkZpcnN0IGdldCBmYW1pbGlhciB3aXRoIHRoZSBkYXRhIGFuZCB3aGF0IGVhY2ggY29sdW1ucyByZXByZXNlbnQuIEEgZGVzY3JpcHRpb24gb2YgdGhlIGRhdGEgaXMgcHJvdmlkZWQgaW4gYSBzZXBlcmF0ZSBzaGVldCBjYWxsZWQgJ0Rlc2MnIGluIHRoZSBzYW1lIEV4Y2VsIGZpbGUuIFJlZmVyIHRvIExhYjA1IGZvciBlYXJseSBleGVyY2lzZSB1c2luZyBUYWJsZWF1LiAKCkluIGEgbmV3IFRhYmxlYXUgc2hlZXQKCiMjIyMjIDFBKSBQbG90IFNhbGVzIChSb3dzKSB2ZXJzdXMgV2VlayAoQ29sdW1ucykuIEluY2x1ZGUgYSBzbmFwc2hvdCBoZXJlLiBBbmFseXNlIHRoZSBkYXRhIHNvdXJjZSBhbmQgZXhwbGFpbiBpbiBjbGVhciB3b3JkcyB0aGUgYmVoYXZpb3IgeW91IG9ic2VydmUuCmBgYHtyIGVjaG8gPSBGQUxTRX0KaW1nMV9wYXRoIDwtICJpbWdzL2ltZzAxLnBuZyIKa25pdHI6OmluY2x1ZGVfZ3JhcGhpY3MoaW1nMV9wYXRoKQpgYGAKRnJvbSBvdXIgdmlldywgd2UgY2Fubm90IGNvbmNsdWRlIGFjY3VyYXRlbHkgaWYgc2FsZXMgYXJlIGluY3JlYXNpbmcgb3IgZGVjcmVhc2luZy4gTmV2ZXJ0aGVsZXNzLCB0aGVyZSBhcmUgcmVtYXJrYWJsZSBpbmNvbnN0YW5jaWVzIHByZXNlbnQsIHN0aWxsIGEgZHJhc3RpYyBkcm9wIGluIHNhbGVzIG9uIDIzLCAyNCwgMjV0aCB3ZWVrLiBNb3Jlb3ZlciwgdGhlcmUgaXMgYSBkZWNyZWFzZSBpbiBzYWxlcyBvZiBhcm91bmQgJDI3ay4KCiMjIyMjIDFCKSAgU3dpdGNoIGZyb20gU1VNKFNhbGVzKSB0byBBdmVyYWdlIEFWRyhTYWxlcykuIENoYW5nZSB0aGUgU2FsZXMgc2NhbGUgdG8gYmUgbW9yZSByZWZsZWN0aXZlIG9mIHRoZSBkYXRhLiBJbmNsdWRlIGEgc25hcHNob3QgaGVyZS4gIEV4cGxhaW4gdGhlIG5ldyBiZWhhdmlvciByZWxhdGl2ZSB0byAxQSkuCmBgYHtyIGVjaG8gPSBGQUxTRX0KaW1nMV9wYXRoIDwtICJpbWdzLzFiLnBuZyIKa25pdHI6OmluY2x1ZGVfZ3JhcGhpY3MoaW1nMV9wYXRoKQpgYGAKVGhlIGRhdGEgaXMgbW9yZSBzaWduaWZpY2FudCB0byBkZXNjcmliZSBieSBoYW5kbGluZyBhdmVyYWdlIHNhbGVzIGR1ZSB0byB0aGUgcmF3IGRhdGEgaXMgbG9uZ2VyIHRoYW4gb25lIHllYXIgb2Ygc2FsZXMgZGF0YSBoZWxkLiBUaGUgYXZlcmFnZSBzYWxlcyBwZXIgd2VlayByYW5nZSB3aXRoaW4gYWJvdXQgMjBLLTI3Sy5UaGUgZHJvcCBpbiBzYWxlcyBhbW9uZyBXZWVrIDIyLTI1IGlzIG5vIGxvbmdlciBtZWFuaW5nZnVsLiBOZXZlcnRoZWxlc3MsIHRoZXJlIGlzIGEgZG93bndhcmQgdHJlbmQgaW4gV2VlayAzMC0zNi4KIyMjIyMgMUMpICBBZGQgVGVtcCB0byB0aGUgQ29sb3Igc2NhbGUgZm91bmQgaW4gTWFya3MuICBDaGFuZ2UgU1VNKFRlbXApIHRvIEFWRyhUZW1wKS4gRWRpdCB0aGUgY29sb3IgbGVnZW5kIHRvIGJlIG1vcmUgcmVmbGVjdGl2ZSBvZiBob3QgYW5kIGNvbGQgdGVtcGVyYXR1cmVzLiBJbmNsdWRlIGEgc25hcHNob3QgaGVyZS4gIEV4cGxhaW4gdGhlIGNvbWJpbmVkIGJlaGF2aW9yIG9mIHNhbGVzIGFuZCB0ZW1wZXJhdHVyZS4KYGBge3IgZWNobyA9IEZBTFNFfQppbWcxX3BhdGggPC0gImltZ3MvMSBjLnBuZyIKa25pdHI6OmluY2x1ZGVfZ3JhcGhpY3MoaW1nMV9wYXRoKQpgYGAKV2Vla2x5IHNhbGVzIGdvIHVwIHdoaWxlIHRlbXBlcmF0dXJlIGluY3JlYXNlcy4gTmV2ZXJ0aGVsZXNzLCBTYWxlcyBnb2VzIGRvd24gbWVhbndoaWxlIGl0IGdldHMgY29sZGVyIG91dHNpZGUuCi0tLS0tLS0tLS0KCiMjIyBUYXNrIDI6IFJlbGF0aW9uc2hpcHMgYW5kIEltcGFjdHMKCkluIGEgc2VwZXJhdGUgVGFibGVhdSBzaGVldAoKIyMjIyMgMkEpIFBsb3QgU2FsZXMgKFJvd3MpIHZlcnN1cyBUViAoQ29sdW1ucykuIFN3aXRjaCBib3RoIG1lYXN1cmVzIGZyb20gU1VNKCkgdG8gRGltZW5zaW9uLiAgVGhlIHBsb3Qgc2hvdWxkIGxvb2sgbW9yZSBsaWtlIGEgc2NhdHRlciBwbG90LiBJbmNsdWRlIGEgc25hcHNob3QgaGVyZS4gRXhwbGFpbiB0aGUgYmVoYXZpb3Igb2YgU2FsZXMgdmVyc3VzIFRWLiAgSG93IG11Y2ggeW91IHRoaW5rIGlzIHRoZSB1cHBlciBsaW1pdCBhbW91bnQgdGhhdCBzaG91bGQgYmUgaW52ZXN0ZWQgaW4gVFYgYWRzPwpgYGB7ciBlY2hvID0gRkFMU0V9CmltZzFfcGF0aCA8LSAiaW1ncy8yYS5wbmciCmtuaXRyOjppbmNsdWRlX2dyYXBoaWNzKGltZzFfcGF0aCkKYGBgClRoZSBzY2F0dGVyIHBsb3QgY29ycmVsYXRlcyB0aGUgc2FsZXMgYW5kIHRoZSBUViBhZHZlcnRpc2luZyBzcGVuZGluZy4gVGhlIGdyYXBoIHJldmVhbHMgdGhhdCBpZiB0aGVyZSBpcyBubyBzcGVuZGluZyBvbiBUViBhZHZlcnRpc2luZywgdGhlcmUgd2lsbCBuZXZlcnRoZWxlc3MgZW5kIGluIHNhbGVzLiBCYXNlZCBhdCB0aGUgc2NhdHRlciBwbG90LCB0aGVyZSBpcyBxdWl0ZSBzY2FyY2UsIG9yIG5vIGNvcnJlbGF0aW9uIGFtb25nIHNhbGVzIGFuZCBUViBhZHZlcnRpc2luZy4gVGhlIHVwcGVyIGxpbWl0IHNob3VsZCBiZSBhcm91bmQgOTBLLgoKIyMjIyMgMkIpIE92ZXJsYXkgUmFkaW8gdG8gdGhlIHByZXZpb3VzIHBsb3QgdXNpbmcgdGhlIFNpemUuIHNjYWxlIGZvdW5kIGluIE1hcmtzLiBJbmNsdWRlIGEgc25hcHNob3QgaGVyZS4gRXhwbGFpbiBob3cgdGhlIGFkZGl0aW9uYWwgUmFkaW8gYWRzIHRvIFR2IGFkcyBpcyBpbXBhY3RpbmcgU2FsZXMuCmBgYHtyIGVjaG8gPSBGQUxTRX0KaW1nMV9wYXRoIDwtICJpbWdzLzJiLnBuZyIKa25pdHI6OmluY2x1ZGVfZ3JhcGhpY3MoaW1nMV9wYXRoKQpgYGAKSW4gYSBzZXBhcmF0ZSBUYWJsZWF1IHNoZWV0CgpTdXBwbGVtZW50aW5nIHRoZSBleHRyYSByYWRpbyBhZHMgdG8gVFYgYWRzIGluIHRoZSBzY2F0dGVyIHBsb3QgZGlzcGxheXMgdGhhdCB0aGVyZSBpcyBhIHJlbGF0ZWQgcmVsYXRpb25zaGlwIGFtb25nIHNhbGVzIHZzLiBUViBhZHMgYW5kIHNhbGVzIHZzLiByYWRpbyBhZHMuIE5vdCBUViBhZHMgb3IgcmFkaW8gYWRzIGluZmx1ZW5jZSBzYWxlcyBvciBoYXMgYSBwcmVjaXNlIGNvcnJlbGF0aW9uIGNvbm5lY3Rpb24uIE5ldmVydGhlbGVzcywgYnkgcmVsYXRpbmcsIGl0IGFwcGVhcnMgdGhhdCByYWRpbyBhZHMgaG9sZCBhIGNvbnNpZGVyYWJsZSBpbmZsdWVuY2UgaW4gc2FsZXMgdGhlbiB0aGUgVFYgYWRzLiBJdCBpbXBsaWVzIG1vcmUgcmFkaW8gYWRzLCBtb3JlIHBvdGVudGlhbCBzYWxlcy4KIyMjIyMgMkMpIFBsb3QgU2FsZXMgdmVyc3VzIEZ1ZWwgVm9sdW1lLiBFeHBsYWluIGJlaGF2aW9yLgpgYGB7ciBlY2hvID0gRkFMU0V9CmltZzFfcGF0aCA8LSAiaW1ncy8yYy5wbmciCmtuaXRyOjppbmNsdWRlX2dyYXBoaWNzKGltZzFfcGF0aCkKYGBgCgpUaGUgc2FsZXMgcmFpc2UgYXMgdGhlIGZ1ZWwgdm9sdW1lIHJhaXNlLiBTYWxlcyBhbmQgZnVlbCB2b2x1bWUgaG9sZCBhIHBvc2l0aXZlIHJlbGF0aW9uc2hpcC4KIyMjIyMgMkQpIE92ZXJsYXkgVGVtcGVyYXR1cmUgdXNpbmcgdGhlIENvbG9yIHNjYWxlLiBGb2xsb3cgMUMpIGZvciB0ZW1wZXJhdHVyZSBzZXR0aW5ncy4gRXhwbGFpbiB0aGUgbmV3IGNvbWJpbmVkIGJlaGF2aW9yIGFuZCB0aGUgaW1wYWN0IG9mIHRlbXBlcmF0dXJlLgpgYGB7ciBlY2hvID0gRkFMU0V9CmltZzFfcGF0aCA8LSAiaW1ncy8yZC5wbmciCmtuaXRyOjppbmNsdWRlX2dyYXBoaWNzKGltZzFfcGF0aCkKYGBgCldpdGggaGlnaGVyIHRlbXBlcmF0dXJlLCB0aGVyZSBpcyB0ZW5kZW5jeSBmb3IgYW4gaW5jcmVtZW50IG9uIGZ1ZWwgdm9sdW1lIGFuZCBzYWxlcy4gSW4gaGlnaCB0ZW1wZXJhdHVyZSwgcGVvcGxlIGRyaXZlIGxvbmdlciBhbmQgZGVtYW5kIG1vcmUgZ2FzIHNvIGJ1eSBleHRyYSBhdCB0aGUgbWFya2V0LCB3aGljaCByYWlzZXMgc2FsZXMuCiMjIyMjIDJFKSBPdmVybGF5IEhvbGlkYXkgdXNpbmcgdGhlIExhYmVsIHNjYWxlLiBJbmNsdWRlIGEgc25hcHNob3QgaGVyZS4gIEV4cGxhaW4gdGhlIG5ldyBjb21iaW5lZCBiZWhhdmlvciBhbmQgdGhlIGltcGFjdCBvZiBIb2xpZGF5LgpgYGB7ciBlY2hvID0gRkFMU0V9CmltZzFfcGF0aCA8LSAiaW1ncy8yZS5wbmciCmtuaXRyOjppbmNsdWRlX2dyYXBoaWNzKGltZzFfcGF0aCkKYGBgCkhvbGlkYXlzIGNvbmNlbnRyYXRlIGluIHRoZSBzdW1tZXIgc2Vhc29uLiBUaHJvdWdob3V0IHRoZSBob2xpZGF5IHNlYXNvbiAsIHRoZSBmdWVsIHZvbHVtZSByYWlzZXMgYW5kIHNhbGVzIHJhaXNlIHRvby4KCkluIGEgc2VwYXJhdGUgc2hlZXQKCiMjIyMjIDJGKSBVc2UgYSBUcmVlIE1hcCB0byBiZXN0IHNob3cgdGhlIGNvbWJpbmVkIGVmZmVjdCBvZiBTYWxlcywgRnVlbCBWb2x1bWUsIFRlbXAsIGFuZCBIb2xpZGF5LiBBIHNhbXBsZSB2aWV3IGlzIHNob3duIGJlbG93LiAgQ29uc2lkZXIgdXNpbmcgdGhlIFF1aWNrIEZpbHRlciBvbiBIb2xpZGF5IGFuZCBUZW1wIHRvIGlzb2xhdGUgYW5kIGJldHRlciB2aWV3IHRoZSBpbXBhY3Qgb2YgZWFjaC4gWW91IGNhbiBoYXZlIG1vcmUgdGhhbiBvbmUgZmlsdGVyIGF0IGEgdGltZS4gIEluY2x1ZGUgYSBzbmFwc2hvdCBoZXJlLgpgYGB7ciBlY2hvID0gRkFMU0V9CmltZzFfcGF0aCA8LSAiaW1ncy8yZi5wbmciCmtuaXRyOjppbmNsdWRlX2dyYXBoaWNzKGltZzFfcGF0aCkKYGBgCgojIyMjIyAyRykgV3JpdGUgYSBzbWFsbCBwYXJhZ3JhcGggc3VtbWFyaXppbmcgeW91ciBmaW5hbCBjb25jbHVzaW9ucyBvbiB3aGF0IHlvdSB0aGluayBtb3N0IGFmZmVjdCBTYWxlcyBhbmQgdW5kZXIgd2hhdCBjb25kaXRpb25zLgogIApgYGB7ciBlY2hvID0gRkFMU0V9CmltZzFfcGF0aCA8LSAiaW1ncy90cmVlbWFwLnBuZyIKa25pdHI6OmluY2x1ZGVfZ3JhcGhpY3MoaW1nMV9wYXRoKQpgYGAKIEluIG15IHZpZXcsIHNhbGVzIGFyZSBtb3N0bHkgZGV0ZXJtaW5lZCBieSB0ZW1wZXJhdHVyZSwgaG9saWRheSwgYW5kIGZ1ZWwgdm9sdW1lLiBOZXZlcnRoZWxlc3MsIGl0IGFsc28gY2hhbmdlZCBieSByYWRpbyBhZHMgYW5kIFRWIGFkcyBzcGVuZGluZyBsaWdodGx5LiBTYWxlcyByYWlzZSB0aHJvdWdob3V0IHRoZSBzdW1tZXIgc2Vhc29uLCB3aGljaCBsb25nZXIgaG9saWRheXMsIGFuZCB0aGVyZSBpcyBhIGhpZ2ggcG9zaXRpdmUgY29ycmVsYXRpb24gYW1vbmcgc2FsZXMgYW5kIGZ1ZWwgdm9sdW1lLgo=