library(tidyverse)
library(DT)
library(trendyy)                
library(lubridate)               
  1. The following graph shows interest for the word “psychologist” on Google over time.
psychologist %>%
  get_interest() %>% 
  ggplot(aes(x = date, y = hits)) +
  geom_line() +
  theme_minimal() +
  labs(title = "Google Searches for 'Psychologist' Over Time")

The graph shows how many hits the word “psychologist” received on Google over a period of time from 2017-2022. It is important to note that Google uses “hits” as a standardized number that goes from 0-100, not a raw number of searches. The most hits the word “psychologist” received was in late 2020. There is a possibility this could have been because of the pandemic and how it impacted mental health. Lastly, there seems to be a little bit of a trend with hits being low at the very end of every year. However, they seem to go back up shortly after at the beginning of every year.

  1. The following graph shows average monthly interest in the word “psychologist” on Google over time.
psychologist %>%
  get_interest() %>% 
  mutate(month = month(date)) %>%            
  group_by(month) %>%                        
  summarize(hits_per_month = mean(hits)) %>%      
  ggplot(aes(x = month, y = hits_per_month)) +    
  geom_line() +
  scale_x_discrete(limits = c(1:12))
Warning: Continuous limits supplied to discrete scale.
Did you mean `limits = factor(...)` or `scale_*_continuous()`?

According to the graph, there is a small increase in average hits per month between January and February, but it is followed by a decline in the average number of hits from February until July. After July, there is a rapid increase in the average number of hits until September. September is the month with the most hits which is around 80 hits per month. After September, there is another downward trend until the end of the year. December is the month with the least amount of hits per month which is around 55. A possibility for the spike of average hits in September may be due to people experiencing seasonal depression or knowing that they may feel down during fall and winter months.

  1. The following data table shows hits on Google for the word “psychologist” from highest to lowest according to specific locations around the US. The following data is from 2015-2020.
psychologist_US <- trendy("psychologist", geo = "US", from = "2015-01-01", to = "2020-01-01")
psychologist_US %>%
  get_interest_dma() %>% 
  datatable()
NA

Gainesville, Florida had the most hits for the word “psychologist” with Santa Barbara, Santa Maria, and San Luis-Obispo California following. Tied with those California cities is Mankato, Minnesota with 98 hits for the word “psychologist”. There does not seem to be a specific trend as there are states all over the US in the top 10 hits for the word “psychologist”. It is worth noting that Florida makes up for 3 out of the top 10 places that searched the word “psychologist” the most. Just for fun, Billings is ranked 181 out of 210 with 57 hits.

  1. The following graph shows the interest that both the US and Canada have in the word “psychologist” according to each month over time. The following data is from 2015-2020.
psychologist_countries <- trendy("psychologist", geo = c("US", "CA"), from = "2015-01-01", to = "2020-01-01")
psychologist_countries %>%
  get_interest() %>% 
  mutate(month = month(date)) %>%          
  group_by(month, geo) %>%                              
  summarize(hits_per_month = mean(hits)) %>%           
  ggplot(aes(x = month, y = hits_per_month, color = geo)) +       
  geom_line() +
  scale_x_discrete(limits = c(1:12)) +
  theme_minimal() +
  labs(title = "US and Canada Internet Searches for 'psychologist' by Month, Over Time")
`summarise()` has grouped output by 'month'. You can override using the `.groups` argument.
Warning: Continuous limits supplied to discrete scale.
Did you mean `limits = factor(...)` or `scale_*_continuous()`?

The graph shows that there are similar trends between the United States and Canada and the interest in the word “psychologist” over time. Canada has an increase in average hits per month from January to February, however, the US has a decrease in average hits per month from January to March. From March to April, there is an increase in average hits per month for the United States. For Canada, there is a decrease in average hits per month from February to April with a slight increase again into May. Both Canada and the US see a downward trend in average hits per month before the biggest peak occurs for both countries. For both the US and Canada, the most average hits per month occurs in September, although Canada has fewer average hits per month than the US. After the peak in September, both countries decline in hits per month.

  1. The following graph shows hits for the word “psychologist” compared with hits for the word “psychiatrist” over time.
