版权声明:本套课程材料开源,使用和分享必须遵守「创作共用许可协议 CC BY-NC-SA」(来源引用-非商业用途使用-以相同方式共享)。


正则表达式基础

info = "
导演: 饺子
编剧: 饺子
主演: 吕艳婷 / 囧森瑟夫 / 瀚墨 / 陈浩 / 绿绮 / 张珈铭 / ...
类型: 剧情 / 喜剧 / 动画 / 奇幻
制片国家/地区: 中国大陆
语言: 汉语普通话
上映日期: 2025-01-29(中国大陆)
片长: 144分钟
又名: 哪吒2 / 哪吒2之魔童闹海 / Ne Zha 2
IMDb: tt34956443
"
info
[1] "\n导演: 饺子\n编剧: 饺子\n主演: 吕艳婷 / 囧森瑟夫 / 瀚墨 / 陈浩 / 绿绮 / 张珈铭 / ...\n类型: 剧情 / 喜剧 / 动画 / 奇幻\n制片国家/地区: 中国大陆\n语言: 汉语普通话\n上映日期: 2025-01-29(中国大陆)\n片长: 144分钟\n又名: 哪吒2 / 哪吒2之魔童闹海 / Ne Zha 2\nIMDb: tt34956443\n"
cat(info)

导演: 饺子
编剧: 饺子
主演: 吕艳婷 / 囧森瑟夫 / 瀚墨 / 陈浩 / 绿绮 / 张珈铭 / ...
类型: 剧情 / 喜剧 / 动画 / 奇幻
制片国家/地区: 中国大陆
语言: 汉语普通话
上映日期: 2025-01-29(中国大陆)
片长: 144分钟
又名: 哪吒2 / 哪吒2之魔童闹海 / Ne Zha 2
IMDb: tt34956443

【探索发现】如何提取电影变量?

  • 如何从原始文本数据中提取:
    • 导演:“饺子”
    • 类型:“剧情 / 喜剧 / 动画 / 奇幻”
    • 片长:“144”
    • 上映日期:“2025-01-29”
str_extract(info, "(?<=导演: ).*(?=\\n)")
[1] "饺子"
str_extract(info, "(?<=类型: ).*(?=\\n)")
[1] "剧情 / 喜剧 / 动画 / 奇幻"
str_extract(info, "(?<=类型: ).*(?=\\n)") %>%
  str_split(" / ")
[[1]]
[1] "剧情" "喜剧" "动画" "奇幻"
str_extract(info, "(?<=片长: ).*(?=分钟\\n)")
[1] "144"
str_extract(info, "(?<=上映日期: ).*(?=\\n)")
[1] "2025-01-29(中国大陆)"
str_extract(info, "(?<=上映日期: ).*(?=\\n)") %>%
  str_extract("\\d{4}-\\d{2}-\\d{2}")
[1] "2025-01-29"
str_extract(info, "(?<=上映日期: ).*(?=\\n)") %>%
  str_extract("\\d{4}-\\d{2}-\\d{2}") %>%
  str_remove_all("-")
[1] "20250129"

【探索发现】如何统计《心理学报》历届编委会成员频次?

《心理学报》编委会:https://journal.psych.ac.cn/xlxb/CN/column/column3.shtml

