5.4.2 Approche naïve

url_wikipedia <- "https://fr.wikipedia.org/"
url_filmographie <- "wiki/Filmographie_de_Louis_de_Funès"
url <- paste0(url_wikipedia, url_filmographie)
data_html <- readLines(url)
data_html[1:5]
[1] "<!DOCTYPE html>"                                              
[2] "<html class=\"client-nojs\" lang=\"fr\" dir=\"ltr\">"         
[3] "<head>"                                                       
[4] "<meta charset=\"UTF-8\"/>"                                    
[5] "<title>Filmographie de Louis de Funès — Wikipédia</title>"
begin <- grep("<body", data_html)
end <- grep("</body>", data_html)
data_html <- data_html[(begin +1):(end-1)]
li<- grep("<li>", data_html)
data_html[li[1]]
[1] "<ul><li><a href=\"/wiki/1946_au_cin%C3%A9ma\" title=\"1946 au cinéma\">1946</a>&#160;: <i><a href=\"/wiki/La_Tentation_de_Barbizon\" title=\"La Tentation de Barbizon\">La Tentation de Barbizon</a></i> de <a href=\"/wiki/Jean_Stelli\" title=\"Jean Stelli\">Jean Stelli</a>&#160;: le portier du cabaret <i>Le Paradis</i></li>"

5.4.3 Le package rvest