psychologist_psychiatrist <- trendy(c("psychologist", "psychiatrist"), geo = "US")
psychologist_psychiatrist %>%
  get_interest() %>%
  ggplot(aes(x = date, y = hits, color = keyword)) +
  geom_line()

The graph shows that hits for the words “psychologist” and “psychiatrist” are very similar, however, hits for the word “psychiatrist” seem to always be a little lower. Furthermore, the peak hits for the word “psychologist” are larger than the peak hits for the word “psychiatrist”. The peaks for the word “psychologist” reach up to 100 and in contrast, the peak hits for the word “psychiatrist” reach around 83. The largest number of hits for the word “psychologist” occurred in late 2019 and late 2020. The peak hits for the word “psychiatrist” occurred in early 2020.

  1. The following graph shows interest in images of “psychologist” and “psychiatrist” according to each month, over time.
psychologist_psychiatrist <- trendy(c("psychologist", "psychiatrist"), geo = "US", gprop = "images")
psychologist_psychiatrist %>%
  get_interest() %>% 
  mutate(month = month(date)) %>%          
  group_by(month, keyword) %>%                              
  summarize(hits_per_month = mean(hits)) %>%           
  ggplot(aes(x = month, y = hits_per_month, color = keyword)) +       
  geom_line() +
  scale_x_discrete(limits = c(1:12)) +
  theme_minimal() +
  labs(title = "Internet searches for 'psychologist' and 'psychiatrist' images over time, by month")
`summarise()` has grouped output by 'month'. You can override using the `.groups` argument.
Warning: Continuous limits supplied to discrete scale.
Did you mean `limits = factor(...)` or `scale_*_continuous()`?

The graph shows the average hits per month that images of “psychologist” and “psychiatrist” received over time. Images of “psychologist” received the most average hits per month during the month of September which is the same as the word “psychologist” also receiving the most average hits per month in September. The image received about 45 hits in the month of September. The image of “psychiatrist” received the most hits during the month of August with around 22 hits. Altogether, the average hits per month for these images are lower than they are for the words. Like the words, there seems to be an increase in hits around the fall and winter months.