url = "https://journal.psych.ac.cn/xlxb/CN/column/column3.shtml"
xml = read_html(url)
text = xml %>% html_element(".content_nr li") %>% html_text()
text %>% str_split("\\s{3,}") %>% unlist()
  [1] ""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
  [2] "主编:"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
  [3] "蒋  毅(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  [4] "副主编:"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
  [5] "甘怡群(北京大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
  [6] "胡晓晴(香港大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
  [7] "李兴珊(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  [8] "刘  超(北京师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
  [9] "施俊琦 (浙江大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [10] "辛自强(中国人民大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [11] "邱炳武(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
 [12] "编委:"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [13] "陈安涛 (上海交通大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [14] "陈楚侨(香港大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [15] "陈  红(西南大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [16] "陈  辉 (浙江大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [17] "陈  杰 (湖南师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [18] "陈  琦 (深圳大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [19] "陈庆荣(南京师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [20] "陈  巍 (绍兴大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [21] "戴先炽(香港中文大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [22] "丁道群 (湖南师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [23] "丁锦红(首都师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [24] "丁晓伟 (中山大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [25] "杜  峰(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
 [26] "杜  忆(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
 [27] "段锦云 (华东师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [28] "方晓义(北京师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [29] "冯廷勇 (西南大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [30] "付秋芳(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
 [31] "高在峰 (浙江大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [32] "龚平原(西北大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [33] "古若雷 (中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
 [34] "管  健(南开大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [35] "贺  伟(南京大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [36] "胡  理 (中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
 [37] "纪林芹 (山东师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [38] "李超平(中国人民大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [39] "李  健(北京大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [40] "李文东(香港中文大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [41] "李永娟(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
 [42] "梁菲菲 (天津师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [43] "刘  文(辽宁师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [44] "刘志远 (陕西师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [45] "陆佳芳(香港教育大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [46] "陆静怡 (华东师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [47] "栾胜华(香港中文大学〔深圳〕)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
 [48] "罗  良 (北京师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [49] "罗文波 (辽宁师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [50] "马燚娜 (北京师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [51] "秦绍正(北京师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [52] "任志洪(华中师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [53] "苏彦捷(北京大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [54] "孙  彦 (中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
 [55] "王  力(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
 [56] "王  亮 (中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
 [57] "王玮文(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
 [58] "王振宏(陕西师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [59] "温芳芳 (华中师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [60] "温忠麟(华南师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [61] "徐  岚(武汉大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [62] "阎书昌(河北师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [63] "杨海波 (天津师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [64] "喻  丰(武汉大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [65] "袁加锦 (四川师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [66] "詹沛达 (浙江师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [67] "张  丹(清华大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [68] "张力为(北京体育大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [69] "张清芳(中国人民大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [70] "张喜淋 (华南师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [71] "赵  立 (杭州师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [72] "赵  鑫 (西北师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [73] "郑晓明(清华大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [74] "郑晓莹(中山大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [75] "周国梅(中山大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [76] "周吉帆 (浙江大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [77] "周  雯 (中国科学院大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 [78] "周欣悦(澳门大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [79] "朱露莎 (北京大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [80] "编辑部:李金珍  曾敏  邱炳武"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
 [81] "第十二届编委会(2022-2025)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
 [82] "主编:傅小兰副主编:蔡华俭、丁锦红、甘怡群、郭秀艳、刘勋、龙立荣、王穗苹、谢晓非编委:陈楚侨、陈传升、陈红、陈庆荣、戴先炽、杜峰、杜忆、方晓义、付秋芳、龚平原、管健、韩布新、贺伟、胡晓晴、蒋毅、蒯曙光、李超平、李健、李康、李寿欣、李文东、李兴珊、李永娟、连榕、刘超、刘力、刘文、陆佳芳、栾胜华、苗丹民、穆妍、秦绍正、邱炳武、任志洪、苏彦捷、涂艳苹、王力、王玮文、王晓田、王振宏、温忠麟、吴艳红、辛涛、辛自强、徐岚、阎书昌、喻丰、张丹、张雷、张力为、张清芳、张向阳、郑晓明、郑晓莹、周国梅、周欣悦、周永迪"
 [83] "第十一届编委会(2018-2021)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
 [84] "主编:李纾"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
 [85] "副主编:白学军、蔡华俭、郭秀艳、刘勋、龙立荣、沈模卫、谢晓非、许燕"                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [86] "编委:陈传升、陈红、陈欣银、丁锦红、杜峰、杜忆、傅世敏、甘怡群、韩布新、韩在柱、胡晓晴、蒋毅、李东进、李健、李康、李文东、李永娟、连榕、刘嘉、栾胜华、罗跃嘉、苗丹民、邱炳武、任志洪、隋南、涂艳苹、王辉、王力、王穗苹、王晓田、王益文、温忠麟、翁旭初、吴艳红、辛涛、徐岚、薛贵、阎书昌、杨百寅、叶铮、游旭群、张积家、张力为、张向阳、周晓林、周欣悦、周永迪、朱莉琪、邹泓"                                                                                                                                          
 [87] "第十届编委会(2014-2017)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
 [88] "主编:张侃"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
 [89] "副主编:冯海岚、侯杰泰、李纾、舒华、苏彦捷、游旭群、张建新"                                                                                                                                                                                                                                                                                                                                                                                                                                                            
 [90] "编委:白学军、蔡华俭、陈欣银、符国群、傅世敏、郭本禹、郭春彦、郭秀艳、韩布新、韩在柱、江光荣、蒋毅、康萤仪、乐国安、李兴珊、连榕、刘嘉、刘勋、龙立荣、罗劲、罗跃嘉、苗丹民、区永东、钱铭怡、邱炳武、沈模卫、隋南、王辉、王穗苹、王晓田、翁旭初、吴艳红、谢晓非、辛涛、许燕、严进、阎书昌、杨百寅、余嘉元、张积家、张结海、张雷、张庆林、张志学、周晓林、周永迪、朱莉琪、邹泓"                                                                                                                                          
 [91] "第九届编委会(2010-2013)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
 [92] "主编:林文娟"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
 [93] "副主编:张妙清、韩世辉、舒华、叶浩生、张建新"                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
 [94] "编委:白学军、陈钧承、张雷、陈瑞燕、陈晓萍、陈欣银、赵志裕、董奇、傅世敏、傅小兰、郭春彦、韩在柱、侯杰泰、何生、江光荣、梁觉、李兴珊、李纾、罗劲、罗跃嘉、Lars-Goran\r\nNILLSON、Richard E. NISBETT、Kurt PAWLIK、彭凯平、钱铭怡、邱炳武、沈模卫、申继亮、Henderikus\r\nJ. STAM、苏彦捷、隋南、Anne TREISMAN, 王登峰、王辉、翁旭初、谢晓非、许燕、严进、杨治良、游旭群、余嘉元、乐国安、张积家、张结海、张侃、张庆林、张志学、周晓林、朱莉琪、邹泓"                                                                    
 [95] "第八届编委会(2006-2009)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
 [96] "主编:杨玉芳"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
 [97] "副主编:张妙清、韩世辉、林崇德、叶浩生、张侃"                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
 [98] "编委:张雷、陈烜之、陈欣银、陈永明、方富熹、葛小佳、郭春彦、侯杰泰、何生、黄希庭、梁永亮、李纾、林文娟、凌文辁、罗劲、莫雷、Lars-Goran Nillson、Richard E. Nisbett、Kurt Pawlik、钱铭怡、邱炳武、沈德立、申继亮、舒华、Henderikus J. Stam、苏彦捷、Anne Treisman、王登峰、王重鸣、杨治良、余嘉元、乐国安、张建新、张志学"                                                                                                                                                                                              
 [99] "第七届编委会(2002-2005)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
[100] "主编:陈永明"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[101] "副主编:王甦、朱滢、张侃、陈烜之、林崇德"                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
[102] "编委:王甦、王重鸣、车文博、方富熹、申继亮、叶浩生、朱滢、杨玉芳、张妙清、张侃、乐国安、沈政、沈德立、陈永明、陈烜之、邱炳武、林仲贤、林崇德、凌文辁、莫雷、梁永亮、黄希庭、舒华、钱铭怡、韩世辉、管林初"                                                                                                                                                                                                                                                                                                              
[103] "第六届编委会(1998-2001)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
[104] "主编:林仲贤"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[105] "副主编:王甦、陈永明、陈烜之、林崇德、管林初"                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[106] "编委:王甦、王重鸣、车文博、方富熹、朱滢、汤盛钦、杨玉芳、杨鑫辉、张必隐、张妙清、沈政、沈德立、陈永明、陈烜之、林仲贤、林崇德、凌文辁、莫雷、黄希庭、梁觉、梁展鹏、彭聃龄、管林初、魏明庠"                                                                                                                                                                                                                                                                                                                            
[107] "第五届编委会(1994-1997)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
[108] "主编:匡培梓"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[109] "副主编:林仲贤、朱滢、彭聃龄"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[110] "编委:王甦、车文博、方富熹、朱滢、朱祖祥、匡培梓、许尚侠、汤盛钦、李心天、沈德立、沈德灿、陈永明、林仲贤、林崇德、凌文辁、章志光、黄希庭、魏明庠"                                                                                                                                                                                                                                                                                                                                                                      
[111] "第四届编委会(1990-1993)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
[112] "主编:徐联仓"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[113] "副主编:王甦、张厚粲、林仲贤"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[114] "编委:王甦、车文博、许政援、匡培梓、李心天、朱祖祥、陈永明、张厚粲、杨治良、沈德灿、林崇德、林仲贤、徐联仓、章志光、黄希庭、赖昌贵、魏明庠"                                                                                                                                                                                                                                                                                                                                                                            
[115] "第三届编委会(1985-1989)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
[116] "主编:徐联仓"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[117] "副主编:孙晔、张厚粲、孟昭兰"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[118] "编委:车文博、左梦兰、李心天、朱祖祥、邵郊、沈德灿、林传鼎、荆其诚、章志光、黄希庭、赖昌贵、缪小春"                                                                                                                                                                                                                                                                                                                                                                                                                    
[119] "第二届编委会(1979-1984)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
[120] "主编:潘菽"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
[121] "编委:潘菽、刘兆吉、刘范、孙晔、朱智贤、李心天、何玉琨、陈元晖、陈立、林传鼎、邵郊、张述祖、张厚粲、荆其诚、胡寄南、徐联仓、郭占基、高觉敷、彭祖智"                                                                                                                                                                                                                                                                                                                                                                    
[122] "第一届编委会(1956-1966)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
[123] "主编:曹日昌"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[124] "副主编:陈元晖"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
[125] "编委:曹日昌、陈元晖、朱智贤、吴江霖、唐钺"                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
[126] ""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
text %>%
  str_split("\\s{3,}") %>%
  unlist() %>%
  str_extract("(?<=主编:|副主编:|编委:).*|.*(?=()") %>%
  str_split("、|主编:|副主编:|编委:") %>%
  unlist() %>%
  na.omit() %>%
  str_remove_all("\\s") %>%
  str_subset("编委会|[a-z]|^$", negate=TRUE) %>%
  Freq(sort="-")
Frequency Statistics:
─────────────
        N   %
─────────────
陈永明  7 1.6
林崇德  7 1.6
林仲贤  7 1.6
王甦    7 1.6
黄希庭  6 1.4
邱炳武  6 1.4
车文博  5 1.2
陈烜之  5 1.2
朱滢    5 1.2
陈欣银  4 0.9
方富熹  4 0.9
蒋毅    4 0.9
李纾    4 0.9
李心天  4 0.9
李兴珊  4 0.9
凌文辁  4 0.9
沈德立  4 0.9
舒华    4 0.9
苏彦捷  4 0.9
徐联仓  4 0.9
阎书昌  4 0.9
张厚粲  4 0.9
张侃    4 0.9
张雷    4 0.9
张妙清  4 0.9
白学军  3 0.7
蔡华俭  3 0.7
陈红    3 0.7
陈元晖  3 0.7
丁锦红  3 0.7
杜峰    3 0.7
杜忆    3 0.7
傅世敏  3 0.7
甘怡群  3 0.7
管林初  3 0.7
郭春彦  3 0.7
郭秀艳  3 0.7
韩布新  3 0.7
韩世辉  3 0.7
韩在柱  3 0.7
侯杰泰  3 0.7
胡晓晴  3 0.7
匡培梓  3 0.7
乐国安  3 0.7
李健    3 0.7
李文东  3 0.7
李永娟  3 0.7
连榕    3 0.7
刘勋    3 0.7
龙立荣  3 0.7
栾胜华  3 0.7
罗劲    3 0.7
罗跃嘉  3 0.7
苗丹民  3 0.7
莫雷    3 0.7
钱铭怡  3 0.7
任志洪  3 0.7
沈德灿  3 0.7
王力    3 0.7
王穗苹  3 0.7
王晓田  3 0.7
王重鸣  3 0.7
魏明庠  3 0.7
温忠麟  3 0.7
吴艳红  3 0.7
谢晓非  3 0.7
辛涛    3 0.7
徐岚    3 0.7
杨玉芳  3 0.7
叶浩生  3 0.7
张建新  3 0.7
张力为  3 0.7
章志光  3 0.7
周欣悦  3 0.7
周永迪  3 0.7
朱祖祥  3 0.7
曹日昌  2 0.5
陈楚侨  2 0.5
陈传升  2 0.5
陈庆荣  2 0.5
戴先炽  2 0.5
方晓义  2 0.5
付秋芳  2 0.5
傅小兰  2 0.5
龚平原  2 0.5
管健    2 0.5
何生    2 0.5
贺伟    2 0.5
江光荣  2 0.5
荆其诚  2 0.5
赖昌贵  2 0.5
李超平  2 0.5
李康    2 0.5
梁觉    2 0.5
梁永亮  2 0.5
林传鼎  2 0.5
林文娟  2 0.5
刘超    2 0.5
刘嘉    2 0.5
刘文    2 0.5
陆佳芳  2 0.5
潘菽    2 0.5
彭聃龄  2 0.5
秦绍正  2 0.5
邵郊    2 0.5
申继亮  2 0.5
沈模卫  2 0.5
沈政    2 0.5
隋南    2 0.5
孙晔    2 0.5
汤盛钦  2 0.5
涂艳苹  2 0.5
王辉    2 0.5
王玮文  2 0.5
王振宏  2 0.5
翁旭初  2 0.5
辛自强  2 0.5
许燕    2 0.5
杨百寅  2 0.5
杨治良  2 0.5
游旭群  2 0.5
余嘉元  2 0.5
喻丰    2 0.5
张丹    2 0.5
张积家  2 0.5
张清芳  2 0.5
张向阳  2 0.5
张志学  2 0.5
郑晓明  2 0.5
郑晓莹  2 0.5
周国梅  2 0.5
周晓林  2 0.5
朱莉琪  2 0.5
朱智贤  2 0.5
邹泓    2 0.5
陈钧承  1 0.2
陈立    1 0.2
陈瑞燕  1 0.2
陈晓萍  1 0.2
董奇    1 0.2
冯海岚  1 0.2
符国群  1 0.2
高觉敷  1 0.2
葛小佳  1 0.2
郭本禹  1 0.2
郭占基  1 0.2
何玉琨  1 0.2
胡寄南  1 0.2
康萤仪  1 0.2
蒯曙光  1 0.2
李东进  1 0.2
李寿欣  1 0.2
梁展鹏  1 0.2
刘范    1 0.2
刘力    1 0.2
刘兆吉  1 0.2
孟昭兰  1 0.2
缪小春  1 0.2
穆妍    1 0.2
彭祖智  1 0.2
区永东  1 0.2
唐钺    1 0.2
王登峰  1 0.2
王益文  1 0.2
吴江霖  1 0.2
许尚侠  1 0.2
许政援  1 0.2
薛贵    1 0.2
严进    1 0.2
杨鑫辉  1 0.2
叶铮    1 0.2
张必隐  1 0.2
张结海  1 0.2
张庆林  1 0.2
张述祖  1 0.2
赵志裕  1 0.2
左梦兰  1 0.2
─────────────
Total N = 432

正则表达式在社会科学研究中有什么用?

现在的社会科学研究越来越依赖大数据和文本分析,经常要和海量文本打交道:10万条微博、5万份问卷、几百年的历史档案……正则表达式就是处理文本数据的“神兵利器”。

  1. 清洗和整理数据(数据“洗澡”)

从网上爬下来的数据经常很“脏”:夹杂着广告代码、乱码、多余的空格。正则表达式可以一键把这些垃圾清理掉,留下干净的文字。原本需要手动清理几万条数据,可能需要一个团队干一周;现在用几行正则表达式代码,几秒钟就能完成,而且准确率极高。

  1. 提取文本中信息(信息“采矿”)

比如你想研究“幸福感”这个词在社交媒体上的用法。正则表达式可以帮你找出所有包含“幸福”的句子,并且自动把“幸福”前面是谁在说(比如“我觉得幸福”“他感到幸福”)提取出来,又快又准。

  1. 内容分析与编码(将文字变数据)

社会科学研究经常需要对文本进行分类和编码。比如,你想分析新闻报道对某个社会事件的态度是“正面”、“负面”还是“中立”。可以先设定好规则,比如包含“赞赏”、“支持”、“成功”等词的归为“正面”,包含“反对”、“批评”、“问题”等词的归为“负面”。然后,正则表达式就能自动扫描所有文章,并根据这些关键词的出现情况,给每一篇文章贴上“态度”标签。几秒钟就能把几万条帖子分类完毕,这不仅比人工阅读编码快无数倍,而且标准完全统一,避免了因为研究者疲劳或个人主观判断带来的误差。它让定性研究可以拥有定量分析的规模。

正则表达式图解(图片源自网络)
正则表达式图解(图片源自网络)

【知识点】正则表达式

正则表达式 / 规律表达式(regular/pattern expression,RegEx)

简单来说,正则表达式就是一套用来描述文本规则的“密码”。它用一些特殊符号(比如*+?[])组合成“指令”,让电脑按照这些规则去文本的海洋里精准地找到你想要的内容(比如一定要是“蓝色”之后紧跟的“汽车”,而不是“红色汽车”)。

  • 含义:描述字符串规律(模式)的表达式
  • 用途:根据模式,匹配字符(自动处理文本)
    • “大海捞针”(词频统计):从海量的文本数据里,快速找到符合特定模式的字词、句子或段落
    • “点石成金”(数据清洗):找到之后,可以对这些内容进行批量的修改、删除、替换或提取,整理成数据分析所需要的格式
    • “去伪存真”(条件判断):还可以用来检查信息格式是否正确,比如手机号码是不是11位、邮箱地址里有没有“@”符号等
  • 正则表达式的“密码”其实很有逻辑,也很好理解,比如:
    • \d:代表“任何一个数字”(0-9),就像在说“给我找一个数字”
    • [a-z]:代表“任何一个英文小写字母”,就像在说“给我找一个小写字母”
    • *:代表“前面的东西可以出现零次或多次”,就像在说“这个模式可以重复无数次”
    • +:代表“前面的东西至少出现一次”,就像在说“这个模式至少要出现一次”
    • .:代表“任何一个字符”(除了换行符),就像一张万能牌,可以代替任何一个字符

一旦学会,你就拥有了一种神奇的能力:别人还在一条条复制粘贴、肉眼搜索的时候,你已经可以喝着咖啡,轻松看着电脑帮你把几万条甚至几百万条文本数据在几秒之内自动整理好。这就是正则表达式的魅力——把繁琐的手工劳动,变成自动化的“魔法”。

(1)字符匹配

【实践1】字符匹配

text = "笔记本上安装SPSS22或20,授权码复制不上,导致安装失败。已经试了多次了,都安装不上SpSS,请问有遇到这种情况的吗?电脑是64位的,Spss是32位的,是这个原因吗?之前SpsS在其他笔记本和台式电脑上都安装成功了。"
cat(text)
笔记本上安装SPSS22或20,授权码复制不上,导致安装失败。已经试了多次了,都安装不上SpSS,请问有遇到这种情况的吗?电脑是64位的,Spss是32位的,是这个原因吗?之前SpsS在其他笔记本和台式电脑上都安装成功了。
str_extract_all(text, "SPSS")  # 完整字符串
[[1]]
[1] "SPSS"
str_extract_all(text, "SPSS|Spss")  # "|"表示或者
[[1]]
[1] "SPSS" "Spss"
str_extract_all(text, "[SPSS|spss]")  # 思考:为什么?
[[1]]
 [1] "S" "P" "S" "S" "S" "p" "S" "S" "S" "p" "s" "s" "S" "p" "s" "S"
str_extract_all(text, "[SsPp]")
[[1]]
 [1] "S" "P" "S" "S" "S" "p" "S" "S" "S" "p" "s" "s" "S" "p" "s" "S"
str_extract_all(text, "[Ss][Pp][Ss][Ss]")
[[1]]
[1] "SPSS" "SpSS" "Spss" "SpsS"
str_extract_all(text, "\\d")
[[1]]
[1] "2" "2" "2" "0" "6" "4" "3" "2"
str_extract_all(text, "\\d\\d")
[[1]]
[1] "22" "20" "64" "32"
str_extract_all(text, "\\d\\d位")
[[1]]
[1] "64位" "32位"

(2)条件匹配

【实践2】条件匹配

text = "笔记本上安装SPSS22或20,授权码复制不上,导致安装失败。已经试了多次了,都安装不上SpSS,请问有遇到这种情况的吗?电脑是64位的,Spss是32位的,是这个原因吗?之前SpsS在其他笔记本和台式电脑上都安装成功了。"
cat(text)
笔记本上安装SPSS22或20,授权码复制不上,导致安装失败。已经试了多次了,都安装不上SpSS,请问有遇到这种情况的吗?电脑是64位的,Spss是32位的,是这个原因吗?之前SpsS在其他笔记本和台式电脑上都安装成功了。
str_extract_all(text, "\\d{2}位")
[[1]]
[1] "64位" "32位"
str_extract_all(text, "[SsPp]{4}")
[[1]]
[1] "SPSS" "SpSS" "Spss" "SpsS"
str_extract_all(text, "[SP]{4}")
[[1]]
[1] "SPSS"
str_extract_all(text, "[Sps]+")
[[1]]
[1] "S"    "SS"   "SpSS" "Spss" "SpsS"
str_extract_all(text, "(Sps)+")
[[1]]
[1] "Sps" "Sps"
str_extract_all(text, "Sps+")
[[1]]
[1] "Spss" "Sps" 

(3)预查匹配

【实践3】预查匹配

text = "笔记本上安装SPSS22或20,授权码复制不上,导致安装失败。已经试了多次了,都安装不上SpSS,请问有遇到这种情况的吗?电脑是64位的,Spss是32位的,是这个原因吗?之前SpsS在其他笔记本和台式电脑上都安装成功了。"
cat(text)
笔记本上安装SPSS22或20,授权码复制不上,导致安装失败。已经试了多次了,都安装不上SpSS,请问有遇到这种情况的吗?电脑是64位的,Spss是32位的,是这个原因吗?之前SpsS在其他笔记本和台式电脑上都安装成功了。
str_extract_all(text, "\\d{2}位")
[[1]]
[1] "64位" "32位"
str_extract_all(text, "\\d{2}(?=位)")  # 后向肯定预查
[[1]]
[1] "64" "32"
str_extract_all(text, "\\d{2}(?!位)")  # 后向否定预查
[[1]]
[1] "22" "20"
str_extract_all(text, "(?<=SPSS)\\d{2}")  # 前向肯定预查
[[1]]
[1] "22"
str_extract_all(text, "(?<!SPSS)\\d{2}")  # 前向否定预查
[[1]]
[1] "20" "64" "32"

字符串处理实战

stringr

  • 共同参数
    • string:字符串输入
    • pattern:正则表达式
  • 常用函数
    • 判断:str_detect()
    • 计数:str_count()
    • 提取:str_extract()str_extract_all()
    • 替换:str_replace()str_replace_all()
    • 删除:str_remove()str_remove_all()
    • 分割:str_split()
    • 向量取匹配子集:str_subset()

【实践4】字符串综合处理

## 数据采集
## 已加载rvest包:library(rvest)
url = "https://psy.ecnu.edu.cn/17437/list.htm"  # 学院师资队伍页面
xml = url %>% read_html()  # 读取网页所有信息
xml
{html_document}
<html class="webplus-list">
[1] <head>\n<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\n ...
[2] <body class="wp-column-page">\r\n<!--头部开始-->\r\n<header class="wp-wrapper wp- ...
[3] <script type="text/javascript" src="/_upload/tpl/0b/a5/2981/template2981/js/a ...
[4] <script type="text/javascript">\r\n$(function(){\r\n\t// 初始化SDAPP\r\n\tnew SD ...
## 字符串处理(1):院系名称
menu = xml %>% html_elements(".column-item-link .column-name") %>% html_text2()
menu
 [1] "各级人才工程"               "认知与神经科学系"          
 [3] "毕生发展与学习科学系"       "社会与管理心理学系"        
 [5] "健康与临床心理学系"         "人工智能与人因工程系(筹)"
 [7] "实验员/专任助理研究员"      "党政管理"                  
 [9] "兼职教师"                   "全职博士后"                
[11] "荣休教师"                   "永远怀念教师名录"          
str_subset(menu, "系")
[1] "认知与神经科学系"           "毕生发展与学习科学系"      
[3] "社会与管理心理学系"         "健康与临床心理学系"        
[5] "人工智能与人因工程系(筹)"
str_subset(menu, "系$")
[1] "认知与神经科学系"     "毕生发展与学习科学系" "社会与管理心理学系"  
[4] "健康与临床心理学系"  
str_subset(menu, ".*系$")
[1] "认知与神经科学系"     "毕生发展与学习科学系" "社会与管理心理学系"  
[4] "健康与临床心理学系"  
str_subset(menu, ".*(?=系$)")  # 只是取子集,并不能预查提取
[1] "认知与神经科学系"     "毕生发展与学习科学系" "社会与管理心理学系"  
[4] "健康与临床心理学系"  
str_extract(menu, ".*(?=系$)")  # 真正的预查提取
 [1] NA                   "认知与神经科学"     "毕生发展与学习科学"
 [4] "社会与管理心理学"   "健康与临床心理学"   NA                  
 [7] NA                   NA                   NA                  
[10] NA                   NA                   NA                  
str_extract(menu, ".*(?=系$)") %>% na.omit()  # 移除缺失值NA
[1] "认知与神经科学"     "毕生发展与学习科学" "社会与管理心理学"  
[4] "健康与临床心理学"  
attr(,"na.action")
[1]  1  6  7  8  9 10 11 12
attr(,"class")
[1] "omit"
## 字符串处理(2):人才计划
title = xml %>% html_elements(".subcolumn-name") %>% html_text2()
title
 [1] "华东师范大学特聘教授"     "国家级人才项目"          
 [3] "国家级青年人才项目"       "中国科协托举人才"        
 [5] "教育部新世纪人才"         "上海市曙光学者"          
 [7] "上海市浦江学者"           "上海市青年科技启明星项目"
 [9] "上海市晨光计划"           "上海市扬帆计划"          
str_subset(title, "人才")
[1] "国家级人才项目"     "国家级青年人才项目" "中国科协托举人才"  
[4] "教育部新世纪人才"  
str_subset(title, "人才$")
[1] "中国科协托举人才" "教育部新世纪人才"
str_subset(title, "上海市.*")
[1] "上海市曙光学者"           "上海市浦江学者"           "上海市青年科技启明星项目"
[4] "上海市晨光计划"           "上海市扬帆计划"          
str_subset(title, "^上海市")
[1] "上海市曙光学者"           "上海市浦江学者"           "上海市青年科技启明星项目"
[4] "上海市晨光计划"           "上海市扬帆计划"          
str_extract(title, "(?<=^上海市).*(?=学者$|计划$)") %>% na.omit()
[1] "曙光" "浦江" "晨光" "扬帆"
attr(,"na.action")
[1] 1 2 3 4 5 8
attr(,"class")
[1] "omit"
## 字符串处理(3):教师姓名
name = xml %>% html_elements(".column-news-title") %>% html_text2()
name
 [1] "周晓林 博士"   "蒯曙光 博士"   "周晓林 博士"   "蔡清 博士"     "郝宁 博士"    
 [6] "蒯曙光 博士"   "高晓雪 博士"   "罗艺 博士"     "崔丽娟 博士"   "刘永芳 博士"  
[11] "庞维国 博士"   "郝宁 博士"     "刘俊升 博士"   "陆静怡 博士"   "蔡清 博士"    
[16] "包寒吴霜 博士" "李先春 博士"   "刘俊升 博士"   "孟慧 博士"     "庞维国 博士"  
[21] "宋永宁博士"    "王弘毅 博士"   "王青 博士"     "席居哲 博士"   "谢鑫宇博士"   
[26] "周宁宁 博士"   "张琪 博士"     "包寒吴霜 博士" "梁一鸣 博士"   "陆静怡 博士"  
[31] "王青 博士"     "杨莹 博士"     "周晗昱 博士"   "陈 曦 博士"    "梁一鸣 博士"  
[36] "李世佳 博士"   "杨莹 博士"     "周晗昱 博士"  
table(name)
name
包寒吴霜 博士     蔡清 博士    陈 曦 博士   崔丽娟 博士   高晓雪 博士     郝宁 博士 
            2             2             1             1             1             2 
  蒯曙光 博士   李世佳 博士   李先春 博士   梁一鸣 博士   刘俊升 博士   刘永芳 博士 
            2             1             1             2             2             1 
  陆静怡 博士     罗艺 博士     孟慧 博士   庞维国 博士    宋永宁博士   王弘毅 博士 
            2             1             1             2             1             1 
    王青 博士   席居哲 博士    谢鑫宇博士     杨莹 博士     张琪 博士   周晗昱 博士 
            2             1             1             2             1             2 
  周宁宁 博士   周晓林 博士 
            1             2 
unique(name)
 [1] "周晓林 博士"   "蒯曙光 博士"   "蔡清 博士"     "郝宁 博士"     "高晓雪 博士"  
 [6] "罗艺 博士"     "崔丽娟 博士"   "刘永芳 博士"   "庞维国 博士"   "刘俊升 博士"  
[11] "陆静怡 博士"   "包寒吴霜 博士" "李先春 博士"   "孟慧 博士"     "宋永宁博士"   
[16] "王弘毅 博士"   "王青 博士"     "席居哲 博士"   "谢鑫宇博士"    "周宁宁 博士"  
[21] "张琪 博士"     "梁一鸣 博士"   "杨莹 博士"     "周晗昱 博士"   "陈 曦 博士"   
[26] "李世佳 博士"  
name %>% unique() %>% sort()
 [1] "包寒吴霜 博士" "蔡清 博士"     "陈 曦 博士"    "崔丽娟 博士"   "高晓雪 博士"  
 [6] "郝宁 博士"     "蒯曙光 博士"   "李世佳 博士"   "李先春 博士"   "梁一鸣 博士"  
[11] "刘俊升 博士"   "刘永芳 博士"   "陆静怡 博士"   "罗艺 博士"     "孟慧 博士"    
[16] "庞维国 博士"   "宋永宁博士"    "王弘毅 博士"   "王青 博士"     "席居哲 博士"  
[21] "谢鑫宇博士"    "杨莹 博士"     "张琪 博士"     "周晗昱 博士"   "周宁宁 博士"  
[26] "周晓林 博士"  
name %>% unique() %>% sort() %>% str_remove_all("博士|\\s")
 [1] "包寒吴霜" "蔡清"     "陈曦"     "崔丽娟"   "高晓雪"   "郝宁"     "蒯曙光"  
 [8] "李世佳"   "李先春"   "梁一鸣"   "刘俊升"   "刘永芳"   "陆静怡"   "罗艺"    
[15] "孟慧"     "庞维国"   "宋永宁"   "王弘毅"   "王青"     "席居哲"   "谢鑫宇"  
[22] "杨莹"     "张琪"     "周晗昱"   "周宁宁"   "周晓林"  
name %>%
  unique() %>%
  sort() %>%
  str_remove_all("博士|\\s") %>%
  str_subset("宁")
[1] "郝宁"   "宋永宁" "周宁宁"
name %>%
  unique() %>%
  sort() %>%
  str_remove_all("博士|\\s") %>%
  str_subset("^赵|^钱|^孙|^李")  # 赵钱孙李,周吴郑王
[1] "李世佳" "李先春"
name %>%
  unique() %>%
  sort() %>%
  str_remove_all("博士|\\s") %>%
  str_subset("^[周吴郑王]")  # 赵钱孙李,周吴郑王
[1] "王弘毅" "王青"   "周晗昱" "周宁宁" "周晓林"
## 补充:字符向量 vs. 固定位置字符提取
"Psychology"[1]  # 长度为1的字符向量,[1]仍然是字符串,而不是第1个字母
[1] "Psychology"
str_sub("Psychology", 1, 1)  # 提取第1个字母
[1] "P"
str_sub("Psychology", 1, 5)  # 提取第1~5个字母
[1] "Psych"
## 导入在线数据(douban_movies.RData)
data = import("https://psychbruce.github.io/RCourse/data/douban_movies.RData")
dt = as.data.table(data)

课堂实战练习(问题解决导向的学习):

  • 从电影标题变量(title)提取电影的上映年份
  • 选取带有0~9数字的电影标题
  • 选取带有年份数字的电影标题
  • 选取模式为“高考1977”的电影标题
  • ……

【探索发现】stringr包的函数功能

  • 检测匹配

  • 子集提取

  • 长度控制

  • 替换修改

  • 拼接分割

【作业5】字符向量处理

作业要求:

  • 围绕stringr包提供的字符串示例数据fruit(80个水果名称),运用str_detect()str_subset()str_extract_all()str_replace_all()stringr包函数中的至少2个,任意完成至少2种字符串处理任务,并对代码和结果进行简单的注释和解读
  • 使用R Markdown完成,运行渲染得到本地HTML网页文件

平台提交:

  • 运行得到HTML网页文件的关键部分截图(只需上传截图)
## 附:作业需要用到的数据集(字符向量)
stringr::fruit
 [1] "apple"             "apricot"           "avocado"           "banana"           
 [5] "bell pepper"       "bilberry"          "blackberry"        "blackcurrant"     
 [9] "blood orange"      "blueberry"         "boysenberry"       "breadfruit"       
[13] "canary melon"      "cantaloupe"        "cherimoya"         "cherry"           
[17] "chili pepper"      "clementine"        "cloudberry"        "coconut"          
[21] "cranberry"         "cucumber"          "currant"           "damson"           
[25] "date"              "dragonfruit"       "durian"            "eggplant"         
[29] "elderberry"        "feijoa"            "fig"               "goji berry"       
[33] "gooseberry"        "grape"             "grapefruit"        "guava"            
[37] "honeydew"          "huckleberry"       "jackfruit"         "jambul"           
[41] "jujube"            "kiwi fruit"        "kumquat"           "lemon"            
[45] "lime"              "loquat"            "lychee"            "mandarine"        
[49] "mango"             "mulberry"          "nectarine"         "nut"              
[53] "olive"             "orange"            "pamelo"            "papaya"           
[57] "passionfruit"      "peach"             "pear"              "persimmon"        
[61] "physalis"          "pineapple"         "plum"              "pomegranate"      
[65] "pomelo"            "purple mangosteen" "quince"            "raisin"           
[69] "rambutan"          "raspberry"         "redcurrant"        "rock melon"       
[73] "salal berry"       "satsuma"           "star fruit"        "strawberry"       
[77] "tamarillo"         "tangerine"         "ugli fruit"        "watermelon"       

返回课程主页

© 包寒吴霜

LS0tDQp0aXRsZTogIuOAilLor63oqIDjgIvnrKw056ug77ya5a2X56ym5aSE55CGIg0Kc3VidGl0bGU6IDxhIGhyZWY9Imh0dHBzOi8vcHN5Y2hicnVjZS5naXRodWIuaW8vUkNvdXJzZS8iPui/lOWbnuivvueoi+S4u+mhtTwvYT4NCmF1dGhvcjogIuaOiOivvuaVmeW4iO+8muWMheWvkuWQtOmcnCINCiMgZGF0ZTogImByIFN5cy5EYXRlKClgIg0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIHRvYzogdHJ1ZQ0KICAgIHRvY19kZXB0aDogMw0KICAgIHRvY19mbG9hdDoNCiAgICAgIGNvbGxhcHNlZDogZmFsc2UNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQogICAgYW5jaG9yX3NlY3Rpb25zOiB0cnVlDQogICAgaGlnaGxpZ2h0OiBweWdtZW50cw0KICAgIGNzczogUm1kQ1NTLmNzcw0KLS0tDQoNCmBgYHs9aHRtbH0NCjxwIHN0eWxlPSJmb250LXNpemU6IDEycHgiPueJiOadg+WjsOaYju+8muacrOWll+ivvueoi+adkOaWmeW8gOa6kO+8jOS9v+eUqOWSjOWIhuS6q+W/hemhu+mBteWuiOOAjOWIm+S9nOWFseeUqOiuuOWPr+WNj+iuriBDQyBCWS1OQy1TQeOAje+8iOadpea6kOW8leeUqC3pnZ7llYbkuJrnlKjpgJTkvb/nlKgt5Lul55u45ZCM5pa55byP5YWx5Lqr77yJ44CCPGltZyBzcmM9ImltZy9DQy1CWS1OQy1TQS5qcGciIHdpZHRoPSIxMjBweCIgaGVpZ2h0PSI0MnB4IiBzdHlsZT0iZmxvYXQ6IHJpZ2h0IiAvPjwvcD4NCmBgYA0KDQpgYGB7ciBDb25maWcsIGluY2x1ZGU9RkFMU0V9DQpvcHRpb25zKA0KICBrbml0ci5rYWJsZS5OQSA9ICIiLA0KICBkaWdpdHMgPSA0DQopDQprbml0cjo6b3B0c19jaHVuayRzZXQoDQogIGNvbW1lbnQgPSAiIiwNCiAgZmlnLndpZHRoID0gNiwNCiAgZmlnLmhlaWdodCA9IDQsDQogIGRwaSA9IDMwMA0KKQ0KYGBgDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQojIENoYXAwNO+8muWtl+espuWkhOeQhg0KDQojIyMjIOW+gOacn+imgeeCueWbnumhvg0KDQotIFtDaGFwMDMgXCMg5pWw5o2u5qGG77yIZGF0YSBmcmFtZe+8iV0oaHR0cHM6Ly9wc3ljaGJydWNlLmdpdGh1Yi5pby9SQ291cnNlL0NoYXAwMyMlRTYlOTUlQjAlRTYlOEQlQUUlRTYlQTElODZkYXRhLWZyYW1lKXsudXJpfQ0KLSBbQ2hhcDAzIFwjIOKAnOS4gOermeW8j+KAneaVsOaNruWvvOWFpeWvvOWHul0oaHR0cHM6Ly9wc3ljaGJydWNlLmdpdGh1Yi5pby9SQ291cnNlL0NoYXAwMyMlRTUlQTQlOTYlRTklODMlQTglRTYlOTUlQjAlRTYlOEQlQUUlRTUlQUYlQkMlRTUlODUlQTUlRTUlQUYlQkMlRTUlODclQkEpey51cml9DQoNCiMjIyMg5pys56ug6KaB54K555uu5b2VDQoNCi0gW+OAkOaOoue0ouWPkeeOsOOAkeWmguS9leaPkOWPlueUteW9seWPmOmHj++8n10oI+aOoue0ouWPkeeOsOWmguS9leaPkOWPlueUteW9seWPmOmHjykNCi0gW+OAkOaOoue0ouWPkeeOsOOAkeWmguS9lee7n+iuoeOAiuW/g+eQhuWtpuaKpeOAi+WOhuWxiue8luWnlOS8muaIkOWRmOmikeasoe+8n10oI+aOoue0ouWPkeeOsOWmguS9lee7n+iuoeW/g+eQhuWtpuaKpeWOhuWxiue8luWnlOS8muaIkOWRmOmikeasoSkNCi0gW+OAkOefpeivhueCueOAkeato+WImeihqOi+vuW8j10oI+efpeivhueCueato+WImeihqOi+vuW8jynvvIjph43ngrnvvIkNCi0gW+OAkOWunui3tTHjgJHlrZfnrKbljLnphY1dKCPlrp7ot7Ux5a2X56ym5Yy56YWNKQ0KLSBb44CQ5a6e6Le1MuOAkeadoeS7tuWMuemFjV0oI+Wunui3tTLmnaHku7bljLnphY0pDQotIFvjgJDlrp7ot7Uz44CR6aKE5p+l5Yy56YWNXSgj5a6e6Le1M+mihOafpeWMuemFjSkNCi0gW+OAkOWunui3tTTjgJHlrZfnrKbkuLLnu7zlkIjlpITnkIZdKCPlrp7ot7U05a2X56ym5Liy57u85ZCI5aSE55CGKe+8iOmHjeeCue+8iQ0KLSBb44CQ5o6i57Si5Y+R546w44CRc3RyaW5ncuWMheeahOWHveaVsOWKn+iDvV0oI+aOoue0ouWPkeeOsHN0cmluZ3LljIXnmoTlh73mlbDlip/og70pDQoNCmBgYHtyLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KIyMg5pys56ug5omA6ZyAUuWMhQ0KbGlicmFyeShicnVjZVIpDQpsaWJyYXJ5KHN0cmluZ3IpICAjIOWtl+espuS4suWkhOeQhu+8iOWKoOi9vWJydWNlUuaXtuW3sum7mOiupOWKoOi9vXN0cmluZ3LvvIkNCmxpYnJhcnkocnZlc3QpICAjIOe9kee7nOeIrOiZqw0KYGBgDQoNCiMg5q2j5YiZ6KGo6L6+5byP5Z+656GADQoNCiFbPGh0dHBzOi8vbW92aWUuZG91YmFuLmNvbS9zdWJqZWN0LzM0NzgwOTkxLz5dKGltYWdlcy9jbGlwYm9hcmQtMTM4OTc3NDk0LnBuZykNCg0KYGBge3J9DQppbmZvID0gIg0K5a+85ryUOiDppbrlrZANCue8luWJpzog6aW65a2QDQrkuLvmvJQ6IOWQleiJs+WptyAvIOWbp+ajrueRn+WkqyAvIOeAmuWiqCAvIOmZiOa1qSAvIOe7v+e7riAvIOW8oOePiOmTrSAvIC4uLg0K57G75Z6LOiDliafmg4UgLyDllpzliacgLyDliqjnlLsgLyDlpYflubsNCuWItueJh+WbveWuti/lnLDljLo6IOS4reWbveWkp+mZhg0K6K+t6KiAOiDmsYnor63mma7pgJror50NCuS4iuaYoOaXpeacnzogMjAyNS0wMS0yOSjkuK3lm73lpKfpmYYpDQrniYfplb86IDE0NOWIhumSnw0K5Y+I5ZCNOiDlk6rlkJIyIC8g5ZOq5ZCSMuS5i+mtlOerpemXuea1tyAvIE5lIFpoYSAyDQpJTURiOiB0dDM0OTU2NDQzDQoiDQppbmZvDQpjYXQoaW5mbykNCmBgYA0KDQojIyMjIOOAkOaOoue0ouWPkeeOsOOAkeWmguS9leaPkOWPlueUteW9seWPmOmHj++8nyB7I+aOoue0ouWPkeeOsOWmguS9leaPkOWPlueUteW9seWPmOmHj30NCg0KLSDlpoLkvZXku47ljp/lp4vmlofmnKzmlbDmja7kuK3mj5Dlj5bvvJoNCiAgLSDlr7zmvJTvvJrigJzppbrlrZDigJ0NCiAgLSDnsbvlnovvvJrigJzliafmg4UgLyDllpzliacgLyDliqjnlLsgLyDlpYflubvigJ0NCiAgLSDniYfplb/vvJrigJwxNDTigJ0NCiAgLSDkuIrmmKDml6XmnJ/vvJrigJwyMDI1LTAxLTI54oCdDQoNCmBgYHtyfQ0Kc3RyX2V4dHJhY3QoaW5mbywgIig/PD3lr7zmvJQ6ICkuKig/PVxcbikiKQ0KDQpzdHJfZXh0cmFjdChpbmZvLCAiKD88Peexu+WeizogKS4qKD89XFxuKSIpDQpzdHJfZXh0cmFjdChpbmZvLCAiKD88Peexu+WeizogKS4qKD89XFxuKSIpICU+JQ0KICBzdHJfc3BsaXQoIiAvICIpDQoNCnN0cl9leHRyYWN0KGluZm8sICIoPzw954mH6ZW/OiApLiooPz3liIbpkp9cXG4pIikNCg0Kc3RyX2V4dHJhY3QoaW5mbywgIig/PD3kuIrmmKDml6XmnJ86ICkuKig/PVxcbikiKQ0Kc3RyX2V4dHJhY3QoaW5mbywgIig/PD3kuIrmmKDml6XmnJ86ICkuKig/PVxcbikiKSAlPiUNCiAgc3RyX2V4dHJhY3QoIlxcZHs0fS1cXGR7Mn0tXFxkezJ9IikNCnN0cl9leHRyYWN0KGluZm8sICIoPzw95LiK5pig5pel5pyfOiApLiooPz1cXG4pIikgJT4lDQogIHN0cl9leHRyYWN0KCJcXGR7NH0tXFxkezJ9LVxcZHsyfSIpICU+JQ0KICBzdHJfcmVtb3ZlX2FsbCgiLSIpDQpgYGANCg0KIyMjIyDjgJDmjqLntKLlj5HnjrDjgJHlpoLkvZXnu5/orqHjgIrlv4PnkIblrabmiqXjgIvljoblsYrnvJblp5TkvJrmiJDlkZjpopHmrKHvvJ8geyPmjqLntKLlj5HnjrDlpoLkvZXnu5/orqHlv4PnkIblrabmiqXljoblsYrnvJblp5TkvJrmiJDlkZjpopHmrKF9DQoNCuOAiuW/g+eQhuWtpuaKpeOAi+e8luWnlOS8mu+8mjxodHRwczovL2pvdXJuYWwucHN5Y2guYWMuY24veGx4Yi9DTi9jb2x1bW4vY29sdW1uMy5zaHRtbD4NCg0KYGBge3J9DQp1cmwgPSAiaHR0cHM6Ly9qb3VybmFsLnBzeWNoLmFjLmNuL3hseGIvQ04vY29sdW1uL2NvbHVtbjMuc2h0bWwiDQp4bWwgPSByZWFkX2h0bWwodXJsKQ0KdGV4dCA9IHhtbCAlPiUgaHRtbF9lbGVtZW50KCIuY29udGVudF9uciBsaSIpICU+JSBodG1sX3RleHQoKQ0KdGV4dCAlPiUgc3RyX3NwbGl0KCJcXHN7Myx9IikgJT4lIHVubGlzdCgpDQp0ZXh0ICU+JQ0KICBzdHJfc3BsaXQoIlxcc3szLH0iKSAlPiUNCiAgdW5saXN0KCkgJT4lDQogIHN0cl9leHRyYWN0KCIoPzw95Li757yW77yafOWJr+S4u+e8lu+8mnznvJblp5TvvJopLip8LiooPz3vvIgpIikgJT4lDQogIHN0cl9zcGxpdCgi44CBfOS4u+e8lu+8mnzlia/kuLvnvJbvvJp857yW5aeU77yaIikgJT4lDQogIHVubGlzdCgpICU+JQ0KICBuYS5vbWl0KCkgJT4lDQogIHN0cl9yZW1vdmVfYWxsKCJcXHMiKSAlPiUNCiAgc3RyX3N1YnNldCgi57yW5aeU5LyafFthLXpdfF4kIiwgbmVnYXRlPVRSVUUpICU+JQ0KICBGcmVxKHNvcnQ9Ii0iKQ0KYGBgDQoNCiMjIyMg5q2j5YiZ6KGo6L6+5byP5Zyo56S+5Lya56eR5a2m56CU56m25Lit5pyJ5LuA5LmI55So77yfDQoNCueOsOWcqOeahOekvuS8muenkeWtpueglOeptui2iuadpei2iuS+nei1luWkp+aVsOaNruWSjOaWh+acrOWIhuaekO+8jOe7j+W4uOimgeWSjOa1t+mHj+aWh+acrOaJk+S6pOmBk++8mjEw5LiH5p2h5b6u5Y2a44CBNeS4h+S7vemXruWNt+OAgeWHoOeZvuW5tOeahOWOhuWPsuaho+ahiOKApuKApuato+WImeihqOi+vuW8j+WwseaYr+WkhOeQhuaWh+acrOaVsOaNrueahOKAnOelnuWFteWIqeWZqOKAneOAgg0KDQoxLiAgKirmuIXmtJflkozmlbTnkIbmlbDmja7vvIjmlbDmja7igJzmtJfmvqHigJ3vvIkqKg0KDQrku47nvZHkuIrniKzkuIvmnaXnmoTmlbDmja7nu4/luLjlvojigJzohI/igJ3vvJrlpLnmnYLnnYDlub/lkYrku6PnoIHjgIHkubHnoIHjgIHlpJrkvZnnmoTnqbrmoLzjgILmraPliJnooajovr7lvI/lj6/ku6XkuIDplK7miorov5nkupvlnoPlnL7muIXnkIbmjonvvIznlZnkuIvlubLlh4DnmoTmloflrZfjgILljp/mnKzpnIDopoHmiYvliqjmuIXnkIblh6DkuIfmnaHmlbDmja7vvIzlj6/og73pnIDopoHkuIDkuKrlm6LpmJ/lubLkuIDlkajvvJvnjrDlnKjnlKjlh6DooYzmraPliJnooajovr7lvI/ku6PnoIHvvIzlh6Dnp5Lpkp/lsLHog73lrozmiJDvvIzogIzkuJTlh4bnoa7njofmnoHpq5jjgIINCg0KMi4gICoq5o+Q5Y+W5paH5pys5Lit5L+h5oGv77yI5L+h5oGv4oCc6YeH55+/4oCd77yJKioNCg0K5q+U5aaC5L2g5oOz56CU56m24oCc5bm456aP5oSf4oCd6L+Z5Liq6K+N5Zyo56S+5Lqk5aqS5L2T5LiK55qE55So5rOV44CC5q2j5YiZ6KGo6L6+5byP5Y+v5Lul5biu5L2g5om+5Ye65omA5pyJ5YyF5ZCr4oCc5bm456aP4oCd55qE5Y+l5a2Q77yM5bm25LiU6Ieq5Yqo5oqK4oCc5bm456aP4oCd5YmN6Z2i5piv6LCB5Zyo6K+077yI5q+U5aaC4oCc5oiR6KeJ5b6X5bm456aP4oCd4oCc5LuW5oSf5Yiw5bm456aP4oCd77yJ5o+Q5Y+W5Ye65p2l77yM5Y+I5b+r5Y+I5YeG44CCDQoNCjMuICAqKuWGheWuueWIhuaekOS4jue8luegge+8iOWwhuaWh+Wtl+WPmOaVsOaNru+8iSoqDQoNCuekvuS8muenkeWtpueglOeptue7j+W4uOmcgOimgeWvueaWh+acrOi/m+ihjOWIhuexu+WSjOe8lueggeOAguavlOWmgu+8jOS9oOaDs+WIhuaekOaWsOmXu+aKpemBk+WvueafkOS4quekvuS8muS6i+S7tueahOaAgeW6puaYr+KAnOato+mdouKAneOAgeKAnOi0n+mdouKAnei/mOaYr+KAnOS4reeri+KAneOAguWPr+S7peWFiOiuvuWumuWlveinhOWIme+8jOavlOWmguWMheWQq+KAnOi1nui1j+KAneOAgeKAnOaUr+aMgeKAneOAgeKAnOaIkOWKn+KAneetieivjeeahOW9kuS4uuKAnOato+mdouKAne+8jOWMheWQq+KAnOWPjeWvueKAneOAgeKAnOaJueivhOKAneOAgeKAnOmXrumimOKAneetieivjeeahOW9kuS4uuKAnOi0n+mdouKAneOAgueEtuWQju+8jOato+WImeihqOi+vuW8j+WwseiDveiHquWKqOaJq+aPj+aJgOacieaWh+eroO+8jOW5tuagueaNrui/meS6m+WFs+mUruivjeeahOWHuueOsOaDheWGte+8jOe7meavj+S4gOevh+aWh+eroOi0tOS4iuKAnOaAgeW6puKAneagh+etvuOAguWHoOenkumSn+WwseiDveaKiuWHoOS4h+adoeW4luWtkOWIhuexu+WujOavle+8jOi/meS4jeS7heavlOS6uuW3pemYheivu+e8lueggeW/q+aXoOaVsOWAje+8jOiAjOS4lOagh+WHhuWujOWFqOe7n+S4gO+8jOmBv+WFjeS6huWboOS4uueglOeptuiAheeWsuWKs+aIluS4quS6uuS4u+inguWIpOaWreW4puadpeeahOivr+W3ruOAguWug+iuqeWumuaAp+eglOeptuWPr+S7peaLpeacieWumumHj+WIhuaekOeahOinhOaooeOAgg0KDQohW+ato+WImeihqOi+vuW8j+Wbvuino++8iOWbvueJh+a6kOiHque9kee7nO+8iV0oaW1hZ2VzL2NsaXBib2FyZC0yNjIwNDE5NzE4LmpwZWcpDQoNCiMjIyMg44CQ55+l6K+G54K544CR5q2j5YiZ6KGo6L6+5byPIHsj55+l6K+G54K55q2j5YiZ6KGo6L6+5byPfQ0KDQojIyMjIyDmraPliJnooajovr7lvI8gLyDop4Tlvovooajovr7lvI/vvIhyZWd1bGFyL3BhdHRlcm4gZXhwcmVzc2lvbu+8jFJlZ0V477yJDQoNCueugOWNleadpeivtO+8jOato+WImeihqOi+vuW8j+WwseaYr+S4gOWll+eUqOadpSoq5o+P6L+w5paH5pys6KeE5YiZ55qE4oCc5a+G56CB4oCdKirjgILlroPnlKjkuIDkupvnibnmrornrKblj7fvvIjmr5TlpoJgKmDjgIFgK2DjgIFgP2DjgIFgW11g77yJ57uE5ZCI5oiQ4oCc5oyH5Luk4oCd77yM6K6p55S16ISR5oyJ54Wn6L+Z5Lqb6KeE5YiZ5Y675paH5pys55qE5rW35rSL6YeM57K+5YeG5Zyw5om+5Yiw5L2g5oOz6KaB55qE5YaF5a6577yI5q+U5aaC5LiA5a6a6KaB5piv4oCc6JOd6Imy4oCd5LmL5ZCO57Sn6Lef55qE4oCc5rG96L2m4oCd77yM6ICM5LiN5piv4oCc57qi6Imy5rG96L2m4oCd77yJ44CCDQoNCi0gKirlkKvkuYnvvJrmj4/ov7DlrZfnrKbkuLLop4TlvovvvIjmqKHlvI/vvInnmoTooajovr7lvI8qKg0KLSAqKueUqOmAlO+8muagueaNruaooeW8j++8jOWMuemFjeWtl+espu+8iOiHquWKqOWkhOeQhuaWh+acrO+8iSoqDQogIC0gKirigJzlpKfmtbfmjZ7pkojigJ3vvIjor43popHnu5/orqHvvIkqKu+8muS7jua1t+mHj+eahOaWh+acrOaVsOaNrumHjO+8jOW/q+mAn+aJvuWIsOespuWQiOeJueWumuaooeW8j+eahOWtl+ivjeOAgeWPpeWtkOaIluauteiQvQ0KICAtICoq4oCc54K555+z5oiQ6YeR4oCd77yI5pWw5o2u5riF5rSX77yJKirvvJrmib7liLDkuYvlkI7vvIzlj6/ku6Xlr7nov5nkupvlhoXlrrnov5vooYzmibnph4/nmoTkv67mlLnjgIHliKDpmaTjgIHmm7/mjaLmiJbmj5Dlj5bvvIzmlbTnkIbmiJDmlbDmja7liIbmnpDmiYDpnIDopoHnmoTmoLzlvI8NCiAgLSAqKuKAnOWOu+S8quWtmOecn+KAne+8iOadoeS7tuWIpOaWre+8iSoq77ya6L+Y5Y+v5Lul55So5p2l5qOA5p+l5L+h5oGv5qC85byP5piv5ZCm5q2j56Gu77yM5q+U5aaC5omL5py65Y+356CB5piv5LiN5pivMTHkvY3jgIHpgq7nrrHlnLDlnYDph4zmnInmsqHmnInigJxcQOKAneespuWPt+etiQ0KLSDmraPliJnooajovr7lvI/nmoTigJzlr4bnoIHigJ3lhbblrp7lvojmnInpgLvovpHvvIzkuZ/lvojlpb3nkIbop6PvvIzmr5TlpoLvvJoNCiAgLSBgXGRg77ya5Luj6KGo4oCc5Lu75L2V5LiA5Liq5pWw5a2X4oCd77yIMC0577yJ77yM5bCx5YOP5Zyo6K+04oCc57uZ5oiR5om+5LiA5Liq5pWw5a2X4oCdDQogIC0gYFthLXpdYO+8muS7o+ihqOKAnOS7u+S9leS4gOS4quiLseaWh+Wwj+WGmeWtl+avjeKAne+8jOWwseWDj+WcqOivtOKAnOe7meaIkeaJvuS4gOS4quWwj+WGmeWtl+avjeKAnQ0KICAtIGAqYO+8muS7o+ihqOKAnOWJjemdoueahOS4nOilv+WPr+S7peWHuueOsOmbtuasoeaIluWkmuasoeKAne+8jOWwseWDj+WcqOivtOKAnOi/meS4quaooeW8j+WPr+S7pemHjeWkjeaXoOaVsOasoeKAnQ0KICAtIGArYO+8muS7o+ihqOKAnOWJjemdoueahOS4nOilv+iHs+WwkeWHuueOsOS4gOasoeKAne+8jOWwseWDj+WcqOivtOKAnOi/meS4quaooeW8j+iHs+WwkeimgeWHuueOsOS4gOasoeKAnQ0KICAtIGAuYO+8muS7o+ihqOKAnOS7u+S9leS4gOS4quWtl+espuKAne+8iOmZpOS6huaNouihjOespu+8ie+8jOWwseWDj+S4gOW8oOS4h+iDveeJjO+8jOWPr+S7peS7o+abv+S7u+S9leS4gOS4quWtl+espg0KDQo+IOS4gOaXpuWtpuS8mu+8jOS9oOWwseaLpeacieS6huS4gOenjeelnuWlh+eahOiDveWKm++8muWIq+S6uui/mOWcqOS4gOadoeadoeWkjeWItueymOi0tOOAgeiCieecvOaQnOe0oueahOaXtuWAme+8jOS9oOW3sue7j+WPr+S7peWWneedgOWSluWVoe+8jOi9u+advueci+edgOeUteiEkeW4ruS9oOaKiuWHoOS4h+adoeeUmuiHs+WHoOeZvuS4h+adoeaWh+acrOaVsOaNruWcqOWHoOenkuS5i+WGheiHquWKqOaVtOeQhuWlveOAgui/meWwseaYr+ato+WImeihqOi+vuW8j+eahOmtheWKm+KAlOKAlOaKiue5geeQkOeahOaJi+W3peWKs+WKqO+8jOWPmOaIkOiHquWKqOWMlueahOKAnOmtlOazleKAneOAgg0KDQojIyDvvIgx77yJ5a2X56ym5Yy56YWNDQoNCiFbXShpbWFnZXMvY2xpcGJvYXJkLTQwODY1NzY1ODMucG5nKQ0KDQojIyMjIOOAkOWunui3tTHjgJHlrZfnrKbljLnphY0geyPlrp7ot7Ux5a2X56ym5Yy56YWNfQ0KDQohW10oaW1hZ2VzL2NsaXBib2FyZC0xNTc2MzkxMTgyLnBuZykNCg0KYGBge3J9DQp0ZXh0ID0gIueslOiusOacrOS4iuWuieijhVNQU1MyMuaIljIw77yM5o6I5p2D56CB5aSN5Yi25LiN5LiK77yM5a+86Ie05a6J6KOF5aSx6LSl44CC5bey57uP6K+V5LqG5aSa5qyh5LqG77yM6YO95a6J6KOF5LiN5LiKU3BTU++8jOivt+mXruaciemBh+WIsOi/meenjeaDheWGteeahOWQl++8n+eUteiEkeaYrzY05L2N55qE77yMU3Bzc+aYrzMy5L2N55qE77yM5piv6L+Z5Liq5Y6f5Zug5ZCX77yf5LmL5YmNU3BzU+WcqOWFtuS7lueslOiusOacrOWSjOWPsOW8j+eUteiEkeS4iumDveWuieijheaIkOWKn+S6huOAgiINCmNhdCh0ZXh0KQ0KDQpzdHJfZXh0cmFjdF9hbGwodGV4dCwgIlNQU1MiKSAgIyDlrozmlbTlrZfnrKbkuLINCnN0cl9leHRyYWN0X2FsbCh0ZXh0LCAiU1BTU3xTcHNzIikgICMgInwi6KGo56S65oiW6ICFDQpzdHJfZXh0cmFjdF9hbGwodGV4dCwgIltTUFNTfHNwc3NdIikgICMg5oCd6ICD77ya5Li65LuA5LmI77yfDQpzdHJfZXh0cmFjdF9hbGwodGV4dCwgIltTc1BwXSIpDQpzdHJfZXh0cmFjdF9hbGwodGV4dCwgIltTc11bUHBdW1NzXVtTc10iKQ0KDQpzdHJfZXh0cmFjdF9hbGwodGV4dCwgIlxcZCIpDQpzdHJfZXh0cmFjdF9hbGwodGV4dCwgIlxcZFxcZCIpDQpzdHJfZXh0cmFjdF9hbGwodGV4dCwgIlxcZFxcZOS9jSIpDQpgYGANCg0KIyMg77yIMu+8ieadoeS7tuWMuemFjQ0KDQohW10oaW1hZ2VzL2NsaXBib2FyZC0zMDIxMjg3MDgwLnBuZykNCg0KIyMjIyDjgJDlrp7ot7Uy44CR5p2h5Lu25Yy56YWNIHsj5a6e6Le1MuadoeS7tuWMuemFjX0NCg0KYGBge3J9DQp0ZXh0ID0gIueslOiusOacrOS4iuWuieijhVNQU1MyMuaIljIw77yM5o6I5p2D56CB5aSN5Yi25LiN5LiK77yM5a+86Ie05a6J6KOF5aSx6LSl44CC5bey57uP6K+V5LqG5aSa5qyh5LqG77yM6YO95a6J6KOF5LiN5LiKU3BTU++8jOivt+mXruaciemBh+WIsOi/meenjeaDheWGteeahOWQl++8n+eUteiEkeaYrzY05L2N55qE77yMU3Bzc+aYrzMy5L2N55qE77yM5piv6L+Z5Liq5Y6f5Zug5ZCX77yf5LmL5YmNU3BzU+WcqOWFtuS7lueslOiusOacrOWSjOWPsOW8j+eUteiEkeS4iumDveWuieijheaIkOWKn+S6huOAgiINCmNhdCh0ZXh0KQ0KDQpzdHJfZXh0cmFjdF9hbGwodGV4dCwgIlxcZHsyfeS9jSIpDQpzdHJfZXh0cmFjdF9hbGwodGV4dCwgIltTc1BwXXs0fSIpDQpzdHJfZXh0cmFjdF9hbGwodGV4dCwgIltTUF17NH0iKQ0Kc3RyX2V4dHJhY3RfYWxsKHRleHQsICJbU3BzXSsiKQ0Kc3RyX2V4dHJhY3RfYWxsKHRleHQsICIoU3BzKSsiKQ0Kc3RyX2V4dHJhY3RfYWxsKHRleHQsICJTcHMrIikNCmBgYA0KDQojIyDvvIgz77yJ6aKE5p+l5Yy56YWNDQoNCiFbXShpbWFnZXMvY2xpcGJvYXJkLTQxODQ0Mjg1NDUucG5nKQ0KDQojIyMjIOOAkOWunui3tTPjgJHpooTmn6XljLnphY0geyPlrp7ot7Uz6aKE5p+l5Yy56YWNfQ0KDQpgYGB7cn0NCnRleHQgPSAi56yU6K6w5pys5LiK5a6J6KOFU1BTUzIy5oiWMjDvvIzmjojmnYPnoIHlpI3liLbkuI3kuIrvvIzlr7zoh7Tlronoo4XlpLHotKXjgILlt7Lnu4/or5XkuoblpJrmrKHkuobvvIzpg73lronoo4XkuI3kuIpTcFNT77yM6K+36Zeu5pyJ6YGH5Yiw6L+Z56eN5oOF5Ya155qE5ZCX77yf55S16ISR5pivNjTkvY3nmoTvvIxTcHNz5pivMzLkvY3nmoTvvIzmmK/ov5nkuKrljp/lm6DlkJfvvJ/kuYvliY1TcHNT5Zyo5YW25LuW56yU6K6w5pys5ZKM5Y+w5byP55S16ISR5LiK6YO95a6J6KOF5oiQ5Yqf5LqG44CCIg0KY2F0KHRleHQpDQoNCnN0cl9leHRyYWN0X2FsbCh0ZXh0LCAiXFxkezJ95L2NIikNCnN0cl9leHRyYWN0X2FsbCh0ZXh0LCAiXFxkezJ9KD895L2NKSIpICAjIOWQjuWQkeiCr+WumumihOafpQ0Kc3RyX2V4dHJhY3RfYWxsKHRleHQsICJcXGR7Mn0oPyHkvY0pIikgICMg5ZCO5ZCR5ZCm5a6a6aKE5p+lDQpzdHJfZXh0cmFjdF9hbGwodGV4dCwgIig/PD1TUFNTKVxcZHsyfSIpICAjIOWJjeWQkeiCr+WumumihOafpQ0Kc3RyX2V4dHJhY3RfYWxsKHRleHQsICIoPzwhU1BTUylcXGR7Mn0iKSAgIyDliY3lkJHlkKblrprpooTmn6UNCmBgYA0KDQojIOWtl+espuS4suWkhOeQhuWunuaImA0KDQpgc3RyaW5ncmDljIUNCg0KLSDlhbHlkIzlj4LmlbANCiAgLSBgc3RyaW5nYO+8muWtl+espuS4sui+k+WFpQ0KICAtIGBwYXR0ZXJuYO+8muato+WImeihqOi+vuW8jw0KLSDluLjnlKjlh73mlbANCiAgLSDliKTmlq3vvJpgc3RyX2RldGVjdCgpYA0KICAtIOiuoeaVsO+8mmBzdHJfY291bnQoKWANCiAgLSDmj5Dlj5bvvJpgc3RyX2V4dHJhY3QoKWDjgIFgc3RyX2V4dHJhY3RfYWxsKClgDQogIC0g5pu/5o2i77yaYHN0cl9yZXBsYWNlKClg44CBYHN0cl9yZXBsYWNlX2FsbCgpYA0KICAtIOWIoOmZpO+8mmBzdHJfcmVtb3ZlKClg44CBYHN0cl9yZW1vdmVfYWxsKClgDQogIC0g5YiG5Ymy77yaYHN0cl9zcGxpdCgpYA0KICAtIOWQkemHj+WPluWMuemFjeWtkOmbhu+8mmBzdHJfc3Vic2V0KClgDQoNCiMjIyMg44CQ5a6e6Le1NOOAkeWtl+espuS4sue7vOWQiOWkhOeQhiB7I+Wunui3tTTlrZfnrKbkuLLnu7zlkIjlpITnkIZ9DQoNCi0g6K++56iL5Zue6aG+77yaW0NoYXAwMyBcIyDpnZnmgIHnvZHpobXop6PmnpBdKGh0dHBzOi8vcHN5Y2hicnVjZS5naXRodWIuaW8vUkNvdXJzZS9DaGFwMDMjJUU1JUFFJTlFJUU4JUI3JUI1NSVFOSU5RCU5OSVFNiU4MCU4MSVFNyVCRCU5MSVFOSVBMSVCNSVFOCVBNyVBMyVFNiU5RSU5MCl7LnVyaX0NCi0g572R6aG157Sg5p2Q77yaW+WNjuS4nOW4iOiMg+Wkp+WtpuW/g+eQhuS4juiupOefpeenkeWtpuWtpumZouKAnOW4iOi1hOmYn+S8jeKAnV0oaHR0cHM6Ly9wc3kuZWNudS5lZHUuY24vMTc0MzcvbGlzdC5odG0pey51cml9DQoNCmBgYHtyfQ0KIyMg5pWw5o2u6YeH6ZuGDQojIyDlt7LliqDovb1ydmVzdOWMhe+8mmxpYnJhcnkocnZlc3QpDQp1cmwgPSAiaHR0cHM6Ly9wc3kuZWNudS5lZHUuY24vMTc0MzcvbGlzdC5odG0iICAjIOWtpumZouW4iOi1hOmYn+S8jemhtemdog0KeG1sID0gdXJsICU+JSByZWFkX2h0bWwoKSAgIyDor7vlj5bnvZHpobXmiYDmnInkv6Hmga8NCnhtbA0KDQojIyDlrZfnrKbkuLLlpITnkIbvvIgx77yJ77ya6Zmi57O75ZCN56ewDQptZW51ID0geG1sICU+JSBodG1sX2VsZW1lbnRzKCIuY29sdW1uLWl0ZW0tbGluayAuY29sdW1uLW5hbWUiKSAlPiUgaHRtbF90ZXh0MigpDQptZW51DQoNCnN0cl9zdWJzZXQobWVudSwgIuezuyIpDQpzdHJfc3Vic2V0KG1lbnUsICLns7skIikNCnN0cl9zdWJzZXQobWVudSwgIi4q57O7JCIpDQpzdHJfc3Vic2V0KG1lbnUsICIuKig/PeezuyQpIikgICMg5Y+q5piv5Y+W5a2Q6ZuG77yM5bm25LiN6IO96aKE5p+l5o+Q5Y+WDQpzdHJfZXh0cmFjdChtZW51LCAiLiooPz3ns7skKSIpICAjIOecn+ato+eahOmihOafpeaPkOWPlg0Kc3RyX2V4dHJhY3QobWVudSwgIi4qKD8957O7JCkiKSAlPiUgbmEub21pdCgpICAjIOenu+mZpOe8uuWkseWAvE5BDQoNCiMjIOWtl+espuS4suWkhOeQhu+8iDLvvInvvJrkurrmiY3orqHliJINCnRpdGxlID0geG1sICU+JSBodG1sX2VsZW1lbnRzKCIuc3ViY29sdW1uLW5hbWUiKSAlPiUgaHRtbF90ZXh0MigpDQp0aXRsZQ0Kc3RyX3N1YnNldCh0aXRsZSwgIuS6uuaJjSIpDQpzdHJfc3Vic2V0KHRpdGxlLCAi5Lq65omNJCIpDQpzdHJfc3Vic2V0KHRpdGxlLCAi5LiK5rW35biCLioiKQ0Kc3RyX3N1YnNldCh0aXRsZSwgIl7kuIrmtbfluIIiKQ0Kc3RyX2V4dHJhY3QodGl0bGUsICIoPzw9XuS4iua1t+W4gikuKig/PeWtpuiAhSR86K6h5YiSJCkiKSAlPiUgbmEub21pdCgpDQoNCiMjIOWtl+espuS4suWkhOeQhu+8iDPvvInvvJrmlZnluIjlp5PlkI0NCm5hbWUgPSB4bWwgJT4lIGh0bWxfZWxlbWVudHMoIi5jb2x1bW4tbmV3cy10aXRsZSIpICU+JSBodG1sX3RleHQyKCkNCm5hbWUNCg0KdGFibGUobmFtZSkNCnVuaXF1ZShuYW1lKQ0KDQpuYW1lICU+JSB1bmlxdWUoKSAlPiUgc29ydCgpDQpuYW1lICU+JSB1bmlxdWUoKSAlPiUgc29ydCgpICU+JSBzdHJfcmVtb3ZlX2FsbCgi5Y2a5aOrfFxccyIpDQoNCm5hbWUgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBzb3J0KCkgJT4lDQogIHN0cl9yZW1vdmVfYWxsKCLljZrlo6t8XFxzIikgJT4lDQogIHN0cl9zdWJzZXQoIuWugSIpDQoNCm5hbWUgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBzb3J0KCkgJT4lDQogIHN0cl9yZW1vdmVfYWxsKCLljZrlo6t8XFxzIikgJT4lDQogIHN0cl9zdWJzZXQoIl7otbV8XumSsXxe5a2ZfF7mnY4iKSAgIyDotbXpkrHlrZnmnY7vvIzlkajlkLTpg5HnjosNCg0KbmFtZSAlPiUNCiAgdW5pcXVlKCkgJT4lDQogIHNvcnQoKSAlPiUNCiAgc3RyX3JlbW92ZV9hbGwoIuWNmuWjq3xcXHMiKSAlPiUNCiAgc3RyX3N1YnNldCgiXlvlkajlkLTpg5HnjotdIikgICMg6LW16ZKx5a2Z5p2O77yM5ZGo5ZC06YOR546LDQoNCiMjIOihpeWFhe+8muWtl+espuWQkemHjyB2cy4g5Zu65a6a5L2N572u5a2X56ym5o+Q5Y+WDQoiUHN5Y2hvbG9neSJbMV0gICMg6ZW/5bqm5Li6MeeahOWtl+espuWQkemHj++8jFsxXeS7jeeEtuaYr+Wtl+espuS4su+8jOiAjOS4jeaYr+esrDHkuKrlrZfmr40NCnN0cl9zdWIoIlBzeWNob2xvZ3kiLCAxLCAxKSAgIyDmj5Dlj5bnrKwx5Liq5a2X5q+NDQpzdHJfc3ViKCJQc3ljaG9sb2d5IiwgMSwgNSkgICMg5o+Q5Y+W56ysMX415Liq5a2X5q+NDQpgYGANCg0KLSBb6LGG55Oj55S15b2x56S65L6L5pWw5o2uKC5SRGF0YSldKGh0dHBzOi8vcHN5Y2hicnVjZS5naXRodWIuaW8vUkNvdXJzZS9kYXRhL2RvdWJhbl9tb3ZpZXMuUkRhdGEpDQoNCmBgYHtyLCBldmFsPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KIyMg5a+85YWl5Zyo57q/5pWw5o2u77yIZG91YmFuX21vdmllcy5SRGF0Ye+8iQ0KZGF0YSA9IGltcG9ydCgiaHR0cHM6Ly9wc3ljaGJydWNlLmdpdGh1Yi5pby9SQ291cnNlL2RhdGEvZG91YmFuX21vdmllcy5SRGF0YSIpDQpkdCA9IGFzLmRhdGEudGFibGUoZGF0YSkNCmBgYA0KDQoqKuivvuWgguWunuaImOe7g+S5oO+8iOmXrumimOino+WGs+WvvOWQkeeahOWtpuS5oO+8ie+8mioqDQoNCi0g5LuO55S15b2x5qCH6aKY5Y+Y6YeP77yIYHRpdGxlYO+8ieaPkOWPlueUteW9seeahOS4iuaYoOW5tOS7vQ0KLSDpgInlj5bluKbmnIkwXH455pWw5a2X55qE55S15b2x5qCH6aKYDQotIOmAieWPluW4puacieW5tOS7veaVsOWtl+eahOeUteW9seagh+mimA0KLSDpgInlj5bmqKHlvI/kuLrigJzpq5jogIMxOTc34oCd55qE55S15b2x5qCH6aKYDQotIOKApuKApg0KDQojIyMjIOOAkOaOoue0ouWPkeeOsOOAkXN0cmluZ3LljIXnmoTlh73mlbDlip/og70geyPmjqLntKLlj5HnjrBzdHJpbmdy5YyF55qE5Ye95pWw5Yqf6IO9fQ0KDQotIOajgOa1i+WMuemFjQ0KDQohW10oaW1hZ2VzL2NsaXBib2FyZC0xODA4ODM0MDk4LnBuZykNCg0KLSDlrZDpm4bmj5Dlj5YNCg0KIVtdKGltYWdlcy9jbGlwYm9hcmQtOTAwODAyNDAyLnBuZykNCg0KLSDplb/luqbmjqfliLYNCg0KIVtdKGltYWdlcy9jbGlwYm9hcmQtNDIwMDY2MjQxMS5wbmcpDQoNCi0g5pu/5o2i5L+u5pS5DQoNCiFbXShpbWFnZXMvY2xpcGJvYXJkLTMxMDQzMTExMzUucG5nKQ0KDQotIOaLvOaOpeWIhuWJsg0KDQohW10oaW1hZ2VzL2NsaXBib2FyZC0zMzMzNDY2OTcyLnBuZykNCg0KIyDjgJDkvZzkuJo144CR5a2X56ym5ZCR6YeP5aSE55CGDQoNCuS9nOS4muimgeaxgu+8mg0KDQotIOWbtOe7lWBzdHJpbmdyYOWMheaPkOS+m+eahOWtl+espuS4suekuuS+i+aVsOaNrmBmcnVpdGDvvIg4MOS4quawtOaenOWQjeensO+8ie+8jOi/kOeUqGBzdHJfZGV0ZWN0KClg44CBYHN0cl9zdWJzZXQoKWDjgIFgc3RyX2V4dHJhY3RfYWxsKClg44CBYHN0cl9yZXBsYWNlX2FsbCgpYOetiWBzdHJpbmdyYOWMheWHveaVsOS4reeahOiHs+WwkTLkuKrvvIzku7vmhI/lrozmiJDoh7PlsJEy56eN5a2X56ym5Liy5aSE55CG5Lu75Yqh77yM5bm25a+55Luj56CB5ZKM57uT5p6c6L+b6KGM566A5Y2V55qE5rOo6YeK5ZKM6Kej6K+7DQotIOS9v+eUqFIgTWFya2Rvd27lrozmiJDvvIzov5DooYzmuLLmn5PlvpfliLDmnKzlnLBIVE1M572R6aG15paH5Lu2DQoNCuW5s+WPsOaPkOS6pO+8mg0KDQotIOi/kOihjOW+l+WIsEhUTUznvZHpobXmlofku7bnmoQqKuWFs+mUrumDqOWIhuaIquWbvu+8iOWPqumcgOS4iuS8oOaIquWbvu+8iSoqDQoNCmBgYHtyfQ0KIyMg6ZmE77ya5L2c5Lia6ZyA6KaB55So5Yiw55qE5pWw5o2u6ZuG77yI5a2X56ym5ZCR6YeP77yJDQpzdHJpbmdyOjpmcnVpdA0KYGBgDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpb6L+U5Zue6K++56iL5Li76aG1XShodHRwczovL3BzeWNoYnJ1Y2UuZ2l0aHViLmlvL1JDb3Vyc2UvKQ0KDQrCqSDljIXlr5LlkLTpnJwNCg==