library(rvest)
data_html <- read_html(url)
data_html %>% html_nodes("h4") %>% head(1)
{xml_nodeset (1)}
[1] <h4>\n<span id="Ann.C3.A9es_1940"></span><span class="mw-headline" id="Années_1940">Années 1940</span><span class= ...
data_html %>% html_nodes("h4") %>% head(1) %>% html_text()
[1] "Années 1940[modifier | modifier le code]"
data_html %>%
html_nodes('#mw-content-text > div >
            ul:nth-of-type(1) > li > i > a') %>%
  html_attrs()
[[1]]
                            href                            title 
"/wiki/La_Tentation_de_Barbizon"       "La Tentation de Barbizon" 

[[2]]
                  href                  title 
"/wiki/Dernier_Refuge"       "Dernier Refuge" 

[[3]]
                            href                            title 
"/wiki/Six_heures_%C3%A0_perdre"            "Six heures à perdre" 

[[4]]
                         href                         title 
"/wiki/Antoine_et_Antoinette"       "Antoine et Antoinette" 

[[5]]
                                              href                                              title 
"/wiki/Le_Ch%C3%A2teau_de_la_derni%C3%A8re_chance"                 "Le Château de la dernière chance" 

[[6]]
                                   href                                   title 
"/wiki/Croisi%C3%A8re_pour_l%27inconnu"              "Croisière pour l'inconnu" 

[[7]]
                      href                      title 
"/wiki/Du_Guesclin_(film)"       "Du Guesclin (film)" 

[[8]]
                              href                              title 
"/wiki/Rendez-vous_avec_la_chance"       "Rendez-vous avec la chance" 

[[9]]
                                    href                                    title 
"/wiki/Je_n%27aime_que_toi_(film,_1949)"         "Je n'aime que toi (film, 1949)" 

[[10]]
                         href                         title 
"/wiki/Mission_%C3%A0_Tanger"            "Mission à Tanger" 

[[11]]
                                       href                                       title 
"/wiki/Vient_de_para%C3%AEtre_(film,_1949)"            "Vient de paraître (film, 1949)" 

[[12]]
                            href                            title 
"/wiki/Au_revoir_monsieur_Grock"       "Au revoir monsieur Grock" 

[[13]]
                                             href                                             title 
"/wiki/Ad%C3%A9ma%C3%AF_au_poteau-fronti%C3%A8re"                      "Adémaï au poteau-frontière" 

[[14]]
                    href                    title 
"/wiki/Mon_ami_Sainfoin"       "Mon ami Sainfoin" 

[[15]]
                             href                             title 
"/wiki/Millionnaires_d%27un_jour"         "Millionnaires d'un jour" 

[[16]]
                                    href                                    title 
"/wiki/Pas_de_week-end_pour_notre_amour"       "Pas de week-end pour notre amour" 

[[17]]
                       href                       title 
"/wiki/Un_certain_monsieur"       "Un certain monsieur" 

[[18]]
                       href                       title 
"/wiki/Le_Jugement_de_Dieu"       "Le Jugement de Dieu" 

[[19]]
                          href                          title 
"/wiki/Rendez-vous_de_juillet"       "Rendez-vous de juillet" 
data_html %>%
html_nodes('#mw-content-text > div >
            ul:nth-of-type(2) > li > i > a') %>%
  html_attrs()
[[1]]
                    href                    title 
"/wiki/Quai_de_Grenelle"       "Quai de Grenelle" 

[[2]]
                         href                         title 
"/wiki/Le_Roi_du_bla_bla_bla"       "Le Roi du bla bla bla" 

[[3]]
                   href                   title 
"/wiki/La_Rue_sans_loi"       "La Rue sans loi" 

[[4]]
                       href                       title 
"/wiki/L%27Amant_de_paille"         "L'Amant de paille" 

[[5]]
                        href                        title 
"/wiki/Bibi_Fricotin_(film)"       "Bibi Fricotin (film)" 

[[6]]
                                   href                                   title 
"/wiki/Sa_Majest%C3%A9_monsieur_Dupont"            "Sa Majesté monsieur Dupont" 

[[7]]
                                          href                                          title 
"/wiki/Les_Joueurs_(t%C3%A9l%C3%A9film,_1950)"                 "Les Joueurs (téléfilm, 1950)" 

[[8]]
                       href                       title 
"/wiki/Boniface_somnambule"       "Boniface somnambule" 

[[9]]
                      href                      title 
"/wiki/Knock_(film,_1951)"       "Knock (film, 1951)" 

[[10]]
                            href                            title 
"/wiki/Folie_douce_(film,_1951)"       "Folie douce (film, 1951)" 

[[11]]
                            href                            title 
"/wiki/%C3%89douard_et_Caroline"            "Édouard et Caroline" 

[[12]]
                              href                              title 
"/wiki/La_Rose_rouge_(film,_1951)"       "La Rose rouge (film, 1951)" 

[[13]]
                                   href                                   title 
"/wiki/Sans_laisser_d%27adresse_(film)"         "Sans laisser d'adresse (film)" 

[[14]]
                     href                     title 
"/wiki/La_vie_est_un_jeu"       "La vie est un jeu" 

[[15]]
               href               title 
"/wiki/La_Passante"       "La Passante" 

[[16]]
             href             title 
"/wiki/La_Poison"       "La Poison" 

[[17]]
                                          href                                          title 
"/wiki/Pas_de_vacances_pour_Monsieur_le_Maire"       "Pas de vacances pour Monsieur le Maire" 

[[18]]
                    href                    class                    title 
"/wiki/Le_Dindon_(film)"            "mw-redirect"       "Le Dindon (film)" 

[[19]]
                           href                           title 
"/wiki/Ma_femme_est_formidable"       "Ma femme est formidable" 

[[20]]
                              href                              title 
"/wiki/Les_loups_chassent_la_nuit"       "Les loups chassent la nuit" 

[[21]]
                              href                              title 
"/wiki/Le_Voyage_en_Am%C3%A9rique"            "Le Voyage en Amérique" 

[[22]]
                                                   href                                                   title 
"/wiki/Les_Sept_P%C3%A9ch%C3%A9s_capitaux_(film,_1952)"                 "Les Sept Péchés capitaux (film, 1952)" 

[[23]]
                         href                         title 
"/wiki/Ils_%C3%A9taient_cinq"            "Ils étaient cinq" 

[[24]]
                     href                     title 
"/wiki/Les_Dents_longues"       "Les Dents longues" 

[[25]]
                              href                              title 
"/wiki/Agence_matrimoniale_(film)"       "Agence matrimoniale (film)" 

[[26]]
                              href                              title 
"/wiki/La_Fugue_de_monsieur_Perle"       "La Fugue de monsieur Perle" 

[[27]]
               href               class               title 
"/wiki/Elle_et_moi"       "mw-redirect"       "Elle et moi" 

[[28]]
                                      href                                      class 
"/wiki/Je_l%27ai_%C3%A9t%C3%A9_trois_fois"                              "mw-redirect" 
                                     title 
                  "Je l'ai été trois fois" 

[[29]]
                 href                 title 
"/wiki/Monsieur_Taxi"       "Monsieur Taxi" 

[[30]]
                               href                               title 
"/wiki/Monsieur_Leguignon_lampiste"       "Monsieur Leguignon lampiste" 

[[31]]
                     href                     title 
"/wiki/Moineaux_de_Paris"       "Moineaux de Paris" 

[[32]]
                                            href                                            title 
"/wiki/L%27amour_n%27est_pas_un_p%C3%A9ch%C3%A9"                     "L'amour n'est pas un péché" 

[[33]]
                                 href                                 title 
"/wiki/La_Putain_respectueuse_(film)"       "La Putain respectueuse (film)" 

[[34]]
                                                href                                                title 
"/wiki/La_Tourn%C3%A9e_des_grands_ducs_(film,_1952)"            "La Tournée des grands ducs (film, 1952)" 

[[35]]
                   href                   title 
"/wiki/Tambour_battant"       "Tambour battant" 

[[36]]
                         href                         title 
"/wiki/Week-end_%C3%A0_Paris"            "Week-end à Paris" 

[[37]]
                            href                            title 
"/wiki/Les_Compagnes_de_la_nuit"       "Les Compagnes de la nuit" 

[[38]]
                                    href                                    title 
"/wiki/La_Vie_d%27un_honn%C3%AAte_homme"              "La Vie d'un honnête homme" 

[[39]]
                                                href                                                title 
"/wiki/L%27%C3%89trange_D%C3%A9sir_de_monsieur_Bard"                   "L'Étrange Désir de monsieur Bard" 

[[40]]
                                    href                                    title 
"/wiki/Dortoir_des_grandes_(film,_1953)"       "Dortoir des grandes (film, 1953)" 

[[41]]
                      href                      title 
"/wiki/Au_diable_la_vertu"       "Au diable la vertu" 

[[42]]
                                        href                                        title 
"/wiki/L%C3%A9g%C3%A8re_et_court_v%C3%AAtue"                      "Légère et court vêtue" 

[[43]]
                       href                       title 
"/wiki/Capitaine_Pantoufle"       "Capitaine Pantoufle" 

[[44]]
                                          href                                          title 
"/wiki/Le_Secret_d%27H%C3%A9l%C3%A8ne_Marimon"                   "Le Secret d'Hélène Marimon" 

[[45]]
                        href                        title 
"/wiki/Faites-moi_confiance"       "Faites-moi confiance" 

[[46]]
                                    href                                    title 
"/wiki/Mon_frangin_du_S%C3%A9n%C3%A9gal"                 "Mon frangin du Sénégal" 

[[47]]
                                  href                                  title 
"/wiki/Poisson_d%27avril_(film,_1954)"         "Poisson d'avril (film, 1954)" 

[[48]]
                              href                              title 
"/wiki/Ah_!_les_belles_bacchantes"       "Ah ! les belles bacchantes" 

[[49]]
                               href                               title 
"/wiki/Le_Bl%C3%A9_en_herbe_(film)"            "Le Blé en herbe (film)" 

[[50]]
                           href                           title 
"/wiki/Le_Chevalier_de_la_nuit"       "Le Chevalier de la nuit" 

[[51]]
                                     href                                     title 
"/wiki/Les_Corsaires_du_bois_de_Boulogne"       "Les Corsaires du bois de Boulogne" 

[[52]]
                                    href                                    title 
"/wiki/Escalier_de_service_(film,_1954)"       "Escalier de service (film, 1954)" 

[[53]]
                                             href                                             title 
"/wiki/Les_hommes_ne_pensent_qu%27%C3%A0_%C3%A7a"                   "Les hommes ne pensent qu'à ça" 

[[54]]
                   href                   title 
"/wiki/Les_Intrigantes"       "Les Intrigantes" 

[[55]]
                                     href                                     title 
"/wiki/Mam%27zelle_Nitouche_(film,_1954)"         "Mam'zelle Nitouche (film, 1954)" 

[[56]]
                                href                                title 
"/wiki/Le_Mouton_%C3%A0_cinq_pattes"            "Le Mouton à cinq pattes" 

[[57]]
                                href                                class                                title 
"/wiki/Papa,_maman,_la_bonne_et_moi"                        "mw-redirect"       "Papa, maman, la bonne et moi" 

[[58]]
                                    href                                    title 
"/wiki/Les_p%C3%A9p%C3%A9es_font_la_loi"                 "Les pépées font la loi" 

[[59]]
                                href                                title 
"/wiki/La_Reine_Margot_(film,_1954)"       "La Reine Margot (film, 1954)" 

[[60]]
                              href                              class                              title 
"/wiki/Sc%C3%A8nes_de_m%C3%A9nage"                      "mw-redirect"                 "Scènes de ménage" 

[[61]]
                          href                          title 
"/wiki/Tourments_(film,_1954)"       "Tourments (film, 1954)" 

[[62]]
               href               title 
"/wiki/Les_Impures"       "Les Impures" 

[[63]]
                              href                              title 
"/wiki/Napol%C3%A9on_(film,_1955)"            "Napoléon (film, 1955)" 

[[64]]
                                             href                                             class 
"/wiki/Ingrid_:_Die_Geschichte_eines_Fotomodells"                                     "mw-redirect" 
                                            title 
      "Ingrid : Die Geschichte eines Fotomodells" 

[[65]]
                                   href                                   title 
"/wiki/L%27Impossible_Monsieur_Pipelet"         "L'Impossible Monsieur Pipelet" 

[[66]]
                       href                       title 
"/wiki/Les_Hussards_(film)"       "Les Hussards (film)" 

[[67]]
                                       href                                       title 
"/wiki/Si_Paris_nous_%C3%A9tait_cont%C3%A9"                 "Si Paris nous était conté" 

[[68]]
                          href                          class                          title 
"/wiki/Frou-Frou_(film,_1955)"                  "mw-redirect"       "Frou-Frou (film, 1955)" 

[[69]]
                              href                              title 
"/wiki/La_Travers%C3%A9e_de_Paris"            "La Traversée de Paris" 

[[70]]
                        href                        title 
"/wiki/La_Bande_%C3%A0_papa"            "La Bande à papa" 

[[71]]
                   href                   title 
"/wiki/Bonjour_sourire"       "Bonjour sourire" 

[[72]]
                               href                               title 
"/wiki/B%C3%A9b%C3%A9s_%C3%A0_gogo"                      "Bébés à gogo" 

[[73]]
                   href                   title 
"/wiki/La_Loi_des_rues"       "La Loi des rues" 

[[74]]
                    href                    title 
"/wiki/Courte_T%C3%AAte"            "Courte Tête" 

[[75]]
                                href                                title 
"/wiki/Papa,_maman,_ma_femme_et_moi"       "Papa, maman, ma femme et moi" 

[[76]]
                                href                                title 
"/wiki/Comme_un_cheveu_sur_la_soupe"       "Comme un cheveu sur la soupe" 

[[77]]
                               href                               class                               title 
"/wiki/Ni_vu..._Ni_connu..._(film)"                       "mw-redirect"       "Ni vu... Ni connu... (film)" 

[[78]]
                             href                             title 
"/wiki/Taxi,_Roulotte_et_Corrida"       "Taxi, Roulotte et Corrida" 

[[79]]
                      href                      title 
"/wiki/La_Vie_%C3%A0_deux"            "La Vie à deux" 

[[80]]
                       href                       title 
"/wiki/Fripouillard_et_Cie"       "Fripouillard et Cie" 

[[81]]
                      href                      class                      title 
"/wiki/Toto_%C3%A0_Madrid"              "mw-redirect"            "Toto à Madrid" 

[[82]]
                            href                            title 
"/wiki/Mon_pote_le_gitan_(film)"       "Mon pote le gitan (film)" 
data_html %>%
  html_nodes(xpath ='//*[@id="mw-content-text"]
    /div/ul[
    preceding::h4[span/@id="Années_1950"]
    and
    following::h4[span/@id="Années_1960"]]
    /li/i/a'
    ) %>%
  head(5) %>%
  html_text()
character(0)
url_film <- "wiki/Quai_de_Grenelle"
url <- paste0(url_wikipedia,url_film)
data_html <- read_html(url)
data_html %>%
html_nodes(xpath = '(
  //*[@id="mw-content-text"]
  //ul[preceding::h2[span/@id="Distribution"]]
  )[1]/li/a[1]'
  ) %>%
  head(6) %>%
  html_text()
[1] "Henri Vidal"       "Maria Mauban"      "Françoise Arnoul"  "Jean Tissier"      "Robert Dalban"    
[6] "Micheline Francey"
library(tidyverse)
library(dplyr)
url_wikipedia <- "https://fr.wikipedia.org"
url_de_funes <- "/wiki/Filmographie_de_Louis_de_Funès"
url <- paste0(url_wikipedia, url_de_funes)
data_html <- read_html(url)
films <- data_html %>%
  html_nodes('#mw-content-text > div >
              ul:nth-of-type(2) > li > i > a') %>%
  html_attrs()
liste_acteurs <- tibble()
for(i in seq_along(films)){
  titre <- films[[i]][2]
  url_film <- films[[i]][1]
  url <- paste0(url_wikipedia, url_film)
  data_html <- read_html(url)
  acteurs <- data_html %>%
    html_nodes(xpath = '
  (
  //*[@id="mw-content-text"]
  //ul[preceding::h2[span/@id="Distribution"]]
  )[1]/li/a[1]'
  ) %>%
    html_text()
  liste_acteurs <- rbind(liste_acteurs,tibble(nom = acteurs,titre = titre))
}
liste_acteurs %>%
  group_by(nom) %>%
  summarise(n = n()) %>%
  arrange(desc(n)) %>%
  head(4)
# A tibble: 4 x 2
  nom                n
  <chr>          <int>
1 Louis de Funès    78
2 Paul Demange      16
3 Albert Michel     14
4 Paul Faivre       14

5.4.4 Pour aller plus loin

url_wikipedia <- "https://fr.wikipedia.org"
url_de_funes <- "/wiki/Louis_de_Funès"
url <- paste0(url_wikipedia, url_de_funes)
read_html(url) %>%
html_nodes('#mw-content-text> div > div.infobox_v3.large > table') %>%
            html_table()
[[1]]
                X1                                                 X2
1 Nom de naissance            Louis Germain David de Funès de Galarza
2        Naissance                  31 juillet 1914Courbevoie (Seine)
3      Nationalité                                           Français
4            Décès 27 janvier 1983(à 68 ans)Nantes (Loire-Atlantique)
5       Profession                                    Acteur Pianiste
6   Films notables                                  voir filmographie
session <- html_session(url_wikipedia)
session
<session> https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Accueil_principal
  Status: 200
  Type:   text/html; charset=UTF-8
  Size:   134079
session %>% jump_to("Emanuel_Macron")
Not Found (HTTP 404).
<session> https://fr.wikipedia.org/wiki/Emanuel_Macron
  Status: 404
  Type:   text/html; charset=UTF-8
  Size:   27154
session %>% jump_to("Emmanuel_Macron")
<session> https://fr.wikipedia.org/wiki/Emmanuel_Macron
  Status: 200
  Type:   text/html; charset=UTF-8
  Size:   1187284
session %>% jump_to("Emmanuel_Macron") %>% back()
<session> https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Accueil_principal
  Status: 200
  Type:   text/html; charset=UTF-8
  Size:   134079
session <- html_session("https://fr.wikipedia.org/wiki/Emmanuel_Macron")
session %>% follow_link(5)
Navigating to #p-search
<session> https://fr.wikipedia.org/wiki/Emmanuel_Macron
  Status: 200
  Type:   text/html; charset=UTF-8
  Size:   1187284
session %>% follow_link("Mouvement des citoyens")
Navigating to /wiki/Mouvement_des_citoyens_(France)
<session> https://fr.wikipedia.org/wiki/Mouvement_des_citoyens_(France)
  Status: 200
  Type:   text/html; charset=UTF-8
  Size:   46069
session %>% follow_link(css = "#mw-content-text >
                        div > p:nth-child(9) > a:nth-child(1)")
Navigating to /wiki/La_R%C3%A9publique_en_marche
<session> https://fr.wikipedia.org/wiki/La_R%C3%A9publique_en_marche
  Status: 200
  Type:   text/html; charset=UTF-8
  Size:   447671
LS0tDQp0aXRsZTogIldlYiBzY3JhcGluZyINCmF1dGhvcjogIkh1c3NvbiBldCBhbC4iDQpkYXRlOiAiMDkvMDkvMjAxOCINCm91dHB1dDoNCiAgaHRtbF9ub3RlYm9vazoNCiAgICB0b2M6IHllcw0KICAgIHRvY19kZXB0aDogMw0KICAgIHRvY19mbG9hdDogeWVzDQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZGVwdGg6ICczJw0KICAgIHRvY19mbG9hdDogeWVzDQotLS0NCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUsIGNhY2hlID0gVFJVRSkNCmBgYA0KDQojIDUuNC4yIEFwcHJvY2hlIG5hw692ZQ0KDQpgYGB7cixtZXNzYWdlPUZBTFNFLHdhcm5pbmc9RkFMU0V9DQp1cmxfd2lraXBlZGlhIDwtICJodHRwczovL2ZyLndpa2lwZWRpYS5vcmcvIg0KdXJsX2ZpbG1vZ3JhcGhpZSA8LSAid2lraS9GaWxtb2dyYXBoaWVfZGVfTG91aXNfZGVfRnVuw6hzIg0KdXJsIDwtIHBhc3RlMCh1cmxfd2lraXBlZGlhLCB1cmxfZmlsbW9ncmFwaGllKQ0KZGF0YV9odG1sIDwtIHJlYWRMaW5lcyh1cmwpDQpgYGANCg0KYGBge3J9DQpkYXRhX2h0bWxbMTo1XQ0KYGBgDQoNCmBgYHtyfQ0KYmVnaW4gPC0gZ3JlcCgiPGJvZHkiLCBkYXRhX2h0bWwpDQplbmQgPC0gZ3JlcCgiPC9ib2R5PiIsIGRhdGFfaHRtbCkNCmRhdGFfaHRtbCA8LSBkYXRhX2h0bWxbKGJlZ2luICsxKTooZW5kLTEpXQ0KYGBgDQoNCmBgYHtyfQ0KbGk8LSBncmVwKCI8bGk+IiwgZGF0YV9odG1sKQ0KZGF0YV9odG1sW2xpWzFdXQ0KYGBgDQoNCiMgNS40LjMgTGUgcGFja2FnZSBydmVzdA0KDQpgYGB7cixtZXNzYWdlPUZBTFNFLHdhcm5pbmc9RkFMU0V9DQpsaWJyYXJ5KHJ2ZXN0KQ0KZGF0YV9odG1sIDwtIHJlYWRfaHRtbCh1cmwpDQpkYXRhX2h0bWwgJT4lIGh0bWxfbm9kZXMoImg0IikgJT4lIGhlYWQoMSkNCmRhdGFfaHRtbCAlPiUgaHRtbF9ub2RlcygiaDQiKSAlPiUgaGVhZCgxKSAlPiUgaHRtbF90ZXh0KCkNCmRhdGFfaHRtbCAlPiUNCmh0bWxfbm9kZXMoJyNtdy1jb250ZW50LXRleHQgPiBkaXYgPg0KICAgICAgICAgICAgdWw6bnRoLW9mLXR5cGUoMSkgPiBsaSA+IGkgPiBhJykgJT4lDQogIGh0bWxfYXR0cnMoKQ0KYGBgDQpgYGB7cn0NCmRhdGFfaHRtbCAlPiUNCmh0bWxfbm9kZXMoJyNtdy1jb250ZW50LXRleHQgPiBkaXYgPg0KICAgICAgICAgICAgdWw6bnRoLW9mLXR5cGUoMikgPiBsaSA+IGkgPiBhJykgJT4lDQogIGh0bWxfYXR0cnMoKQ0KYGBgDQoNCmBgYHtyfQ0KZGF0YV9odG1sICU+JQ0KICBodG1sX25vZGVzKHhwYXRoID0nLy8qW0BpZD0ibXctY29udGVudC10ZXh0Il0NCiAgICAvZGl2L3VsWw0KICAgIHByZWNlZGluZzo6aDRbc3Bhbi9AaWQ9IkFubsOpZXNfMTk1MCJdDQogICAgYW5kDQogICAgZm9sbG93aW5nOjpoNFtzcGFuL0BpZD0iQW5uw6llc18xOTYwIl1dDQogICAgL2xpL2kvYScNCiAgICApICU+JQ0KICBoZWFkKDUpICU+JQ0KICBodG1sX3RleHQoKQ0KYGBgDQoNCmBgYHtyfQ0KdXJsX2ZpbG0gPC0gIndpa2kvUXVhaV9kZV9HcmVuZWxsZSINCnVybCA8LSBwYXN0ZTAodXJsX3dpa2lwZWRpYSx1cmxfZmlsbSkNCmRhdGFfaHRtbCA8LSByZWFkX2h0bWwodXJsKQ0KYGBgDQoNCmBgYHtyfQ0KZGF0YV9odG1sICU+JQ0KaHRtbF9ub2Rlcyh4cGF0aCA9ICcoDQogIC8vKltAaWQ9Im13LWNvbnRlbnQtdGV4dCJdDQogIC8vdWxbcHJlY2VkaW5nOjpoMltzcGFuL0BpZD0iRGlzdHJpYnV0aW9uIl1dDQogIClbMV0vbGkvYVsxXScNCiAgKSAlPiUNCiAgaGVhZCg2KSAlPiUNCiAgaHRtbF90ZXh0KCkNCmBgYA0KDQpgYGB7cixtZXNzYWdlPUZBTFNFLHdhcm5pbmc9RkFMU0V9DQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoZHBseXIpDQp1cmxfd2lraXBlZGlhIDwtICJodHRwczovL2ZyLndpa2lwZWRpYS5vcmciDQp1cmxfZGVfZnVuZXMgPC0gIi93aWtpL0ZpbG1vZ3JhcGhpZV9kZV9Mb3Vpc19kZV9GdW7DqHMiDQp1cmwgPC0gcGFzdGUwKHVybF93aWtpcGVkaWEsIHVybF9kZV9mdW5lcykNCmRhdGFfaHRtbCA8LSByZWFkX2h0bWwodXJsKQ0KZmlsbXMgPC0gZGF0YV9odG1sICU+JQ0KICBodG1sX25vZGVzKCcjbXctY29udGVudC10ZXh0ID4gZGl2ID4NCiAgICAgICAgICAgICAgdWw6bnRoLW9mLXR5cGUoMikgPiBsaSA+IGkgPiBhJykgJT4lDQogIGh0bWxfYXR0cnMoKQ0KbGlzdGVfYWN0ZXVycyA8LSB0aWJibGUoKQ0KZm9yKGkgaW4gc2VxX2Fsb25nKGZpbG1zKSl7DQogIHRpdHJlIDwtIGZpbG1zW1tpXV1bMl0NCiAgdXJsX2ZpbG0gPC0gZmlsbXNbW2ldXVsxXQ0KICB1cmwgPC0gcGFzdGUwKHVybF93aWtpcGVkaWEsIHVybF9maWxtKQ0KICBkYXRhX2h0bWwgPC0gcmVhZF9odG1sKHVybCkNCiAgYWN0ZXVycyA8LSBkYXRhX2h0bWwgJT4lDQogICAgaHRtbF9ub2Rlcyh4cGF0aCA9ICcNCiAgKA0KICAvLypbQGlkPSJtdy1jb250ZW50LXRleHQiXQ0KICAvL3VsW3ByZWNlZGluZzo6aDJbc3Bhbi9AaWQ9IkRpc3RyaWJ1dGlvbiJdXQ0KICApWzFdL2xpL2FbMV0nDQogICkgJT4lDQogICAgaHRtbF90ZXh0KCkNCiAgbGlzdGVfYWN0ZXVycyA8LSByYmluZChsaXN0ZV9hY3RldXJzLHRpYmJsZShub20gPSBhY3RldXJzLHRpdHJlID0gdGl0cmUpKQ0KfQ0KDQpgYGANCg0KYGBge3J9DQpsaXN0ZV9hY3RldXJzICU+JQ0KICBncm91cF9ieShub20pICU+JQ0KICBzdW1tYXJpc2UobiA9IG4oKSkgJT4lDQogIGFycmFuZ2UoZGVzYyhuKSkgJT4lDQogIGhlYWQoNCkNCmBgYA0KDQojIDUuNC40IFBvdXIgYWxsZXIgcGx1cyBsb2luDQoNCmBgYHtyfQ0KdXJsX3dpa2lwZWRpYSA8LSAiaHR0cHM6Ly9mci53aWtpcGVkaWEub3JnIg0KdXJsX2RlX2Z1bmVzIDwtICIvd2lraS9Mb3Vpc19kZV9GdW7DqHMiDQp1cmwgPC0gcGFzdGUwKHVybF93aWtpcGVkaWEsIHVybF9kZV9mdW5lcykNCnJlYWRfaHRtbCh1cmwpICU+JQ0KaHRtbF9ub2RlcygnI213LWNvbnRlbnQtdGV4dD4gZGl2ID4gZGl2LmluZm9ib3hfdjMubGFyZ2UgPiB0YWJsZScpICU+JQ0KICAgICAgICAgICAgaHRtbF90YWJsZSgpDQpgYGANCg0KYGBge3J9DQpzZXNzaW9uIDwtIGh0bWxfc2Vzc2lvbih1cmxfd2lraXBlZGlhKQ0Kc2Vzc2lvbg0Kc2Vzc2lvbiAlPiUganVtcF90bygiRW1hbnVlbF9NYWNyb24iKQ0Kc2Vzc2lvbiAlPiUganVtcF90bygiRW1tYW51ZWxfTWFjcm9uIikNCnNlc3Npb24gJT4lIGp1bXBfdG8oIkVtbWFudWVsX01hY3JvbiIpICU+JSBiYWNrKCkNCmBgYA0KDQpgYGB7cn0NCnNlc3Npb24gPC0gaHRtbF9zZXNzaW9uKCJodHRwczovL2ZyLndpa2lwZWRpYS5vcmcvd2lraS9FbW1hbnVlbF9NYWNyb24iKQ0Kc2Vzc2lvbiAlPiUgZm9sbG93X2xpbmsoNSkNCnNlc3Npb24gJT4lIGZvbGxvd19saW5rKCJNb3V2ZW1lbnQgZGVzIGNpdG95ZW5zIikNCnNlc3Npb24gJT4lIGZvbGxvd19saW5rKGNzcyA9ICIjbXctY29udGVudC10ZXh0ID4NCiAgICAgICAgICAgICAgICAgICAgICAgIGRpdiA+IHA6bnRoLWNoaWxkKDkpID4gYTpudGgtY2hpbGQoMSkiKQ0KYGBgDQoNCg==