LS0tCnRpdGxlOiAiR29vZ2xlIHRyZW5kcyIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQpgYGB7cn0KbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkoRFQpCmxpYnJhcnkodHJlbmR5eSkgICAgICAgICAgICAgICAgCmxpYnJhcnkobHVicmlkYXRlKSAgICAgICAgICAgICAgIApgYGAKMS4gVGhlIGZvbGxvd2luZyBncmFwaCBzaG93cyBpbnRlcmVzdCBmb3IgdGhlIHdvcmQgInBzeWNob2xvZ2lzdCIgb24gR29vZ2xlIG92ZXIgdGltZS4gCmBgYHtyfQpwc3ljaG9sb2dpc3QgJT4lCiAgZ2V0X2ludGVyZXN0KCkgJT4lIAogIGdncGxvdChhZXMoeCA9IGRhdGUsIHkgPSBoaXRzKSkgKwogIGdlb21fbGluZSgpICsKICB0aGVtZV9taW5pbWFsKCkgKwogIGxhYnModGl0bGUgPSAiR29vZ2xlIFNlYXJjaGVzIGZvciAncHN5Y2hvbG9naXN0JyBPdmVyIFRpbWUiKQoKYGBgClRoZSBncmFwaCBzaG93cyBob3cgbWFueSBoaXRzIHRoZSB3b3JkICJwc3ljaG9sb2dpc3QiIHJlY2VpdmVkIG9uIEdvb2dsZSBvdmVyIGEgcGVyaW9kIG9mIHRpbWUgZnJvbSAyMDE3LTIwMjIuIEl0IGlzIGltcG9ydGFudCB0byBub3RlIHRoYXQgR29vZ2xlIHVzZXMgImhpdHMiIGFzIGEgc3RhbmRhcmRpemVkIG51bWJlciB0aGF0IGdvZXMgZnJvbSAwLTEwMCwgbm90IGEgcmF3IG51bWJlciBvZiBzZWFyY2hlcy4gVGhlIG1vc3QgaGl0cyB0aGUgd29yZCAicHN5Y2hvbG9naXN0IiByZWNlaXZlZCB3YXMgaW4gbGF0ZSAyMDIwLiBUaGVyZSBpcyBhIHBvc3NpYmlsaXR5IHRoaXMgY291bGQgaGF2ZSBiZWVuIGJlY2F1c2Ugb2YgdGhlIHBhbmRlbWljIGFuZCBob3cgaXQgaW1wYWN0ZWQgbWVudGFsIGhlYWx0aC4gTGFzdGx5LCB0aGVyZSBzZWVtcyB0byBiZSBhIGxpdHRsZSBiaXQgb2YgYSB0cmVuZCB3aXRoIGhpdHMgYmVpbmcgbG93IGF0IHRoZSB2ZXJ5IGVuZCBvZiBldmVyeSB5ZWFyLiBIb3dldmVyLCB0aGV5IHNlZW0gdG8gZ28gYmFjayB1cCBzaG9ydGx5IGFmdGVyIGF0IHRoZSBiZWdpbm5pbmcgb2YgZXZlcnkgeWVhci4gCgoyLiBUaGUgZm9sbG93aW5nIGdyYXBoIHNob3dzIGF2ZXJhZ2UgbW9udGhseSBpbnRlcmVzdCBpbiB0aGUgd29yZCAicHN5Y2hvbG9naXN0IiBvbiBHb29nbGUgb3ZlciB0aW1lLiAKYGBge3J9CnBzeWNob2xvZ2lzdCAlPiUKICBnZXRfaW50ZXJlc3QoKSAlPiUgCiAgbXV0YXRlKG1vbnRoID0gbW9udGgoZGF0ZSkpICU+JSAgICAgICAgICAgIAogIGdyb3VwX2J5KG1vbnRoKSAlPiUgICAgICAgICAgICAgICAgICAgICAgICAKICBzdW1tYXJpemUoaGl0c19wZXJfbW9udGggPSBtZWFuKGhpdHMpKSAlPiUgICAgICAKICBnZ3Bsb3QoYWVzKHggPSBtb250aCwgeSA9IGhpdHNfcGVyX21vbnRoKSkgKyAgICAKICBnZW9tX2xpbmUoKSArCiAgc2NhbGVfeF9kaXNjcmV0ZShsaW1pdHMgPSBjKDE6MTIpKQoKYGBgCkFjY29yZGluZyB0byB0aGUgZ3JhcGgsIHRoZXJlIGlzIGEgc21hbGwgaW5jcmVhc2UgaW4gYXZlcmFnZSBoaXRzIHBlciBtb250aCBiZXR3ZWVuIEphbnVhcnkgYW5kIEZlYnJ1YXJ5LCBidXQgaXQgaXMgZm9sbG93ZWQgYnkgYSBkZWNsaW5lIGluIHRoZSBhdmVyYWdlIG51bWJlciBvZiBoaXRzIGZyb20gRmVicnVhcnkgdW50aWwgSnVseS4gQWZ0ZXIgSnVseSwgdGhlcmUgaXMgYSByYXBpZCBpbmNyZWFzZSBpbiB0aGUgYXZlcmFnZSBudW1iZXIgb2YgaGl0cyB1bnRpbCBTZXB0ZW1iZXIuIFNlcHRlbWJlciBpcyB0aGUgbW9udGggd2l0aCB0aGUgbW9zdCBoaXRzIHdoaWNoIGlzIGFyb3VuZCA4MCBoaXRzIHBlciBtb250aC4gQWZ0ZXIgU2VwdGVtYmVyLCB0aGVyZSBpcyBhbm90aGVyIGRvd253YXJkIHRyZW5kIHVudGlsIHRoZSBlbmQgb2YgdGhlIHllYXIuIERlY2VtYmVyIGlzIHRoZSBtb250aCB3aXRoIHRoZSBsZWFzdCBhbW91bnQgb2YgaGl0cyBwZXIgbW9udGggd2hpY2ggaXMgYXJvdW5kIDU1LiBBIHBvc3NpYmlsaXR5IGZvciB0aGUgc3Bpa2Ugb2YgYXZlcmFnZSBoaXRzIGluIFNlcHRlbWJlciBtYXkgYmUgZHVlIHRvIHBlb3BsZSBleHBlcmllbmNpbmcgc2Vhc29uYWwgZGVwcmVzc2lvbiBvciBrbm93aW5nIHRoYXQgdGhleSBtYXkgZmVlbCBkb3duIGR1cmluZyBmYWxsIGFuZCB3aW50ZXIgbW9udGhzLiAKCjMuIFRoZSBmb2xsb3dpbmcgZGF0YSB0YWJsZSBzaG93cyBoaXRzIG9uIEdvb2dsZSBmb3IgdGhlIHdvcmQgInBzeWNob2xvZ2lzdCIgZnJvbSBoaWdoZXN0IHRvIGxvd2VzdCBhY2NvcmRpbmcgdG8gc3BlY2lmaWMgbG9jYXRpb25zIGFyb3VuZCB0aGUgVVMuIFRoZSBmb2xsb3dpbmcgZGF0YSBpcyBmcm9tIDIwMTUtMjAyMC4gCmBgYHtyfQpwc3ljaG9sb2dpc3RfVVMgPC0gdHJlbmR5KCJwc3ljaG9sb2dpc3QiLCBnZW8gPSAiVVMiLCBmcm9tID0gIjIwMTUtMDEtMDEiLCB0byA9ICIyMDIwLTAxLTAxIikKYGBgCmBgYHtyfQpwc3ljaG9sb2dpc3RfVVMgJT4lCiAgZ2V0X2ludGVyZXN0X2RtYSgpICU+JSAKICBkYXRhdGFibGUoKQoKYGBgCkdhaW5lc3ZpbGxlLCBGbG9yaWRhIGhhZCB0aGUgbW9zdCBoaXRzIGZvciB0aGUgd29yZCAicHN5Y2hvbG9naXN0IiB3aXRoIFNhbnRhIEJhcmJhcmEsIFNhbnRhIE1hcmlhLCBhbmQgU2FuIEx1aXMtT2Jpc3BvIENhbGlmb3JuaWEgZm9sbG93aW5nLiBUaWVkIHdpdGggdGhvc2UgQ2FsaWZvcm5pYSBjaXRpZXMgaXMgTWFua2F0bywgTWlubmVzb3RhIHdpdGggOTggaGl0cyBmb3IgdGhlIHdvcmQgInBzeWNob2xvZ2lzdCIuIFRoZXJlIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBzcGVjaWZpYyB0cmVuZCBhcyB0aGVyZSBhcmUgc3RhdGVzIGFsbCBvdmVyIHRoZSBVUyBpbiB0aGUgdG9wIDEwIGhpdHMgZm9yIHRoZSB3b3JkICJwc3ljaG9sb2dpc3QiLiBJdCBpcyB3b3J0aCBub3RpbmcgdGhhdCBGbG9yaWRhIG1ha2VzIHVwIGZvciAzIG91dCBvZiB0aGUgdG9wIDEwIHBsYWNlcyB0aGF0IHNlYXJjaGVkIHRoZSB3b3JkICJwc3ljaG9sb2dpc3QiIHRoZSBtb3N0LiBKdXN0IGZvciBmdW4sIEJpbGxpbmdzIGlzIHJhbmtlZCAxODEgb3V0IG9mIDIxMCB3aXRoIDU3IGhpdHMuIAoKNC4gVGhlIGZvbGxvd2luZyBncmFwaCBzaG93cyB0aGUgaW50ZXJlc3QgdGhhdCBib3RoIHRoZSBVUyBhbmQgQ2FuYWRhIGhhdmUgaW4gdGhlIHdvcmQgInBzeWNob2xvZ2lzdCIgYWNjb3JkaW5nIHRvIGVhY2ggbW9udGggb3ZlciB0aW1lLiBUaGUgZm9sbG93aW5nIGRhdGEgaXMgZnJvbSAyMDE1LTIwMjAuIApgYGB7cn0KcHN5Y2hvbG9naXN0X2NvdW50cmllcyA8LSB0cmVuZHkoInBzeWNob2xvZ2lzdCIsIGdlbyA9IGMoIlVTIiwgIkNBIiksIGZyb20gPSAiMjAxNS0wMS0wMSIsIHRvID0gIjIwMjAtMDEtMDEiKQpgYGAKYGBge3J9CnBzeWNob2xvZ2lzdF9jb3VudHJpZXMgJT4lCiAgZ2V0X2ludGVyZXN0KCkgJT4lIAogIG11dGF0ZShtb250aCA9IG1vbnRoKGRhdGUpKSAlPiUgICAgICAgICAgCiAgZ3JvdXBfYnkobW9udGgsIGdlbykgJT4lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgc3VtbWFyaXplKGhpdHNfcGVyX21vbnRoID0gbWVhbihoaXRzKSkgJT4lICAgICAgICAgICAKICBnZ3Bsb3QoYWVzKHggPSBtb250aCwgeSA9IGhpdHNfcGVyX21vbnRoLCBjb2xvciA9IGdlbykpICsgICAgICAgCiAgZ2VvbV9saW5lKCkgKwogIHNjYWxlX3hfZGlzY3JldGUobGltaXRzID0gYygxOjEyKSkgKwogIHRoZW1lX21pbmltYWwoKSArCiAgbGFicyh0aXRsZSA9ICJVUyBhbmQgQ2FuYWRhIEludGVybmV0IFNlYXJjaGVzIGZvciAncHN5Y2hvbG9naXN0JyBieSBNb250aCwgT3ZlciBUaW1lIikKCmBgYApUaGUgZ3JhcGggc2hvd3MgdGhhdCB0aGVyZSBhcmUgc2ltaWxhciB0cmVuZHMgYmV0d2VlbiB0aGUgVW5pdGVkIFN0YXRlcyBhbmQgQ2FuYWRhIGFuZCB0aGUgaW50ZXJlc3QgaW4gdGhlIHdvcmQgInBzeWNob2xvZ2lzdCIgb3ZlciB0aW1lLiBDYW5hZGEgaGFzIGFuIGluY3JlYXNlIGluIGF2ZXJhZ2UgaGl0cyBwZXIgbW9udGggZnJvbSBKYW51YXJ5IHRvIEZlYnJ1YXJ5LCBob3dldmVyLCB0aGUgVVMgaGFzIGEgZGVjcmVhc2UgaW4gYXZlcmFnZSBoaXRzIHBlciBtb250aCBmcm9tIEphbnVhcnkgdG8gTWFyY2guIEZyb20gTWFyY2ggdG8gQXByaWwsIHRoZXJlIGlzIGFuIGluY3JlYXNlIGluIGF2ZXJhZ2UgaGl0cyBwZXIgbW9udGggZm9yIHRoZSBVbml0ZWQgU3RhdGVzLiBGb3IgQ2FuYWRhLCB0aGVyZSBpcyBhIGRlY3JlYXNlIGluIGF2ZXJhZ2UgaGl0cyBwZXIgbW9udGggZnJvbSBGZWJydWFyeSB0byBBcHJpbCB3aXRoIGEgc2xpZ2h0IGluY3JlYXNlIGFnYWluIGludG8gTWF5LiBCb3RoIENhbmFkYSBhbmQgdGhlIFVTIHNlZSBhIGRvd253YXJkIHRyZW5kIGluIGF2ZXJhZ2UgaGl0cyBwZXIgbW9udGggYmVmb3JlIHRoZSBiaWdnZXN0IHBlYWsgb2NjdXJzIGZvciBib3RoIGNvdW50cmllcy4gRm9yIGJvdGggdGhlIFVTIGFuZCBDYW5hZGEsIHRoZSBtb3N0IGF2ZXJhZ2UgaGl0cyBwZXIgbW9udGggb2NjdXJzIGluIFNlcHRlbWJlciwgYWx0aG91Z2ggQ2FuYWRhIGhhcyBmZXdlciBhdmVyYWdlIGhpdHMgcGVyIG1vbnRoIHRoYW4gdGhlIFVTLiBBZnRlciB0aGUgcGVhayBpbiBTZXB0ZW1iZXIsIGJvdGggY291bnRyaWVzIGRlY2xpbmUgaW4gaGl0cyBwZXIgbW9udGguIAoKNS4gVGhlIGZvbGxvd2luZyBncmFwaCBzaG93cyBoaXRzIGZvciB0aGUgd29yZCAicHN5Y2hvbG9naXN0IiBjb21wYXJlZCB3aXRoIGhpdHMgZm9yIHRoZSB3b3JkICJwc3ljaGlhdHJpc3QiIG92ZXIgdGltZS4gCmBgYHtyfQpwc3ljaG9sb2dpc3RfcHN5Y2hpYXRyaXN0IDwtIHRyZW5keShjKCJwc3ljaG9sb2dpc3QiLCAicHN5Y2hpYXRyaXN0IiksIGdlbyA9ICJVUyIpCmBgYApgYGB7cn0KcHN5Y2hvbG9naXN0X3BzeWNoaWF0cmlzdCAlPiUKICBnZXRfaW50ZXJlc3QoKSAlPiUKICBnZ3Bsb3QoYWVzKHggPSBkYXRlLCB5ID0gaGl0cywgY29sb3IgPSBrZXl3b3JkKSkgKwogIGdlb21fbGluZSgpCmBgYApUaGUgZ3JhcGggc2hvd3MgdGhhdCBoaXRzIGZvciB0aGUgd29yZHMgInBzeWNob2xvZ2lzdCIgYW5kICJwc3ljaGlhdHJpc3QiIGFyZSB2ZXJ5IHNpbWlsYXIsIGhvd2V2ZXIsIGhpdHMgZm9yIHRoZSB3b3JkICJwc3ljaGlhdHJpc3QiIHNlZW0gdG8gYWx3YXlzIGJlIGEgbGl0dGxlIGxvd2VyLiBGdXJ0aGVybW9yZSwgdGhlIHBlYWsgaGl0cyBmb3IgdGhlIHdvcmQgInBzeWNob2xvZ2lzdCIgYXJlIGxhcmdlciB0aGFuIHRoZSBwZWFrIGhpdHMgZm9yIHRoZSB3b3JkICJwc3ljaGlhdHJpc3QiLiBUaGUgcGVha3MgZm9yIHRoZSB3b3JkICJwc3ljaG9sb2dpc3QiIHJlYWNoIHVwIHRvIDEwMCBhbmQgaW4gY29udHJhc3QsIHRoZSBwZWFrIGhpdHMgZm9yIHRoZSB3b3JkICJwc3ljaGlhdHJpc3QiIHJlYWNoIGFyb3VuZCA4My4gVGhlIGxhcmdlc3QgbnVtYmVyIG9mIGhpdHMgZm9yIHRoZSB3b3JkICJwc3ljaG9sb2dpc3QiIG9jY3VycmVkIGluIGxhdGUgMjAxOSBhbmQgbGF0ZSAyMDIwLiBUaGUgcGVhayBoaXRzIGZvciB0aGUgd29yZCAicHN5Y2hpYXRyaXN0IiBvY2N1cnJlZCBpbiBlYXJseSAyMDIwLiAKCjYuIFRoZSBmb2xsb3dpbmcgZ3JhcGggc2hvd3MgaW50ZXJlc3QgaW4gaW1hZ2VzIG9mICJwc3ljaG9sb2dpc3QiIGFuZCAicHN5Y2hpYXRyaXN0IiBhY2NvcmRpbmcgdG8gZWFjaCBtb250aCwgb3ZlciB0aW1lLgpgYGB7cn0KcHN5Y2hvbG9naXN0X3BzeWNoaWF0cmlzdCA8LSB0cmVuZHkoYygicHN5Y2hvbG9naXN0IiwgInBzeWNoaWF0cmlzdCIpLCBnZW8gPSAiVVMiLCBncHJvcCA9ICJpbWFnZXMiKQpgYGAKYGBge3J9CnBzeWNob2xvZ2lzdF9wc3ljaGlhdHJpc3QgJT4lCiAgZ2V0X2ludGVyZXN0KCkgJT4lIAogIG11dGF0ZShtb250aCA9IG1vbnRoKGRhdGUpKSAlPiUgICAgICAgICAgCiAgZ3JvdXBfYnkobW9udGgsIGtleXdvcmQpICU+JSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogIHN1bW1hcml6ZShoaXRzX3Blcl9tb250aCA9IG1lYW4oaGl0cykpICU+JSAgICAgICAgICAgCiAgZ2dwbG90KGFlcyh4ID0gbW9udGgsIHkgPSBoaXRzX3Blcl9tb250aCwgY29sb3IgPSBrZXl3b3JkKSkgKyAgICAgICAKICBnZW9tX2xpbmUoKSArCiAgc2NhbGVfeF9kaXNjcmV0ZShsaW1pdHMgPSBjKDE6MTIpKSArCiAgdGhlbWVfbWluaW1hbCgpICsKICBsYWJzKHRpdGxlID0gIkludGVybmV0IHNlYXJjaGVzIGZvciAncHN5Y2hvbG9naXN0JyBhbmQgJ3BzeWNoaWF0cmlzdCcgaW1hZ2VzIG92ZXIgdGltZSwgYnkgbW9udGgiKQoKYGBgClRoZSBncmFwaCBzaG93cyB0aGUgYXZlcmFnZSBoaXRzIHBlciBtb250aCB0aGF0IGltYWdlcyBvZiAicHN5Y2hvbG9naXN0IiBhbmQgInBzeWNoaWF0cmlzdCIgcmVjZWl2ZWQgb3ZlciB0aW1lLiBJbWFnZXMgb2YgInBzeWNob2xvZ2lzdCIgcmVjZWl2ZWQgdGhlIG1vc3QgYXZlcmFnZSBoaXRzIHBlciBtb250aCBkdXJpbmcgdGhlIG1vbnRoIG9mIFNlcHRlbWJlciB3aGljaCBpcyB0aGUgc2FtZSBhcyB0aGUgd29yZCAicHN5Y2hvbG9naXN0IiBhbHNvIHJlY2VpdmluZyB0aGUgbW9zdCBhdmVyYWdlIGhpdHMgcGVyIG1vbnRoIGluIFNlcHRlbWJlci4gVGhlIGltYWdlIHJlY2VpdmVkIGFib3V0IDQ1IGhpdHMgaW4gdGhlIG1vbnRoIG9mIFNlcHRlbWJlci4gVGhlIGltYWdlIG9mICJwc3ljaGlhdHJpc3QiIHJlY2VpdmVkIHRoZSBtb3N0IGhpdHMgZHVyaW5nIHRoZSBtb250aCBvZiBBdWd1c3Qgd2l0aCBhcm91bmQgMjIgaGl0cy4gQWx0b2dldGhlciwgdGhlIGF2ZXJhZ2UgaGl0cyBwZXIgbW9udGggZm9yIHRoZXNlIGltYWdlcyBhcmUgbG93ZXIgdGhhbiB0aGV5IGFyZSBmb3IgdGhlIHdvcmRzLiBMaWtlIHRoZSB3b3JkcywgdGhlcmUgc2VlbXMgdG8gYmUgYW4gaW5jcmVhc2UgaW4gaGl0cyBhcm91bmQgdGhlIGZhbGwgYW5kIHdpbnRlciBtb250aHMuIAoK