{"version":3,"file":"scripts/main.js","mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AChQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACvRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC/KA;AACA;AACA;AACA;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;;AACA;;;;;;;;;;;;;;;;;;;;AC7KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;;;;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;;;;;;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;;;;;;;;;;;;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC/GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC/HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACtKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnIA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC3BA;AACA;AACA;AACA;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC9LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC5NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC/DA;AACA;AACA;AACA;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACjTA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC5JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACpgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;ACJA;;;;;ACAA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACNA;AACA;AACA;AACA;AACA;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACtXA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AE5fA;AACA;AACA;AACA;AACA;AACA","sources":["webpack:///../../node_modules/@threespot/expand-toggle/dist/expand-toggle.m.js","webpack:///../../node_modules/@threespot/expand-toggle/index.js","webpack:///../../node_modules/@threespot/unorphanize/dist/unorphanize.m.js","webpack:///../../node_modules/ansi-html/index.js","webpack:///../../node_modules/ansi-regex/index.js","webpack:///./build/helpers/hmr-client.js","webpack:///./scripts/lib/link-icons.js","webpack:///./scripts/main.js","webpack:///./scripts/modules/filters-toggle.js","webpack:///./scripts/modules/link-icons.js","webpack:///./scripts/modules/nav-mobile-toggle.js","webpack:///./scripts/modules/nav-submenus.js","webpack:///./scripts/modules/topics-grid-toggle.js","webpack:///../../node_modules/ev-emitter/ev-emitter.js","webpack:///../../node_modules/html-entities/lib/html4-entities.js","webpack:///../../node_modules/html-entities/lib/html5-entities.js","webpack:///../../node_modules/html-entities/lib/index.js","webpack:///../../node_modules/html-entities/lib/surrogate-pairs.js","webpack:///../../node_modules/html-entities/lib/xml-entities.js","webpack:///../../node_modules/lodash/_Symbol.js","webpack:///../../node_modules/lodash/_baseGetTag.js","webpack:///../../node_modules/lodash/_freeGlobal.js","webpack:///../../node_modules/lodash/_getRawTag.js","webpack:///../../node_modules/lodash/_objectToString.js","webpack:///../../node_modules/lodash/_root.js","webpack:///../../node_modules/lodash/debounce.js","webpack:///../../node_modules/lodash/isObject.js","webpack:///../../node_modules/lodash/isObjectLike.js","webpack:///../../node_modules/lodash/isSymbol.js","webpack:///../../node_modules/lodash/now.js","webpack:///../../node_modules/lodash/toNumber.js","webpack:///../../node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js","webpack:///../../node_modules/mini-css-extract-plugin/dist/hmr/normalize-url.js","webpack:///./styles/main.scss","webpack:///../../node_modules/querystring/decode.js","webpack:///../../node_modules/querystring/encode.js","webpack:///../../node_modules/querystring/index.js","webpack:///../../node_modules/webpack-hot-middleware/client-overlay.js","webpack:///../../node_modules/webpack-hot-middleware/client.js","webpack:///../../node_modules/webpack-hot-middleware/node_modules/strip-ansi/index.js","webpack:///../../node_modules/webpack-hot-middleware/process-update.js","webpack:///../../node_modules/what-input/dist/what-input.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/get javascript update chunk filename","webpack:///webpack/runtime/get mini-css chunk filename","webpack:///webpack/runtime/get update manifest filename","webpack:///webpack/runtime/getFullHash","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/load script","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///webpack/runtime/hot module replacement","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/css loading","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/before-startup","webpack:///webpack/startup","webpack:///webpack/after-startup"],"sourcesContent":["module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./index.js\":\n/*!******************!*\\\n !*** ./index.js ***!\n \\******************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return ExpandToggle; });\\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/debounce */ \\\"./node_modules/lodash/debounce.js\\\");\\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var ev_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ev-emitter */ \\\"./node_modules/ev-emitter/ev-emitter.js\\\");\\n/* harmony import */ var ev_emitter__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(ev_emitter__WEBPACK_IMPORTED_MODULE_1__);\\n\\n\\nfunction _typeof(obj) { if (typeof Symbol === \\\"function\\\" && typeof Symbol.iterator === \\\"symbol\\\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \\\"function\\\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \\\"symbol\\\" : typeof obj; }; } return _typeof(obj); }\\n\\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\\n\\nfunction _nonIterableSpread() { throw new TypeError(\\\"Invalid attempt to spread non-iterable instance\\\"); }\\n\\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \\\"[object Arguments]\\\") return Array.from(iter); }\\n\\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\\n\\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\\n\\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \\\"object\\\" || typeof call === \\\"function\\\")) { return call; } return _assertThisInitialized(self); }\\n\\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return self; }\\n\\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function\\\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\\n\\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\\n\\n\\n\\n/**\\n * Wrap the last X words in an HTML tag to prevent them from wrapping (i.e. orphans)\\n * @param {HTMLElement} el - Toggle button DOM node\\n * @param {Object} opts - Options\\n * @param {string} [opts.expandedClasses=\\\"\\\"] - Class(es) to apply when expanded\\n * @param {boolean} [opts.shouldToggleHeight=false] - Whether or not to animate height\\n * @param {string} [opts.activeToggleText=\\\"\\\"] - Expanded state toggle button text\\n * @param {boolean} [opts.shouldStartExpanded=false] - Whether menu should start expanded\\n * @param {function} [opts.onReady=\\\"\\\"] - Ready callback function\\n */\\n\\nvar ExpandToggle =\\n/*#__PURE__*/\\nfunction (_EventEmitter) {\\n _inherits(ExpandToggle, _EventEmitter);\\n\\n function ExpandToggle(el, opts) {\\n var _this;\\n\\n _classCallCheck(this, ExpandToggle);\\n\\n // Have to call super() first before referencing “this” since we’re extending EventEmitter\\n // https://stackoverflow.com/a/43591507/673457\\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ExpandToggle).call(this));\\n _this.el = el;\\n _this.targetId = _this.el.getAttribute(\\\"data-expands\\\");\\n _this.targetEl = document.getElementById(_this.targetId); // Ensure target element exist before initializing\\n\\n if (!_this.targetEl) {\\n console.warn(\\\"Can\\\\u2019t find expandable target with id \\\\u201C\\\".concat(_this.targetId, \\\"\\\\u201D\\\"));\\n return _possibleConstructorReturn(_this, false);\\n } // Use Object.assign() to merge “opts” object with default values in this.options\\n\\n\\n _this.options = Object.assign({}, {\\n expandedClasses: \\\"\\\",\\n // string, accepts multiple space-separated classes\\n shouldToggleHeight: false,\\n // should target element’s height be animated using max-height\\n activeToggleText: \\\"\\\",\\n // expanded state toggle button text\\n shouldStartExpanded: false,\\n // component starts expanded on init\\n onReady: null // ready callback function\\n\\n }, opts); // Check for custom expanded class(es)\\n\\n _this.expandedClasses = _this.el.getAttribute(\\\"data-expands-class\\\") || _this.options.expandedClasses;\\n\\n if (_this.expandedClasses.length) {\\n // Check if active class string contains multiple classes\\n if (_this.expandedClasses.indexOf(\\\" \\\") > -1) {\\n // Convert to array and remove any empty string values\\n // caused by having multiple spaces in a row.\\n _this.expandedClasses = _this.expandedClasses.split(\\\" \\\").filter(function (n) {\\n return n.length;\\n });\\n } else {\\n // We still need to convert a single active class to an array\\n // so we can use the spread syntax later in classList.add()\\n _this.expandedClasses = [_this.expandedClasses];\\n }\\n } // Check if height should be animated\\n\\n\\n _this.shouldToggleHeight = _this.el.hasAttribute(\\\"data-expands-height\\\") || _this.options.shouldToggleHeight; // Check if component should start expanded\\n\\n _this.shouldStartExpanded = _this.el.hasAttribute(\\\"data-expanded\\\") || _this.options.shouldStartExpanded; // Check for custom toggle button text to use when expanded\\n\\n _this.hasActiveText = false;\\n _this.textEl = _this.el.querySelector(\\\"[data-expands-text]\\\");\\n\\n if (_this.textEl) {\\n _this.defaultToggleText = _this.textEl.textContent;\\n _this.activeToggleText = _this.textEl.getAttribute(\\\"data-expands-text\\\") || _this.options.activeToggleText;\\n _this.hasActiveText = !!_this.activeToggleText.length;\\n }\\n\\n _this.init();\\n\\n return _this;\\n }\\n\\n _createClass(ExpandToggle, [{\\n key: \\\"init\\\",\\n value: function init() {\\n // Store state to avoid calling resize handler after component has been destroyed\\n this.hasInitialized = true; // Accessibility setup\\n\\n this.el.setAttribute(\\\"aria-haspopup\\\", true);\\n this.el.setAttribute(\\\"aria-expanded\\\", this.shouldStartExpanded); // Omit “aria-controls” for now\\n // See https://inclusive-components.design/menus-menu-buttons/#ariacontrols\\n // this.el.setAttribute(\\\"aria-controls\\\", this.targetId);\\n\\n this.targetEl.setAttribute(\\\"aria-hidden\\\", !this.shouldStartExpanded);\\n\\n if (this.el.tagName.toLowerCase() === \\\"a\\\") {\\n this.el.setAttribute(\\\"role\\\", \\\"button\\\");\\n }\\n\\n if (this.shouldToggleHeight) {\\n this.heightToggleSetup();\\n } // Click event listener on toggle button\\n // Note: Callback needs to be assigned to a let so we can remove it since we’re using bind()\\n // https://stackoverflow.com/a/22870717/673457\\n\\n\\n this.clickHandler = this.toggle.bind(this);\\n this.el.addEventListener(\\\"click\\\", this.clickHandler); // Keyboard listeners on toggle button\\n\\n this.keydownHandler = this.keyboardEvents.bind(this);\\n this.el.addEventListener(\\\"keydown\\\", this.keydownHandler); // Check for onReady callback\\n\\n if (typeof this.options.onReady === \\\"function\\\") {\\n this.options.onReady();\\n }\\n }\\n }, {\\n key: \\\"destroy\\\",\\n value: function destroy() {\\n this.hasInitialized = false; // Remove event listeners\\n\\n this.el.removeEventListener(\\\"click\\\", this.clickHandler);\\n this.el.removeEventListener(\\\"keydown\\\", this.keydownHandler);\\n window.removeEventListener(\\\"resize\\\", this.resizeHandler); // Remove aria attributes\\n\\n this.el.removeAttribute(\\\"aria-haspopup\\\");\\n this.el.removeAttribute(\\\"aria-expanded\\\");\\n this.targetEl.removeAttribute(\\\"aria-hidden\\\");\\n this.targetEl.style.removeProperty(\\\"max-height\\\");\\n\\n if (this.el.tagName.toLowerCase() === \\\"a\\\") {\\n this.el.removeAttribute(\\\"role\\\");\\n } // Reset toggle text\\n\\n\\n if (this.hasActiveText) {\\n this.textEl.textContent = this.defaultToggleText;\\n } // Remove custom classes\\n\\n\\n if (this.expandedClasses.length) {\\n var _this$el$classList, _this$targetEl$classL;\\n\\n (_this$el$classList = this.el.classList).remove.apply(_this$el$classList, _toConsumableArray(this.expandedClasses));\\n\\n (_this$targetEl$classL = this.targetEl.classList).remove.apply(_this$targetEl$classL, _toConsumableArray(this.expandedClasses));\\n }\\n\\n this.emitEvent(\\\"destroy\\\");\\n }\\n }, {\\n key: \\\"keyboardEvents\\\",\\n value: function keyboardEvents(event) {\\n // Expand with down arrow\\n if (event.keyCode == 40) {\\n this.expand();\\n } else if (event.keyCode == 38 || event.keyCode == 27) {\\n // Close with up arrow or escape key\\n this.collapse();\\n }\\n }\\n }, {\\n key: \\\"heightToggleSetup\\\",\\n value: function heightToggleSetup() {\\n var _this2 = this;\\n\\n this.targetParentEl = this.targetEl.parentNode; // Set max-height to the expanded height so we can animate it.\\n\\n window.requestAnimationFrame(this.updateExpandedHeight.bind(this));\\n this.resizeHandler = lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default()(function (event) {\\n // Due to debounce() it’s possible for this to run after destroy() has been called.\\n // To avoid this edge case, check “this.hasInitialized” first.\\n if (_this2.hasInitialized) {\\n window.requestAnimationFrame(_this2.updateExpandedHeight.bind(_this2));\\n }\\n }, 100).bind(this); // Update target element’s max-height on resize\\n\\n window.addEventListener(\\\"resize\\\", this.resizeHandler);\\n } // Set max-height of target element to its expanded height without triggering relayout.\\n //\\n // This technique works by creating an absolutely-positioned invisible clone of the target\\n // element and calculating its height. This avoids any relayout that would otherwise occur\\n // if the element was briefly expanded so we could measure it.\\n //\\n // Note: We’re using CSS to transition max-height instead jQuery’s slideToggle(),\\n // or another 3rd-party lib like Velocity.js, to avoid loading a large lib.\\n\\n }, {\\n key: \\\"updateExpandedHeight\\\",\\n value: function updateExpandedHeight() {\\n // Get width of original element so we can apply it to the clone\\n var nodeWidth = Math.round(parseFloat(this.targetEl.offsetWidth)); // Create clone of node\\n\\n var cloneEl = this.targetEl.cloneNode(true); // 'true' includes child nodes\\n // Inline styles added to prevent reflow, ensure clone is same size as expanded element\\n\\n cloneEl.style.cssText = \\\"max-height: none !important; position: absolute !important; right: 100% !important; visibility: hidden !important; width: \\\".concat(nodeWidth, \\\"px !important; -webkit-transition: none !important; -moz-transition: none !important; transition: none !important\\\"); // Update “aria-hidden” attribute\\n\\n cloneEl.setAttribute(\\\"aria-hidden\\\", false); // Remove id just to be safe\\n\\n cloneEl.removeAttribute(\\\"id\\\"); // Remove “name” attributes to prevent resetting checkbox or radio elements\\n\\n var childElsWithId = cloneEl.querySelectorAll(\\\"[name]\\\"); // IE-friendly way of iterating over a NodeList\\n\\n Array.prototype.forEach.call(childElsWithId, function (el) {\\n el.removeAttribute(\\\"name\\\");\\n }); // Append clone to document, save as new let so we can remove it later\\n\\n var newEl = this.targetParentEl.insertBefore(cloneEl, this.targetEl); // Calculate height\\n\\n var expandedHeight = Math.round(parseFloat(newEl.offsetHeight)); // Remove cloned node to clean up after ourselves\\n\\n this.targetParentEl.removeChild(newEl); // Apply inline max-height to collapsed element\\n // Note: CSS is overriding this when aria-hidden=\\\"true\\\"\\n\\n this.targetEl.style.maxHeight = expandedHeight + \\\"px\\\";\\n }\\n }, {\\n key: \\\"expand\\\",\\n value: function expand(event) {\\n // Update toggle text\\n if (this.hasActiveText) {\\n this.textEl.textContent = this.activeToggleText;\\n } // Add classes\\n\\n\\n if (this.expandedClasses.length) {\\n var _this$el$classList2, _this$targetEl$classL2;\\n\\n (_this$el$classList2 = this.el.classList).add.apply(_this$el$classList2, _toConsumableArray(this.expandedClasses));\\n\\n (_this$targetEl$classL2 = this.targetEl.classList).add.apply(_this$targetEl$classL2, _toConsumableArray(this.expandedClasses));\\n } // Update aria attributes\\n\\n\\n this.el.setAttribute(\\\"aria-expanded\\\", true);\\n this.targetEl.setAttribute(\\\"aria-hidden\\\", false); // Emit event and include original event as an argument\\n\\n this.emitEvent(\\\"expand\\\", event);\\n }\\n }, {\\n key: \\\"collapse\\\",\\n value: function collapse(event) {\\n // Update toggle text\\n if (this.hasActiveText) {\\n this.textEl.textContent = this.defaultToggleText;\\n } // Remove classes\\n\\n\\n if (this.expandedClasses.length) {\\n var _this$el$classList3, _this$targetEl$classL3;\\n\\n (_this$el$classList3 = this.el.classList).remove.apply(_this$el$classList3, _toConsumableArray(this.expandedClasses));\\n\\n (_this$targetEl$classL3 = this.targetEl.classList).remove.apply(_this$targetEl$classL3, _toConsumableArray(this.expandedClasses));\\n } // Update aria attributes\\n\\n\\n this.el.setAttribute(\\\"aria-expanded\\\", false);\\n this.targetEl.setAttribute(\\\"aria-hidden\\\", true); // Emit event and include original event as an argument\\n\\n this.emitEvent(\\\"collapse\\\", event);\\n }\\n }, {\\n key: \\\"toggle\\\",\\n value: function toggle(event) {\\n // Prevent default in case toggle element is a link instead of a button\\n event.preventDefault();\\n\\n if (this.el.getAttribute(\\\"aria-expanded\\\") === \\\"true\\\") {\\n this.collapse(event);\\n } else {\\n this.expand(event);\\n }\\n }\\n }]);\\n\\n return ExpandToggle;\\n}(ev_emitter__WEBPACK_IMPORTED_MODULE_1___default.a);\\n\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/ev-emitter/ev-emitter.js\":\n/*!***********************************************!*\\\n !*** ./node_modules/ev-emitter/ev-emitter.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\\n * EvEmitter v1.1.0\\n * Lil' event emitter\\n * MIT License\\n */\\n\\n/* jshint unused: true, undef: true, strict: true */\\n\\n( function( global, factory ) {\\n // universal module definition\\n /* jshint strict: false */ /* globals define, module, window */\\n if ( true ) {\\n // AMD - RequireJS\\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\\n\\t\\t\\t\\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\\n\\t\\t\\t\\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\\n\\t\\t\\t\\t__WEBPACK_AMD_DEFINE_FACTORY__),\\n\\t\\t\\t\\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\\n } else {}\\n\\n}( typeof window != 'undefined' ? window : this, function() {\\n\\n\\\"use strict\\\";\\n\\nfunction EvEmitter() {}\\n\\nvar proto = EvEmitter.prototype;\\n\\nproto.on = function( eventName, listener ) {\\n if ( !eventName || !listener ) {\\n return;\\n }\\n // set events hash\\n var events = this._events = this._events || {};\\n // set listeners array\\n var listeners = events[ eventName ] = events[ eventName ] || [];\\n // only add once\\n if ( listeners.indexOf( listener ) == -1 ) {\\n listeners.push( listener );\\n }\\n\\n return this;\\n};\\n\\nproto.once = function( eventName, listener ) {\\n if ( !eventName || !listener ) {\\n return;\\n }\\n // add event\\n this.on( eventName, listener );\\n // set once flag\\n // set onceEvents hash\\n var onceEvents = this._onceEvents = this._onceEvents || {};\\n // set onceListeners object\\n var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};\\n // set flag\\n onceListeners[ listener ] = true;\\n\\n return this;\\n};\\n\\nproto.off = function( eventName, listener ) {\\n var listeners = this._events && this._events[ eventName ];\\n if ( !listeners || !listeners.length ) {\\n return;\\n }\\n var index = listeners.indexOf( listener );\\n if ( index != -1 ) {\\n listeners.splice( index, 1 );\\n }\\n\\n return this;\\n};\\n\\nproto.emitEvent = function( eventName, args ) {\\n var listeners = this._events && this._events[ eventName ];\\n if ( !listeners || !listeners.length ) {\\n return;\\n }\\n // copy over to avoid interference if .off() in listener\\n listeners = listeners.slice(0);\\n args = args || [];\\n // once stuff\\n var onceListeners = this._onceEvents && this._onceEvents[ eventName ];\\n\\n for ( var i=0; i < listeners.length; i++ ) {\\n var listener = listeners[i]\\n var isOnce = onceListeners && onceListeners[ listener ];\\n if ( isOnce ) {\\n // remove listener\\n // remove before trigger to prevent recursion\\n this.off( eventName, listener );\\n // unset once flag\\n delete onceListeners[ listener ];\\n }\\n // trigger listener\\n listener.apply( this, args );\\n }\\n\\n return this;\\n};\\n\\nproto.allOff = function() {\\n delete this._events;\\n delete this._onceEvents;\\n};\\n\\nreturn EvEmitter;\\n\\n}));\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/ev-emitter/ev-emitter.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/lodash/_Symbol.js\":\n/*!****************************************!*\\\n !*** ./node_modules/lodash/_Symbol.js ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"var root = __webpack_require__(/*! ./_root */ \\\"./node_modules/lodash/_root.js\\\");\\n\\n/** Built-in value references. */\\nvar Symbol = root.Symbol;\\n\\nmodule.exports = Symbol;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/_Symbol.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/lodash/_baseGetTag.js\":\n/*!********************************************!*\\\n !*** ./node_modules/lodash/_baseGetTag.js ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"var Symbol = __webpack_require__(/*! ./_Symbol */ \\\"./node_modules/lodash/_Symbol.js\\\"),\\n getRawTag = __webpack_require__(/*! ./_getRawTag */ \\\"./node_modules/lodash/_getRawTag.js\\\"),\\n objectToString = __webpack_require__(/*! ./_objectToString */ \\\"./node_modules/lodash/_objectToString.js\\\");\\n\\n/** `Object#toString` result references. */\\nvar nullTag = '[object Null]',\\n undefinedTag = '[object Undefined]';\\n\\n/** Built-in value references. */\\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\\n\\n/**\\n * The base implementation of `getTag` without fallbacks for buggy environments.\\n *\\n * @private\\n * @param {*} value The value to query.\\n * @returns {string} Returns the `toStringTag`.\\n */\\nfunction baseGetTag(value) {\\n if (value == null) {\\n return value === undefined ? undefinedTag : nullTag;\\n }\\n return (symToStringTag && symToStringTag in Object(value))\\n ? getRawTag(value)\\n : objectToString(value);\\n}\\n\\nmodule.exports = baseGetTag;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/_baseGetTag.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/lodash/_freeGlobal.js\":\n/*!********************************************!*\\\n !*** ./node_modules/lodash/_freeGlobal.js ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */\\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\\n\\nmodule.exports = freeGlobal;\\n\\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \\\"./node_modules/webpack/buildin/global.js\\\")))\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/_freeGlobal.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/lodash/_getRawTag.js\":\n/*!*******************************************!*\\\n !*** ./node_modules/lodash/_getRawTag.js ***!\n \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"var Symbol = __webpack_require__(/*! ./_Symbol */ \\\"./node_modules/lodash/_Symbol.js\\\");\\n\\n/** Used for built-in method references. */\\nvar objectProto = Object.prototype;\\n\\n/** Used to check objects for own properties. */\\nvar hasOwnProperty = objectProto.hasOwnProperty;\\n\\n/**\\n * Used to resolve the\\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\\n * of values.\\n */\\nvar nativeObjectToString = objectProto.toString;\\n\\n/** Built-in value references. */\\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\\n\\n/**\\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\\n *\\n * @private\\n * @param {*} value The value to query.\\n * @returns {string} Returns the raw `toStringTag`.\\n */\\nfunction getRawTag(value) {\\n var isOwn = hasOwnProperty.call(value, symToStringTag),\\n tag = value[symToStringTag];\\n\\n try {\\n value[symToStringTag] = undefined;\\n var unmasked = true;\\n } catch (e) {}\\n\\n var result = nativeObjectToString.call(value);\\n if (unmasked) {\\n if (isOwn) {\\n value[symToStringTag] = tag;\\n } else {\\n delete value[symToStringTag];\\n }\\n }\\n return result;\\n}\\n\\nmodule.exports = getRawTag;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/_getRawTag.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/lodash/_objectToString.js\":\n/*!************************************************!*\\\n !*** ./node_modules/lodash/_objectToString.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"/** Used for built-in method references. */\\nvar objectProto = Object.prototype;\\n\\n/**\\n * Used to resolve the\\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\\n * of values.\\n */\\nvar nativeObjectToString = objectProto.toString;\\n\\n/**\\n * Converts `value` to a string using `Object.prototype.toString`.\\n *\\n * @private\\n * @param {*} value The value to convert.\\n * @returns {string} Returns the converted string.\\n */\\nfunction objectToString(value) {\\n return nativeObjectToString.call(value);\\n}\\n\\nmodule.exports = objectToString;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/_objectToString.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/lodash/_root.js\":\n/*!**************************************!*\\\n !*** ./node_modules/lodash/_root.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ \\\"./node_modules/lodash/_freeGlobal.js\\\");\\n\\n/** Detect free variable `self`. */\\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\\n\\n/** Used as a reference to the global object. */\\nvar root = freeGlobal || freeSelf || Function('return this')();\\n\\nmodule.exports = root;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/_root.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/lodash/debounce.js\":\n/*!*****************************************!*\\\n !*** ./node_modules/lodash/debounce.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"var isObject = __webpack_require__(/*! ./isObject */ \\\"./node_modules/lodash/isObject.js\\\"),\\n now = __webpack_require__(/*! ./now */ \\\"./node_modules/lodash/now.js\\\"),\\n toNumber = __webpack_require__(/*! ./toNumber */ \\\"./node_modules/lodash/toNumber.js\\\");\\n\\n/** Error message constants. */\\nvar FUNC_ERROR_TEXT = 'Expected a function';\\n\\n/* Built-in method references for those with the same name as other `lodash` methods. */\\nvar nativeMax = Math.max,\\n nativeMin = Math.min;\\n\\n/**\\n * Creates a debounced function that delays invoking `func` until after `wait`\\n * milliseconds have elapsed since the last time the debounced function was\\n * invoked. The debounced function comes with a `cancel` method to cancel\\n * delayed `func` invocations and a `flush` method to immediately invoke them.\\n * Provide `options` to indicate whether `func` should be invoked on the\\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\\n * with the last arguments provided to the debounced function. Subsequent\\n * calls to the debounced function return the result of the last `func`\\n * invocation.\\n *\\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\\n * invoked on the trailing edge of the timeout only if the debounced function\\n * is invoked more than once during the `wait` timeout.\\n *\\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\\n *\\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\\n * for details over the differences between `_.debounce` and `_.throttle`.\\n *\\n * @static\\n * @memberOf _\\n * @since 0.1.0\\n * @category Function\\n * @param {Function} func The function to debounce.\\n * @param {number} [wait=0] The number of milliseconds to delay.\\n * @param {Object} [options={}] The options object.\\n * @param {boolean} [options.leading=false]\\n * Specify invoking on the leading edge of the timeout.\\n * @param {number} [options.maxWait]\\n * The maximum time `func` is allowed to be delayed before it's invoked.\\n * @param {boolean} [options.trailing=true]\\n * Specify invoking on the trailing edge of the timeout.\\n * @returns {Function} Returns the new debounced function.\\n * @example\\n *\\n * // Avoid costly calculations while the window size is in flux.\\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\\n *\\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\\n * 'leading': true,\\n * 'trailing': false\\n * }));\\n *\\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\\n * var source = new EventSource('/stream');\\n * jQuery(source).on('message', debounced);\\n *\\n * // Cancel the trailing debounced invocation.\\n * jQuery(window).on('popstate', debounced.cancel);\\n */\\nfunction debounce(func, wait, options) {\\n var lastArgs,\\n lastThis,\\n maxWait,\\n result,\\n timerId,\\n lastCallTime,\\n lastInvokeTime = 0,\\n leading = false,\\n maxing = false,\\n trailing = true;\\n\\n if (typeof func != 'function') {\\n throw new TypeError(FUNC_ERROR_TEXT);\\n }\\n wait = toNumber(wait) || 0;\\n if (isObject(options)) {\\n leading = !!options.leading;\\n maxing = 'maxWait' in options;\\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\\n trailing = 'trailing' in options ? !!options.trailing : trailing;\\n }\\n\\n function invokeFunc(time) {\\n var args = lastArgs,\\n thisArg = lastThis;\\n\\n lastArgs = lastThis = undefined;\\n lastInvokeTime = time;\\n result = func.apply(thisArg, args);\\n return result;\\n }\\n\\n function leadingEdge(time) {\\n // Reset any `maxWait` timer.\\n lastInvokeTime = time;\\n // Start the timer for the trailing edge.\\n timerId = setTimeout(timerExpired, wait);\\n // Invoke the leading edge.\\n return leading ? invokeFunc(time) : result;\\n }\\n\\n function remainingWait(time) {\\n var timeSinceLastCall = time - lastCallTime,\\n timeSinceLastInvoke = time - lastInvokeTime,\\n timeWaiting = wait - timeSinceLastCall;\\n\\n return maxing\\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\\n : timeWaiting;\\n }\\n\\n function shouldInvoke(time) {\\n var timeSinceLastCall = time - lastCallTime,\\n timeSinceLastInvoke = time - lastInvokeTime;\\n\\n // Either this is the first call, activity has stopped and we're at the\\n // trailing edge, the system time has gone backwards and we're treating\\n // it as the trailing edge, or we've hit the `maxWait` limit.\\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\\n }\\n\\n function timerExpired() {\\n var time = now();\\n if (shouldInvoke(time)) {\\n return trailingEdge(time);\\n }\\n // Restart the timer.\\n timerId = setTimeout(timerExpired, remainingWait(time));\\n }\\n\\n function trailingEdge(time) {\\n timerId = undefined;\\n\\n // Only invoke if we have `lastArgs` which means `func` has been\\n // debounced at least once.\\n if (trailing && lastArgs) {\\n return invokeFunc(time);\\n }\\n lastArgs = lastThis = undefined;\\n return result;\\n }\\n\\n function cancel() {\\n if (timerId !== undefined) {\\n clearTimeout(timerId);\\n }\\n lastInvokeTime = 0;\\n lastArgs = lastCallTime = lastThis = timerId = undefined;\\n }\\n\\n function flush() {\\n return timerId === undefined ? result : trailingEdge(now());\\n }\\n\\n function debounced() {\\n var time = now(),\\n isInvoking = shouldInvoke(time);\\n\\n lastArgs = arguments;\\n lastThis = this;\\n lastCallTime = time;\\n\\n if (isInvoking) {\\n if (timerId === undefined) {\\n return leadingEdge(lastCallTime);\\n }\\n if (maxing) {\\n // Handle invocations in a tight loop.\\n clearTimeout(timerId);\\n timerId = setTimeout(timerExpired, wait);\\n return invokeFunc(lastCallTime);\\n }\\n }\\n if (timerId === undefined) {\\n timerId = setTimeout(timerExpired, wait);\\n }\\n return result;\\n }\\n debounced.cancel = cancel;\\n debounced.flush = flush;\\n return debounced;\\n}\\n\\nmodule.exports = debounce;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/debounce.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/lodash/isObject.js\":\n/*!*****************************************!*\\\n !*** ./node_modules/lodash/isObject.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"/**\\n * Checks if `value` is the\\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\\n *\\n * @static\\n * @memberOf _\\n * @since 0.1.0\\n * @category Lang\\n * @param {*} value The value to check.\\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\\n * @example\\n *\\n * _.isObject({});\\n * // => true\\n *\\n * _.isObject([1, 2, 3]);\\n * // => true\\n *\\n * _.isObject(_.noop);\\n * // => true\\n *\\n * _.isObject(null);\\n * // => false\\n */\\nfunction isObject(value) {\\n var type = typeof value;\\n return value != null && (type == 'object' || type == 'function');\\n}\\n\\nmodule.exports = isObject;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/isObject.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/lodash/isObjectLike.js\":\n/*!*********************************************!*\\\n !*** ./node_modules/lodash/isObjectLike.js ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"/**\\n * Checks if `value` is object-like. A value is object-like if it's not `null`\\n * and has a `typeof` result of \\\"object\\\".\\n *\\n * @static\\n * @memberOf _\\n * @since 4.0.0\\n * @category Lang\\n * @param {*} value The value to check.\\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\\n * @example\\n *\\n * _.isObjectLike({});\\n * // => true\\n *\\n * _.isObjectLike([1, 2, 3]);\\n * // => true\\n *\\n * _.isObjectLike(_.noop);\\n * // => false\\n *\\n * _.isObjectLike(null);\\n * // => false\\n */\\nfunction isObjectLike(value) {\\n return value != null && typeof value == 'object';\\n}\\n\\nmodule.exports = isObjectLike;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/isObjectLike.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/lodash/isSymbol.js\":\n/*!*****************************************!*\\\n !*** ./node_modules/lodash/isSymbol.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ \\\"./node_modules/lodash/_baseGetTag.js\\\"),\\n isObjectLike = __webpack_require__(/*! ./isObjectLike */ \\\"./node_modules/lodash/isObjectLike.js\\\");\\n\\n/** `Object#toString` result references. */\\nvar symbolTag = '[object Symbol]';\\n\\n/**\\n * Checks if `value` is classified as a `Symbol` primitive or object.\\n *\\n * @static\\n * @memberOf _\\n * @since 4.0.0\\n * @category Lang\\n * @param {*} value The value to check.\\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\\n * @example\\n *\\n * _.isSymbol(Symbol.iterator);\\n * // => true\\n *\\n * _.isSymbol('abc');\\n * // => false\\n */\\nfunction isSymbol(value) {\\n return typeof value == 'symbol' ||\\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\\n}\\n\\nmodule.exports = isSymbol;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/isSymbol.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/lodash/now.js\":\n/*!************************************!*\\\n !*** ./node_modules/lodash/now.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"var root = __webpack_require__(/*! ./_root */ \\\"./node_modules/lodash/_root.js\\\");\\n\\n/**\\n * Gets the timestamp of the number of milliseconds that have elapsed since\\n * the Unix epoch (1 January 1970 00:00:00 UTC).\\n *\\n * @static\\n * @memberOf _\\n * @since 2.4.0\\n * @category Date\\n * @returns {number} Returns the timestamp.\\n * @example\\n *\\n * _.defer(function(stamp) {\\n * console.log(_.now() - stamp);\\n * }, _.now());\\n * // => Logs the number of milliseconds it took for the deferred invocation.\\n */\\nvar now = function() {\\n return root.Date.now();\\n};\\n\\nmodule.exports = now;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/now.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/lodash/toNumber.js\":\n/*!*****************************************!*\\\n !*** ./node_modules/lodash/toNumber.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"var isObject = __webpack_require__(/*! ./isObject */ \\\"./node_modules/lodash/isObject.js\\\"),\\n isSymbol = __webpack_require__(/*! ./isSymbol */ \\\"./node_modules/lodash/isSymbol.js\\\");\\n\\n/** Used as references for various `Number` constants. */\\nvar NAN = 0 / 0;\\n\\n/** Used to match leading and trailing whitespace. */\\nvar reTrim = /^\\\\s+|\\\\s+$/g;\\n\\n/** Used to detect bad signed hexadecimal string values. */\\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\\n\\n/** Used to detect binary string values. */\\nvar reIsBinary = /^0b[01]+$/i;\\n\\n/** Used to detect octal string values. */\\nvar reIsOctal = /^0o[0-7]+$/i;\\n\\n/** Built-in method references without a dependency on `root`. */\\nvar freeParseInt = parseInt;\\n\\n/**\\n * Converts `value` to a number.\\n *\\n * @static\\n * @memberOf _\\n * @since 4.0.0\\n * @category Lang\\n * @param {*} value The value to process.\\n * @returns {number} Returns the number.\\n * @example\\n *\\n * _.toNumber(3.2);\\n * // => 3.2\\n *\\n * _.toNumber(Number.MIN_VALUE);\\n * // => 5e-324\\n *\\n * _.toNumber(Infinity);\\n * // => Infinity\\n *\\n * _.toNumber('3.2');\\n * // => 3.2\\n */\\nfunction toNumber(value) {\\n if (typeof value == 'number') {\\n return value;\\n }\\n if (isSymbol(value)) {\\n return NAN;\\n }\\n if (isObject(value)) {\\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\\n value = isObject(other) ? (other + '') : other;\\n }\\n if (typeof value != 'string') {\\n return value === 0 ? value : +value;\\n }\\n value = value.replace(reTrim, '');\\n var isBinary = reIsBinary.test(value);\\n return (isBinary || reIsOctal.test(value))\\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\\n : (reIsBadHex.test(value) ? NAN : +value);\\n}\\n\\nmodule.exports = toNumber;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./node_modules/lodash/toNumber.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/webpack/buildin/global.js\":\n/*!***********************************!*\\\n !*** (webpack)/buildin/global.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"var g;\\n\\n// This works in non-strict mode\\ng = (function() {\\n\\treturn this;\\n})();\\n\\ntry {\\n\\t// This works if eval is allowed (see CSP)\\n\\tg = g || new Function(\\\"return this\\\")();\\n} catch (e) {\\n\\t// This works if the window reference is available\\n\\tif (typeof window === \\\"object\\\") g = window;\\n}\\n\\n// g can still be undefined, but nothing to do about it...\\n// We return undefined, instead of nothing here, so it's\\n// easier to handle this case. if(!global) { ...}\\n\\nmodule.exports = g;\\n\\n\\n//# sourceURL=webpack://%5Bname%5DLink/(webpack)/buildin/global.js?\");\n\n/***/ })\n\n/******/ });\n//# sourceMappingURL=expand-toggle.commonjs2.js.map","\"use strict\";\n\nimport debounce from \"lodash/debounce\";\nimport EventEmitter from \"ev-emitter\";\n\n/**\n * Wrap the last X words in an HTML tag to prevent them from wrapping (i.e. orphans)\n * @param {HTMLElement} el - Toggle button DOM node\n * @param {Object} opts - Options\n * @param {string} [opts.expandedClasses=\"\"] - Class(es) to apply when expanded\n * @param {boolean} [opts.shouldToggleHeight=false] - Whether or not to animate height\n * @param {string} [opts.activeToggleText=\"\"] - Expanded state toggle button text\n * @param {boolean} [opts.shouldStartExpanded=false] - Whether menu should start expanded\n * @param {function} [opts.onReady=\"\"] - Ready callback function\n */\nexport default class ExpandToggle extends EventEmitter {\n constructor(el, opts) {\n // Have to call super() first before referencing “this” since we’re extending EventEmitter\n // https://stackoverflow.com/a/43591507/673457\n super();\n\n this.el = el;\n this.targetId = this.el.getAttribute(\"data-expands\");\n this.targetEl = document.getElementById(this.targetId);\n\n // Ensure target element exist before initializing\n if (!this.targetEl) {\n console.warn(`Can’t find expandable target with id “${this.targetId}”`);\n return false;\n }\n\n // Use Object.assign() to merge “opts” object with default values in this.options\n this.options = Object.assign(\n {},\n {\n expandedClasses: \"\", // string, accepts multiple space-separated classes\n shouldToggleHeight: false, // should target element’s height be animated using max-height\n activeToggleText: \"\", // expanded state toggle button text\n shouldStartExpanded: false, // component starts expanded on init\n onReady: null // ready callback function\n },\n opts\n );\n\n // Check for custom expanded class(es)\n this.expandedClasses =\n this.el.getAttribute(\"data-expands-class\") ||\n this.options.expandedClasses;\n\n if (this.expandedClasses.length) {\n // Check if active class string contains multiple classes\n if (this.expandedClasses.indexOf(\" \") > -1) {\n // Convert to array and remove any empty string values\n // caused by having multiple spaces in a row.\n this.expandedClasses = this.expandedClasses\n .split(\" \")\n .filter(n => n.length);\n } else {\n // We still need to convert a single active class to an array\n // so we can use the spread syntax later in classList.add()\n this.expandedClasses = [this.expandedClasses];\n }\n }\n\n // Check if height should be animated\n this.shouldToggleHeight =\n this.el.hasAttribute(\"data-expands-height\") ||\n this.options.shouldToggleHeight;\n\n // Check if component should start expanded\n this.shouldStartExpanded =\n this.el.hasAttribute(\"data-expanded\") || this.options.shouldStartExpanded;\n\n // Check for custom toggle button text to use when expanded\n this.hasActiveText = false;\n this.textEl = this.el.querySelector(\"[data-expands-text]\");\n\n if (this.textEl) {\n this.defaultToggleText = this.textEl.textContent;\n this.activeToggleText =\n this.textEl.getAttribute(\"data-expands-text\") ||\n this.options.activeToggleText;\n this.hasActiveText = !!this.activeToggleText.length;\n }\n\n this.init();\n }\n\n init() {\n // Store state to avoid calling resize handler after component has been destroyed\n this.hasInitialized = true;\n // Accessibility setup\n this.el.setAttribute(\"aria-haspopup\", true);\n this.el.setAttribute(\"aria-expanded\", this.shouldStartExpanded);\n // Omit “aria-controls” for now\n // See https://inclusive-components.design/menus-menu-buttons/#ariacontrols\n // this.el.setAttribute(\"aria-controls\", this.targetId);\n this.targetEl.setAttribute(\"aria-hidden\", !this.shouldStartExpanded);\n\n if (this.el.tagName.toLowerCase() === \"a\") {\n this.el.setAttribute(\"role\", \"button\");\n }\n\n if (this.shouldToggleHeight) {\n this.heightToggleSetup();\n }\n\n // Click event listener on toggle button\n // Note: Callback needs to be assigned to a let so we can remove it since we’re using bind()\n // https://stackoverflow.com/a/22870717/673457\n this.clickHandler = this.toggle.bind(this);\n this.el.addEventListener(\"click\", this.clickHandler);\n\n // Keyboard listeners on toggle button\n this.keydownHandler = this.keyboardEvents.bind(this);\n this.el.addEventListener(\"keydown\", this.keydownHandler);\n\n // Check for onReady callback\n if (typeof this.options.onReady === \"function\") {\n this.options.onReady();\n }\n }\n\n destroy() {\n this.hasInitialized = false;\n\n // Remove event listeners\n this.el.removeEventListener(\"click\", this.clickHandler);\n this.el.removeEventListener(\"keydown\", this.keydownHandler);\n window.removeEventListener(\"resize\", this.resizeHandler);\n\n // Remove aria attributes\n this.el.removeAttribute(\"aria-haspopup\");\n this.el.removeAttribute(\"aria-expanded\");\n this.targetEl.removeAttribute(\"aria-hidden\");\n this.targetEl.style.removeProperty(\"max-height\");\n\n if (this.el.tagName.toLowerCase() === \"a\") {\n this.el.removeAttribute(\"role\");\n }\n\n // Reset toggle text\n if (this.hasActiveText) {\n this.textEl.textContent = this.defaultToggleText;\n }\n\n // Remove custom classes\n if (this.expandedClasses.length) {\n this.el.classList.remove(...this.expandedClasses);\n this.targetEl.classList.remove(...this.expandedClasses);\n }\n\n this.emitEvent(\"destroy\");\n }\n\n keyboardEvents(event) {\n // Expand with down arrow\n if (event.keyCode == 40) {\n this.expand();\n } else if (event.keyCode == 38 || event.keyCode == 27) {\n // Close with up arrow or escape key\n this.collapse();\n }\n }\n\n heightToggleSetup() {\n this.targetParentEl = this.targetEl.parentNode;\n\n // Set max-height to the expanded height so we can animate it.\n window.requestAnimationFrame(this.updateExpandedHeight.bind(this));\n\n this.resizeHandler = debounce(event => {\n // Due to debounce() it’s possible for this to run after destroy() has been called.\n // To avoid this edge case, check “this.hasInitialized” first.\n if (this.hasInitialized) {\n window.requestAnimationFrame(this.updateExpandedHeight.bind(this));\n }\n }, 100).bind(this);\n\n // Update target element’s max-height on resize\n window.addEventListener(\"resize\", this.resizeHandler);\n }\n\n // Set max-height of target element to its expanded height without triggering relayout.\n //\n // This technique works by creating an absolutely-positioned invisible clone of the target\n // element and calculating its height. This avoids any relayout that would otherwise occur\n // if the element was briefly expanded so we could measure it.\n //\n // Note: We’re using CSS to transition max-height instead jQuery’s slideToggle(),\n // or another 3rd-party lib like Velocity.js, to avoid loading a large lib.\n updateExpandedHeight() {\n // Get width of original element so we can apply it to the clone\n let nodeWidth = Math.round(parseFloat(this.targetEl.offsetWidth));\n\n // Create clone of node\n let cloneEl = this.targetEl.cloneNode(true); // 'true' includes child nodes\n\n // Inline styles added to prevent reflow, ensure clone is same size as expanded element\n cloneEl.style.cssText = `max-height: none !important; position: absolute !important; right: 100% !important; visibility: hidden !important; width: ${nodeWidth}px !important; -webkit-transition: none !important; -moz-transition: none !important; transition: none !important`;\n\n // Update “aria-hidden” attribute\n cloneEl.setAttribute(\"aria-hidden\", false);\n\n // Remove id just to be safe\n cloneEl.removeAttribute(\"id\");\n\n // Remove “name” attributes to prevent resetting checkbox or radio elements\n let childElsWithId = cloneEl.querySelectorAll(\"[name]\");\n\n // IE-friendly way of iterating over a NodeList\n Array.prototype.forEach.call(childElsWithId, el => {\n el.removeAttribute(\"name\");\n });\n\n // Append clone to document, save as new let so we can remove it later\n let newEl = this.targetParentEl.insertBefore(cloneEl, this.targetEl);\n\n // Calculate height\n let expandedHeight = Math.round(parseFloat(newEl.offsetHeight));\n\n // Remove cloned node to clean up after ourselves\n this.targetParentEl.removeChild(newEl);\n\n // Apply inline max-height to collapsed element\n // Note: CSS is overriding this when aria-hidden=\"true\"\n this.targetEl.style.maxHeight = expandedHeight + \"px\";\n }\n\n expand(event) {\n // Update toggle text\n if (this.hasActiveText) {\n this.textEl.textContent = this.activeToggleText;\n }\n\n // Add classes\n if (this.expandedClasses.length) {\n this.el.classList.add(...this.expandedClasses);\n this.targetEl.classList.add(...this.expandedClasses);\n }\n\n // Update aria attributes\n this.el.setAttribute(\"aria-expanded\", true);\n this.targetEl.setAttribute(\"aria-hidden\", false);\n\n // Emit event and include original event as an argument\n this.emitEvent(\"expand\", event);\n }\n\n collapse(event) {\n // Update toggle text\n if (this.hasActiveText) {\n this.textEl.textContent = this.defaultToggleText;\n }\n\n // Remove classes\n if (this.expandedClasses.length) {\n this.el.classList.remove(...this.expandedClasses);\n this.targetEl.classList.remove(...this.expandedClasses);\n }\n\n // Update aria attributes\n this.el.setAttribute(\"aria-expanded\", false);\n this.targetEl.setAttribute(\"aria-hidden\", true);\n\n // Emit event and include original event as an argument\n this.emitEvent(\"collapse\", event);\n }\n\n toggle(event) {\n // Prevent default in case toggle element is a link instead of a button\n event.preventDefault();\n\n if (this.el.getAttribute(\"aria-expanded\") === \"true\") {\n this.collapse(event);\n } else {\n this.expand(event);\n }\n }\n}\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n !*** ./src/index.js ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n value: true\\n});\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _utils = __webpack_require__(/*! ./utils */ \\\"./src/utils.js\\\");\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\n/**\\n * Wrap the last X words in an HTML tag to prevent them from wrapping (i.e. orphans)\\n * @param {HTMLElement} el - Target DOM node\\n * @param {Object} opts - Options\\n * @param {number} [opts.wordCount=2] - Minimum number of words required to wrap to a new line\\n * @param {string} [opts.wrapEl=span] - Tag name to use for the wrapper element\\n * @param {boolean} [opts.inlineStyles=true] - Add “white-space: nowrap;” to elements as inline style\\n * @param {string} [opts.className=u-nowrap] - Class name to apply to wrapper element\\n * @param {string} [opts.append] - Any arbitrary string or HTML to append inside of the wrapper element\\n */\\nvar Unorphanize = function () {\\n function Unorphanize(el, opts) {\\n _classCallCheck(this, Unorphanize);\\n\\n this.el = el;\\n\\n try {\\n // Note: Using textContent instead of innerText avoids a reflow but includes text hidden by CSS.\\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent#Differences_from_innerText\\n this.origText = this.el.textContent;\\n this.childNodes = this.el.children;\\n } catch (e) {\\n throw Error('Unorphanize: Constructor requires a DOM node object');\\n }\\n\\n // Exit if el is undefined or has no content\\n if (el.innerHTML.trim().length === 0) {\\n console.warn('Unorphanize: Element contains no text or child nodes');\\n }\\n\\n // Use Object.assign() to merge “options” object with default values object\\n this.options = Object.assign({}, {\\n wordCount: 2, // accepts any integer\\n wrapEl: \\\"span\\\", // accepts any tag name\\n inlineStyles: true, // will add “white-space: nowrap;” to wrapper el\\n className: \\\"\\\", // accepts any valid class name\\n append: \\\"\\\" // accepts any arbitrary HTML\\n }, opts);\\n\\n // Convert to integer\\n this.options.wordCount = parseInt(this.options.wordCount, 10);\\n\\n // Default to 2 if non-integer value was passed\\n if (isNaN(this.options.wordCount)) {\\n this.options.wordCount = 2;\\n }\\n\\n // Subtract 1 of an “append” string was passed\\n if (this.options.append.length) {\\n this.options.wordCount -= 1;\\n }\\n\\n // If no children, use simple method that doesn’t account for child nodes\\n if (this.childNodes.length === 0) {\\n // Update target element with new HTML\\n this.el.innerHTML = (0, _utils.wrapPlainTextWords)(this.origText, this.options);\\n // console.log(\\\"No children \\\\n\\\", this.el.outerHTML.replace(/\\\\r?\\\\n|\\\\r/g,\\\" \\\"));\\n } else {\\n // If there are child nodes, we must use more advanced logic\\n this.wrapRichText();\\n }\\n }\\n\\n /**\\n * Parse child node text and adjacent strings, update variables\\n * @param {HTMLElement} childEl - Child node\\n */\\n\\n\\n _createClass(Unorphanize, [{\\n key: \\\"updateChildNodeVars\\\",\\n value: function updateChildNodeVars() {\\n this.childHtml = this.childEl.outerHTML;\\n\\n // Use split to find text before and after the child\\n this.currentChildSplit = this.el.innerHTML.split(this.childHtml);\\n this.textBeforeChild = this.currentChildSplit[0];\\n this.textAfterChild = this.currentChildSplit[1] || \\\"\\\";\\n\\n // For every child after the first, we don’t want to re-count the words\\n // from the previous child and any text to the right of it. We determine\\n // where this is by searching for the first “<” character.\\n this.markupIndex = this.textAfterChild.indexOf(\\\"<\\\");\\n\\n // Get just the text after the child, but before any previously evaluated children.\\n this.plainText = this.markupIndex > -1 ? this.textAfterChild.substring(0, this.markupIndex) : this.textAfterChild;\\n\\n // Save the previously evaluated markup to add back later\\n this.previousString = this.markupIndex > -1 ? this.textAfterChild.substring(this.markupIndex) : \\\"\\\";\\n\\n // Save the child node text\\n this.childText = this.childEl.textContent.trim();\\n\\n // Count words in child node (if no text, count as 1 word, e.g. svg or img tag)\\n this.childWordCount = this.childText.length ? this.childText.trim().split(\\\" \\\").length : 1;\\n\\n // Convert plain text to array, fallback to null if no text\\n // Note: A string of whitespce returns 1 for this.plainText.trim().split(\\\" \\\"),\\n // so check the trimmed length and set to null if it’s all whitespce.\\n this.plainTextWords = this.plainText.trim().length ? this.plainText.trim().split(\\\" \\\") : null;\\n\\n // Count words after child, not including previously evaluated text\\n this.plainTextWordCount = this.plainTextWords !== null ? this.plainTextWords.length : 0;\\n\\n // If the plain text doesn’t start with a space, treat the first words as part of the child element’s last word.\\n this.partialWord = \\\"\\\";\\n\\n if (this.plainTextWordCount > 0 && this.plainText.search(/\\\\S/) === 0) {\\n // Save partial word string, remove from plainTextWords array\\n this.partialWord = this.plainTextWords.shift();\\n // Subtract 1 from plain text word count\\n this.plainTextWordCount--;\\n }\\n }\\n\\n // Format text before the first child\\n\\n }, {\\n key: \\\"formatTextBeforeFirstChild\\\",\\n value: function formatTextBeforeFirstChild() {\\n // After all the children have been evaluated, check for text before the first child.\\n var elInnerHTML = this.el.innerHTML;\\n var firstChildIndex = elInnerHTML.indexOf(\\\"<\\\");\\n this.textBeforeChild = firstChildIndex > -1 ? elInnerHTML.substring(0, firstChildIndex) : elInnerHTML;\\n\\n // Save the previously evaluated string to add back later\\n var stringAfterText = firstChildIndex > -1 ? elInnerHTML.substring(firstChildIndex) : \\\"\\\";\\n\\n if (this.textBeforeChild.trim().length > 0) {\\n var words = this.textBeforeChild.trim().split(\\\" \\\");\\n\\n if (words.length + this.previousWordCount === this.options.wordCount) {\\n // Prevent entire element from wrapping\\n\\n if (this.options.inlineStyles) {\\n this.el.setAttribute(\\\"style\\\", _utils.nowrapCSS);\\n }\\n\\n if (this.options.className.length) {\\n this.el.classList.add(this.options.className);\\n }\\n\\n // console.log(\\\"Text and children exactly equal word count \\\\n\\\", this.el.outerHTML.replace(/\\\\r?\\\\n|\\\\r/g,\\\" \\\"));\\n return true;\\n } else if (words.length + this.previousWordCount >= this.options.wordCount) {\\n // Get number of additional words needed\\n var wordsNeeded = this.options.wordCount - this.previousWordCount;\\n\\n // Split string into two parts\\n var leftoverText = (0, _utils.getLeadingSpace)(this.textBeforeChild) + words.splice(0, words.length - wordsNeeded).join(\\\" \\\");\\n var textToWrap = words.join(\\\" \\\") + (0, _utils.getTrailingSpace)(this.textBeforeChild);\\n\\n // Update target element HTML\\n this.el.innerHTML = leftoverText + (0, _utils.wrapString)(textToWrap + stringAfterText, this.options);\\n // console.log(\\\"Text and string have more than enough words \\\\n\\\", this.el.outerHTML.replace(/\\\\r?\\\\n|\\\\r/g,\\\" \\\"));\\n return true;\\n }\\n }\\n }\\n\\n // In order to avoid using complex RegEx to parse HTML (see links below),\\n // we’re looping through each child element. The steps are as follows:\\n //\\n // - Check for any text to the right of the current child element.\\n // - If there is text, see how many words there are.\\n // - Check if the first word has a leading space. If not, consider it part\\n // of the previous child element and don’t include in word count.\\n // - If there are at least this.options.wordCount words, use wrapPlainTextWords() on the text.\\n // - If there are not enough words, check the child element’s text.\\n // - If the child has no space after it, consider its last word as part\\n // of the first plain text word to the right, so subtract 1 from word count.\\n // - If the child has exactly enough words, wrap the child and the text\\n // to the right using wrapString().\\n // - If the child has too many words, we can’t safely break it up to wrap just the\\n // desired number of words. Exit and do nothing.\\n // - If the child doesn’t have enough words, move on to the next child.\\n // - If all children have been checked and we still don’t have enough words,\\n // check for any text to the left of the first child.\\n // - If the left text has exactly enough words, add a class of this.options.className (i.e. “u-nowrap”)\\n // - If the left text has too many words, figure out how many we need and wrap along\\n // with the text to the right using wrapString().\\n // - If the left text doens’t have enough words, exit and do nothing.\\n //\\n // Why we’re not using RegEx:\\n // https://blog.codinghorror.com/parsing-html-the-cthulhu-way/\\n // https://stackoverflow.com/a/1732454/673457\\n\\n }, {\\n key: \\\"wrapRichText\\\",\\n value: function wrapRichText() {\\n // Keep track of the number of “words” (includes tags with no text, like SVG)\\n // so we can tell if it’s safe to wrap plain text and child elements together.\\n // For example: `foo bar.` or `foo bar.`\\n this.previousWordCount = 0;\\n\\n for (var i = this.childNodes.length; i > 0; i--) {\\n this.childEl = this.childNodes[i - 1];\\n\\n // Update node text and adjacent string variables\\n this.updateChildNodeVars();\\n\\n // If no plain text, only check the child’s text\\n //------------------------------------------------------------------------\\n if (this.plainTextWordCount === 0) {\\n if (this.childWordCount + this.previousWordCount >= this.options.wordCount) {\\n if (this.previousWordCount === 0) {\\n // If child has no text, wrap it (e.g. an svg/img that we’re appending content to)\\n if (!this.childText.length) {\\n this.childEl.outerHTML = (0, _utils.wrapString)(this.childEl.outerHTML, this.options);\\n } else {\\n // Child has enough words by itself, so we can wrap its inner text\\n this.childEl.innerHTML = (0, _utils.wrapPlainTextWords)(this.childEl.textContent, this.options);\\n }\\n // console.log(\\\"Last child has enough words \\\\n\\\", this.el.outerHTML.replace(/\\\\r?\\\\n|\\\\r/g,\\\" \\\"));\\n return true;\\n } else if (this.childWordCount + this.previousWordCount === this.options.wordCount) {\\n // If the child’s words plus the previous words are exactly enough, wrap both.\\n this.el.innerHTML = this.textBeforeChild + (0, _utils.wrapString)(this.childHtml + this.textAfterChild, this.options);\\n // console.log(\\\"Last child and previous text have exactly enough words \\\\n\\\", this.el.outerHTML.replace(/\\\\r?\\\\n|\\\\r/g,\\\" \\\"));\\n return true;\\n } else if (this.childWordCount + this.previousWordCount > this.options.wordCount) {\\n console.warn(\\\"Unorphanize: Can’t safely prevent orphans on this element \\\\n\\\", this.el);\\n return true;\\n }\\n } else {\\n // Increment this.previousWordCount and continue with for loop\\n // console.log(\\\"Child has too few words, increment this.previousWordCount by\\\", this.childWordCount);\\n this.previousWordCount += this.childWordCount;\\n }\\n }\\n // Text and previous string have exactly enough words\\n //------------------------------------------------------------------------\\n else if (this.plainTextWordCount + this.previousWordCount === this.options.wordCount) {\\n // Update target element HTML\\n this.el.innerHTML = this.textBeforeChild + this.childHtml + (0, _utils.wrapString)(this.plainText + this.previousString, this.options);\\n // console.log(\\\"Text and previous string have exactly enough words \\\\n\\\", this.el.outerHTML.replace(/\\\\r?\\\\n|\\\\r/g,\\\" \\\"));\\n return true;\\n }\\n // Text and previous string have more than enough words\\n //------------------------------------------------------------------------\\n else if (this.plainTextWordCount + this.previousWordCount > this.options.wordCount) {\\n // Get number of additional words needed\\n var wordsNeeded = this.options.wordCount - this.previousWordCount;\\n\\n // Split string into two parts, add back leading/trailing space\\n var leftoverText = (0, _utils.getLeadingSpace)(this.plainText) + this.plainTextWords.splice(0, this.plainTextWordCount - wordsNeeded).join(\\\" \\\");\\n var textToWrap = this.plainTextWords.join(\\\" \\\") + (0, _utils.getTrailingSpace)(this.plainText);\\n\\n // Update target element HTML\\n this.el.innerHTML = this.textBeforeChild + this.childHtml + leftoverText + (0, _utils.wrapString)(textToWrap + this.previousString, this.options);\\n // console.log(\\\"Text and string have more than enough words \\\\n\\\", this.el.outerHTML.replace(/\\\\r?\\\\n|\\\\r/g,\\\" \\\"));\\n return true;\\n }\\n // Child words plus text and previous string have exactly enough words\\n //------------------------------------------------------------------------\\n else if (this.childWordCount + this.plainTextWordCount + this.previousWordCount === this.options.wordCount) {\\n // Update target element HTML\\n this.el.innerHTML = this.textBeforeChild + (0, _utils.wrapString)(this.childHtml + this.plainText + this.previousString, this.options);\\n // console.log(\\\"Child words plus text plus previous text have exactly enough words \\\\n\\\", this.el.outerHTML.replace(/\\\\r?\\\\n|\\\\r/g,\\\" \\\"));\\n return true;\\n }\\n // Child words plus text and previous string have more than enough words\\n //------------------------------------------------------------------------\\n else if (this.childWordCount + this.plainTextWordCount + this.previousWordCount > this.options.wordCount) {\\n console.warn(\\\"Unorphanize: Can’t safely prevent orphans on this element \\\\n\\\", this.el);\\n return true;\\n } else {\\n // Increment this.previousWordCount and continue with for loop\\n this.previousWordCount += this.childWordCount + this.plainTextWordCount;\\n // console.log(\\\"Increment word count to \\\", this.previousWordCount);\\n }\\n }\\n\\n // If we still don’t have enough words to wrap, check for any text before the first child\\n this.formatTextBeforeFirstChild();\\n }\\n }]);\\n\\n return Unorphanize;\\n}();\\n\\nexports.default = Unorphanize;\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./src/index.js?\");\n\n/***/ }),\n\n/***/ \"./src/utils.js\":\n/*!**********************!*\\\n !*** ./src/utils.js ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n value: true\\n});\\nexports.getLeadingSpace = getLeadingSpace;\\nexports.getTrailingSpace = getTrailingSpace;\\nexports.wrapString = wrapString;\\nexports.wrapPlainTextWords = wrapPlainTextWords;\\n// Inlines styles to prevent wrapping\\nvar nowrapCSS = exports.nowrapCSS = \\\"white-space: nowrap !important;\\\";\\n\\n/**\\n * Get leading whitespace of string\\n * @param {string} string - Source string\\n * @return {string} Leading whitespace string\\n */\\nfunction getLeadingSpace(string) {\\n // Return everything before first non-whitespace character\\n return string.substring(0, string.search(/\\\\S/));\\n}\\n\\n/**\\n * Get trailing whitespace\\n * @param {string} string - Source string\\n * @return {string} Trailing whitespace string\\n */\\nfunction getTrailingSpace(string) {\\n var trailingSpaceIndex = string.search(/\\\\s+$/);\\n // RegEx finds 1 or more consecutive spaces at the end of the string\\n return trailingSpaceIndex > -1 ? string.substring(string.search(/\\\\s+$/), string.length) : \\\"\\\";\\n}\\n\\n/**\\n * Wrap entire string in span and return HTML\\n * @param {string} string - Plain text string\\n * @return {string} Source string wrapped in HTML tag\\n */\\nfunction wrapString(string, options) {\\n var classAttr = \\\" class=\\\\\\\"\\\" + options.className + \\\"\\\\\\\"\\\";\\n var styleAttr = \\\" style=\\\\\\\"\\\" + nowrapCSS + \\\"\\\\\\\"\\\";\\n\\n // This unusual syntax formatting avoids adding line breaks to returned string\\n return \\\"\\\\n <\\\" + options.wrapEl + (options.className.length ? classAttr : \\\"\\\") + (options.inlineStyles ? styleAttr : \\\"\\\") + \\\">\\\" + string + options.append + \\\"\\\" + options.wrapEl + \\\">\\\";\\n}\\n\\n/**\\n * Wrap last X words of plain text string in HTML tag\\n * @param {string} text - Plain text string\\n * @return {string} String with last words wrapped in HTML tag\\n */\\nfunction wrapPlainTextWords(text, options) {\\n // Create word array\\n // (trim text to avoid counting leading/trailing spaces)\\n var allWords = text.trim().split(\\\" \\\");\\n\\n // Return original text if not enough words to wrap\\n if (allWords.length < options.wordCount) {\\n return text;\\n }\\n\\n // Find the last X words that should not wrap\\n var lastWords = allWords.splice(allWords.length - options.wordCount, options.wordCount);\\n\\n // Add back leading/trailing space\\n var startString = getLeadingSpace(text) + allWords.join(\\\" \\\");\\n var endString = lastWords.join(\\\" \\\") + getTrailingSpace(text);\\n\\n var classAttr = \\\" class=\\\\\\\"\\\" + options.className + \\\"\\\\\\\"\\\";\\n var styleAttr = \\\" style=\\\\\\\"\\\" + nowrapCSS + \\\"\\\\\\\"\\\";\\n\\n // This unusual syntax formatting avoids adding line breaks to returned string\\n return \\\"\\\\n \\\" + (startString.length ? startString + \\\" \\\" : \\\" \\\") + \\\"<\\\" + options.wrapEl + (options.className.length ? classAttr : \\\"\\\") + (options.inlineStyles ? styleAttr : \\\"\\\") + \\\">\\\" + endString + options.append + \\\"\\\" + options.wrapEl + \\\">\\\";\\n}\\n\\n//# sourceURL=webpack://%5Bname%5DLink/./src/utils.js?\");\n\n/***/ })\n\n/******/ });\n//# sourceMappingURL=unorphanize.commonjs2.js.map","'use strict'\n\nmodule.exports = ansiHTML\n\n// Reference to https://github.com/sindresorhus/ansi-regex\nvar _regANSI = /(?:(?:\\u001b\\[)|\\u009b)(?:(?:[0-9]{1,3})?(?:(?:;[0-9]{0,3})*)?[A-M|f-m])|\\u001b[A-M]/\n\nvar _defColors = {\n reset: ['fff', '000'], // [FOREGROUD_COLOR, BACKGROUND_COLOR]\n black: '000',\n red: 'ff0000',\n green: '209805',\n yellow: 'e8bf03',\n blue: '0000ff',\n magenta: 'ff00ff',\n cyan: '00ffee',\n lightgrey: 'f0f0f0',\n darkgrey: '888'\n}\nvar _styles = {\n 30: 'black',\n 31: 'red',\n 32: 'green',\n 33: 'yellow',\n 34: 'blue',\n 35: 'magenta',\n 36: 'cyan',\n 37: 'lightgrey'\n}\nvar _openTags = {\n '1': 'font-weight:bold', // bold\n '2': 'opacity:0.5', // dim\n '3': '', // italic\n '4': '', // underscore\n '8': 'display:none', // hidden\n '9': '' // delete\n}\nvar _closeTags = {\n '23': '', // reset italic\n '24': '', // reset underscore\n '29': '' // reset delete\n}\n\n;[0, 21, 22, 27, 28, 39, 49].forEach(function (n) {\n _closeTags[n] = ''\n})\n\n/**\n * Converts text with ANSI color codes to HTML markup.\n * @param {String} text\n * @returns {*}\n */\nfunction ansiHTML (text) {\n // Returns the text if the string has no ANSI escape code.\n if (!_regANSI.test(text)) {\n return text\n }\n\n // Cache opened sequence.\n var ansiCodes = []\n // Replace with markup.\n var ret = text.replace(/\\033\\[(\\d+)*m/g, function (match, seq) {\n var ot = _openTags[seq]\n if (ot) {\n // If current sequence has been opened, close it.\n if (!!~ansiCodes.indexOf(seq)) { // eslint-disable-line no-extra-boolean-cast\n ansiCodes.pop()\n return ''\n }\n // Open tag.\n ansiCodes.push(seq)\n return ot[0] === '<' ? ot : ''\n }\n\n var ct = _closeTags[seq]\n if (ct) {\n // Pop sequence\n ansiCodes.pop()\n return ct\n }\n return ''\n })\n\n // Make sure tags are closed.\n var l = ansiCodes.length\n ;(l > 0) && (ret += Array(l + 1).join(''))\n\n return ret\n}\n\n/**\n * Customize colors.\n * @param {Object} colors reference to _defColors\n */\nansiHTML.setColors = function (colors) {\n if (typeof colors !== 'object') {\n throw new Error('`colors` parameter must be an Object.')\n }\n\n var _finalColors = {}\n for (var key in _defColors) {\n var hex = colors.hasOwnProperty(key) ? colors[key] : null\n if (!hex) {\n _finalColors[key] = _defColors[key]\n continue\n }\n if ('reset' === key) {\n if (typeof hex === 'string') {\n hex = [hex]\n }\n if (!Array.isArray(hex) || hex.length === 0 || hex.some(function (h) {\n return typeof h !== 'string'\n })) {\n throw new Error('The value of `' + key + '` property must be an Array and each item could only be a hex string, e.g.: FF0000')\n }\n var defHexColor = _defColors[key]\n if (!hex[0]) {\n hex[0] = defHexColor[0]\n }\n if (hex.length === 1 || !hex[1]) {\n hex = [hex[0]]\n hex.push(defHexColor[1])\n }\n\n hex = hex.slice(0, 2)\n } else if (typeof hex !== 'string') {\n throw new Error('The value of `' + key + '` property must be a hex string, e.g.: FF0000')\n }\n _finalColors[key] = hex\n }\n _setTags(_finalColors)\n}\n\n/**\n * Reset colors.\n */\nansiHTML.reset = function () {\n _setTags(_defColors)\n}\n\n/**\n * Expose tags, including open and close.\n * @type {Object}\n */\nansiHTML.tags = {}\n\nif (Object.defineProperty) {\n Object.defineProperty(ansiHTML.tags, 'open', {\n get: function () { return _openTags }\n })\n Object.defineProperty(ansiHTML.tags, 'close', {\n get: function () { return _closeTags }\n })\n} else {\n ansiHTML.tags.open = _openTags\n ansiHTML.tags.close = _closeTags\n}\n\nfunction _setTags (colors) {\n // reset all\n _openTags['0'] = 'font-weight:normal;opacity:1;color:#' + colors.reset[0] + ';background:#' + colors.reset[1]\n // inverse\n _openTags['7'] = 'color:#' + colors.reset[1] + ';background:#' + colors.reset[0]\n // dark grey\n _openTags['90'] = 'color:#' + colors.darkgrey\n\n for (var code in _styles) {\n var color = _styles[code]\n var oriColor = colors[color] || '000'\n _openTags[code] = 'color:#' + oriColor\n code = parseInt(code)\n _openTags[(code + 10).toString()] = 'background:#' + oriColor\n }\n}\n\nansiHTML.reset()\n","'use strict';\nmodule.exports = function () {\n\treturn /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g;\n};\n","const hotMiddlewareScript = require('webpack-hot-middleware/client?noInfo=true&timeout=20000&reload=true');\n\nhotMiddlewareScript.subscribe(event => {\n if (event.action === 'reload') {\n window.location.reload();\n }\n});\n","//------------------------------------------------------------------------\n// Append icons to links and prevent them from wrapping\n//------------------------------------------------------------------------\n/* eslint-disable quotes */\nimport Unorphanize from '@threespot/unorphanize';\n\nexport default class Icon {\n constructor(el, opts) {\n const fileTypes = ['pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx'];\n const icons = {\n arrow: {\n class: 'icon icon-arrow',\n viewBox: '0 0 24 24',\n width: 18,\n // height: 13, // optionally set the default height\n path: ``\n // customAttrs: '' // optional additional attrs (e.g. fill=\"none\" stroke=\"#fff\" stroke-width=\"1\")\n },\n download: {\n class: 'icon icon-download',\n viewBox: '0 0 20 20',\n width: 18,\n path: ``\n },\n external: {\n class: 'icon icon-external',\n viewBox: '0 0 20 20',\n width: 18,\n path: ``\n }\n };\n\n // Use Object.assign() to merge “opts” object with default values in this.options\n this.options = Object.assign(\n {},\n {\n name: el.getAttribute('data-icon'),// use “none” to only add external or download icons\n shouldSwap: el.hasAttribute('data-icon-swap'),// switch to external or download icon when applicable\n height: el.getAttribute('data-icon-height'),// optional height override\n width: el.getAttribute('data-icon-width'),// optional width override\n },\n opts\n );\n\n // Check if icon exists\n if (!(this.options.name in icons) && this.options.name != 'none') {\n console.warn(`Icon “${this.options.name}” was not found in link-icons.js`, el);\n return false;\n }\n\n // Automatically change the icon if it’s external or a download link\n // NOTE: This is project-specific, edit as needed.\n if (this.options.shouldSwap) {\n // If link is external, use external icon (excluding certain CTA links/buttons below)\n // External link test from https://gist.github.com/jlong/2428561\n var a = document.createElement('a');\n a.href = el.href;\n if (a.hostname !== window.location.hostname) {\n this.options.name = 'external';\n }\n\n // Check if link is a file download\n let fileExt = a.pathname.split('.').pop();\n\n if (fileTypes.indexOf(fileExt) > -1) {\n this.options.name = 'download';\n }\n }\n\n // Exit early if not adding an icon\n if (this.options.name == 'none') {\n return false;\n }\n\n // Create new object for this icon so we can change\n // the dimensions without affecting the defaults.\n const icon = {};\n\n // Copy values from original icons object\n Object.assign(icon, icons[this.options.name]);\n\n // Validate height and width values if present\n // Note: Use unary plus (+) operator to convert strings to numbers\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Unary_plus_()\n if (this.options.height) {\n if (isNaN(+this.options.height)) {\n console.warn(\n `Can’t parse data-icon-height value of “${this.options.height}” on ${el}`\n );\n return false;\n } else {\n icon.height = +this.options.height;\n }\n }\n\n if (this.options.width) {\n if (isNaN(+this.options.width)) {\n console.warn(\n `Can parse data-icon-width value of “${this.options.width}” on ${el}`\n );\n return false;\n } else {\n icon.width = +this.options.width;\n }\n }\n\n // Make sure either the height or width has been defined\n if (!icon.height && !icon.width) {\n console.warn(`No height or width defined for icon “${this.options.name}”`, icon);\n return false;\n }\n\n // Calculate height or width if only one dimension was provided\n // Note: We can’t rely on CSS to resize SVGs in IE11-\n // because IE doesn’t respect the viewBox ratio.\n let viewBoxArr = icon.viewBox.split(' ');\n\n // Validate viewBox value\n if (viewBoxArr.length !== 4) {\n console.warn(\n `Icon “${this.options.name}” has a malformed viewBox attribute: “${icon.viewBox}”`\n );\n return false;\n }\n\n // Calculate aspect ratio\n let aspectRatio = +viewBoxArr[2] / +viewBoxArr[3];\n\n // Calculate height if width was provided\n if (!icon.height && icon.width) {\n icon.height = this.roundSingleDecimal(icon.width / aspectRatio);\n }\n\n // Calculate width if height was provided\n if (!icon.width && icon.height) {\n icon.width = this.roundSingleDecimal(icon.height * aspectRatio);\n }\n\n // Insert the icon using Unorphanize to prevent wrapping\n if (this.options.name != 'none') {\n new Unorphanize(el, {\n inlineStyles: false,\n className: 'u-nowrap',\n append: this.buildSVG(icon)\n });\n }\n }\n\n // Use simple rounding function since we only need one decimal place.\n // This apprach has issues when rounding to more decimal places:\n // e.g. Math.round(1.005 * 100) / 100; // 1 instead of 1.01\n // http://www.jacklmoore.com/notes/rounding-in-javascript/\n //\n // Note: If more decimal places are desired, see this MDN page:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round#A_better_solution\n //\n // function round(number, precision) {\n // var shift = function (number, exponent) {\n // var numArray = ('' + number).split('e');\n // return +(numArray[0] + 'e' + (numArray[1] ? (+numArray[1] + precision) : precision));\n // };\n // return shift(Math.round(shift(number, +exponent)), -exponent);\n // }\n roundSingleDecimal(number) {\n return Math.round(number * 10) / 10;\n }\n\n buildSVG(icon) {\n return `\n `;\n }\n}\n","// Detect input method in order to hide outlines in an accessible manner\n// https://github.com/ten1seven/what-input\n// NOTE: Can drop once Safari supports :focus-visible to save 1.7kB (gzip)\n// https://caniuse.com/css-focus-visible\nimport 'what-input';\n\n// Emit “font-loaded” event so expandable components know to recalc their height\ndocument.fonts.ready.then(function() {\n let fontEvent = new CustomEvent('fonts-loaded');\n document.documentElement.dispatchEvent(fontEvent);\n});\n\n// Mobile nav toggle\nimport mobileNavToggle from './modules/nav-mobile-toggle';\nnew mobileNavToggle('[data-expands=\"nav\"]');\n\n// Nav submenus\nimport subnavMenus from './modules/nav-submenus';\nnew subnavMenus('.Nav [data-expands]');\n\n// Topics Grid\nimport TopicsGridToggle from './modules/topics-grid-toggle';\ndocument.querySelectorAll('.TopicsGrid-toggle').forEach(el => {\n new TopicsGridToggle(el);\n});\n\n// Filters\nimport FiltersToggle from './modules/filters-toggle';\ndocument.querySelectorAll('.Filters-toggle').forEach(el => {\n new FiltersToggle(el);\n});\n\n// Link icons\nimport './modules/link-icons';\n","//------------------------------------------------------------------------\n// Filters toggle (only shown in mobile view)\n//-----------------------------------------------------------------------\n\nimport ExpandToggle from '@threespot/expand-toggle';\n\nexport default class FiltersToggle {\n constructor(el) {\n this.el = el;\n // NOTE: Breakpoint must match $layout-sidebar-bp in _layout-vars.scss\n this.mediaQueryList = window.matchMedia('(min-width: 1024px)');\n\n // Listen for breakpoint change\n this.mediaQueryList.addListener(evt => {\n if (evt.matches) {\n this.destroyToggle();\n } else {\n this.initToggle();\n }\n });\n\n // Init on load\n if (!this.mediaQueryList.matches) {\n this.initToggle();\n }\n }\n\n initToggle() {\n this.toggleExpand = new ExpandToggle(this.el);\n }\n\n destroyToggle() {\n // Checks to see if this.toggleExpand exists\n if (typeof this.toggleExpand !== 'undefined') {\n this.toggleExpand.destroy();\n }\n }\n}\n","//------------------------------------------------------------------------\n// Append icons to links and prevent them from wrapping\n//------------------------------------------------------------------------\nimport Icon from '../lib/link-icons';\n\n// “data-icon” support\ndocument.querySelectorAll('[data-icon]').forEach((el) => {\n new Icon(el);\n});\n\n// Add external icons to richtext links\n// Note: Buttons are handled separately\ndocument.querySelectorAll('.u-richtext > *:not([id^=\"block\"]) a:not(.wp-block-button__link)')\n .forEach((el) => {\n new Icon(el, {\n name: 'none',\n shouldSwap: true\n });\n });\n","//------------------------------------------------------------------------\n// Mobile nav toggle\n//------------------------------------------------------------------------\n// Note: For some reason, the compiled JS causes a Webpack error:\n// “Uncaught TypeError: Getter must be a function: d”\n// so we’re using the uncompiled source code.\nimport ExpandToggle from '@threespot/expand-toggle/index';\n\nexport default class mobileNavToggle {\n constructor(selector) {\n this.el = document.querySelector(selector);\n\n if (!this.el) {\n console.warn(`Unable to initialize nav toggle, no matching element for “${selector}”`);\n return false;\n }\n\n this.resetEvent = new CustomEvent('nav-reset');// used to close subnav menus\n\n // Nav breakpoint should match $layout-nav-bp in _layout-vars.scss\n this.mediaQueryList = window.matchMedia('(min-width: 860px)');\n\n // Listen for breakpoint change\n this.mediaQueryList.addListener(evt => {\n // Emit “nav-reset” event to trigger subnav menus to collapse\n document.documentElement.dispatchEvent(this.resetEvent);\n\n if (evt.matches) {\n this.destroy();\n } else {\n this.init();\n }\n });\n\n // Init on load\n if (!this.mediaQueryList.matches) {\n this.init();\n }\n }\n\n subnavToggleHandler() {\n this.navToggle.updateExpandedHeight();\n }\n\n init() {\n this.navToggle = new ExpandToggle(this.el);\n\n // Update height when submennu is toggled\n document.documentElement.addEventListener('subnav-toggle', this.subnavToggleHandler.bind(this));\n }\n\n destroy() {\n this.navToggle.destroy();\n window.removeEventListener('subnav-toggle', this.subnavToggleHandler);\n }\n}\n","//------------------------------------------------------------------------\n// Main nav submenus\n//------------------------------------------------------------------------\nimport ExpandToggle from '@threespot/expand-toggle';\n\nexport default class subnavMenus {\n constructor(selector) {\n this.toggles = document.querySelectorAll(selector);\n\n if (!this.toggles.length) {\n console.warn(`Unable to initialize subnav menus, no matching elements for “${selector}”`);\n return false;\n }\n\n this.expandables = [];// placeholder\n this.allowMultipleOpen = true;// allow multiple in mobile\n this.subnavToggleEvent = new CustomEvent('subnav-toggle');\n\n // Nav breakpoint should match $layout-nav-bp in _layout-vars.scss\n this.mediaQueryList = window.matchMedia('(min-width: 860px)');\n\n // Listen for breakpoint change, update behavior\n this.mediaQueryList.addListener(evt => {\n if (evt.matches) {\n this.allowMultipleOpen = false;\n } else {\n this.allowMultipleOpen = true;\n }\n });\n\n // Update behavior on load\n if (this.mediaQueryList.matches) {\n this.allowMultipleOpen = false;\n }\n\n // Init toggles\n this.toggles.forEach(el => {\n let toggle = new ExpandToggle(el);\n this.expandables.push(toggle);\n\n // Emit “subnav-toggle” event to update mobile nav dropdown height\n toggle.on('expand', () => {\n document.documentElement.dispatchEvent(this.subnavToggleEvent);\n });\n\n toggle.on('collapse', () => {\n document.documentElement.dispatchEvent(this.subnavToggleEvent);\n });\n });\n\n // Collapse toggle when switching between mobile and desktop nav layout\n document.documentElement.addEventListener('nav-reset', () => {\n this.expandables.forEach(toggle => {\n toggle.collapse();\n });\n });\n\n // Update height when web fonts have loaded\n document.documentElement.addEventListener('fonts-loaded', () => {\n this.expandables.forEach(toggle => {\n toggle.updateExpandedHeight();\n });\n });\n\n // Close toggles if click outside of them\n window.addEventListener('click', evt => {\n if (!this.allowMultipleOpen && !evt.target.closest('.has-menu')) {\n this.closeMenus();\n }\n });\n\n // Logic to check if only one menu should be open at a time\n this.expandables.forEach((currToggle, currindex) => {\n // Add “expand” event listener to toggles\n // (has to be done after “this.expandables” array has been populated)\n currToggle.on('expand', () => {\n if (!this.allowMultipleOpen) {\n // Close other menus\n this.expandables.forEach((toggle, index) => {\n if (index !== currindex) {\n toggle.collapse();\n }\n });\n }\n });\n });\n }\n\n closeMenus() {\n this.expandables.forEach(toggle => {\n toggle.collapse();\n });\n }\n}\n","//------------------------------------------------------------------------\n// TopicsGrid toggle (only shown in mobile view)\n//-----------------------------------------------------------------------\n\nimport ExpandToggle from '@threespot/expand-toggle';\n\nexport default class TopicsGridToggle {\n constructor(el) {\n this.el = el;\n // NOTE: Breakpoint must match $bp-3-col in _topics-grid.scss\n this.mediaQueryList = window.matchMedia('(min-width: 900px)');\n\n // Listen for breakpoint change\n this.mediaQueryList.addListener(evt => {\n if (evt.matches) {\n this.destroyToggle();\n } else {\n this.initToggle();\n }\n });\n\n // Init on load\n if (!this.mediaQueryList.matches) {\n this.initToggle();\n }\n }\n\n initToggle() {\n this.toggleExpand = new ExpandToggle(this.el);\n }\n\n destroyToggle() {\n // Checks to see if this.toggleExpand exists\n if (typeof this.toggleExpand !== 'undefined') {\n this.toggleExpand.destroy();\n }\n }\n}\n","/**\n * EvEmitter v1.1.0\n * Lil' event emitter\n * MIT License\n */\n\n/* jshint unused: true, undef: true, strict: true */\n\n( function( global, factory ) {\n // universal module definition\n /* jshint strict: false */ /* globals define, module, window */\n if ( typeof define == 'function' && define.amd ) {\n // AMD - RequireJS\n define( factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS - Browserify, Webpack\n module.exports = factory();\n } else {\n // Browser globals\n global.EvEmitter = factory();\n }\n\n}( typeof window != 'undefined' ? window : this, function() {\n\n\"use strict\";\n\nfunction EvEmitter() {}\n\nvar proto = EvEmitter.prototype;\n\nproto.on = function( eventName, listener ) {\n if ( !eventName || !listener ) {\n return;\n }\n // set events hash\n var events = this._events = this._events || {};\n // set listeners array\n var listeners = events[ eventName ] = events[ eventName ] || [];\n // only add once\n if ( listeners.indexOf( listener ) == -1 ) {\n listeners.push( listener );\n }\n\n return this;\n};\n\nproto.once = function( eventName, listener ) {\n if ( !eventName || !listener ) {\n return;\n }\n // add event\n this.on( eventName, listener );\n // set once flag\n // set onceEvents hash\n var onceEvents = this._onceEvents = this._onceEvents || {};\n // set onceListeners object\n var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};\n // set flag\n onceListeners[ listener ] = true;\n\n return this;\n};\n\nproto.off = function( eventName, listener ) {\n var listeners = this._events && this._events[ eventName ];\n if ( !listeners || !listeners.length ) {\n return;\n }\n var index = listeners.indexOf( listener );\n if ( index != -1 ) {\n listeners.splice( index, 1 );\n }\n\n return this;\n};\n\nproto.emitEvent = function( eventName, args ) {\n var listeners = this._events && this._events[ eventName ];\n if ( !listeners || !listeners.length ) {\n return;\n }\n // copy over to avoid interference if .off() in listener\n listeners = listeners.slice(0);\n args = args || [];\n // once stuff\n var onceListeners = this._onceEvents && this._onceEvents[ eventName ];\n\n for ( var i=0; i < listeners.length; i++ ) {\n var listener = listeners[i]\n var isOnce = onceListeners && onceListeners[ listener ];\n if ( isOnce ) {\n // remove listener\n // remove before trigger to prevent recursion\n this.off( eventName, listener );\n // unset once flag\n delete onceListeners[ listener ];\n }\n // trigger listener\n listener.apply( this, args );\n }\n\n return this;\n};\n\nproto.allOff = function() {\n delete this._events;\n delete this._onceEvents;\n};\n\nreturn EvEmitter;\n\n}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar surrogate_pairs_1 = require(\"./surrogate-pairs\");\nvar HTML_ALPHA = ['apos', 'nbsp', 'iexcl', 'cent', 'pound', 'curren', 'yen', 'brvbar', 'sect', 'uml', 'copy', 'ordf', 'laquo', 'not', 'shy', 'reg', 'macr', 'deg', 'plusmn', 'sup2', 'sup3', 'acute', 'micro', 'para', 'middot', 'cedil', 'sup1', 'ordm', 'raquo', 'frac14', 'frac12', 'frac34', 'iquest', 'Agrave', 'Aacute', 'Acirc', 'Atilde', 'Auml', 'Aring', 'AElig', 'Ccedil', 'Egrave', 'Eacute', 'Ecirc', 'Euml', 'Igrave', 'Iacute', 'Icirc', 'Iuml', 'ETH', 'Ntilde', 'Ograve', 'Oacute', 'Ocirc', 'Otilde', 'Ouml', 'times', 'Oslash', 'Ugrave', 'Uacute', 'Ucirc', 'Uuml', 'Yacute', 'THORN', 'szlig', 'agrave', 'aacute', 'acirc', 'atilde', 'auml', 'aring', 'aelig', 'ccedil', 'egrave', 'eacute', 'ecirc', 'euml', 'igrave', 'iacute', 'icirc', 'iuml', 'eth', 'ntilde', 'ograve', 'oacute', 'ocirc', 'otilde', 'ouml', 'divide', 'oslash', 'ugrave', 'uacute', 'ucirc', 'uuml', 'yacute', 'thorn', 'yuml', 'quot', 'amp', 'lt', 'gt', 'OElig', 'oelig', 'Scaron', 'scaron', 'Yuml', 'circ', 'tilde', 'ensp', 'emsp', 'thinsp', 'zwnj', 'zwj', 'lrm', 'rlm', 'ndash', 'mdash', 'lsquo', 'rsquo', 'sbquo', 'ldquo', 'rdquo', 'bdquo', 'dagger', 'Dagger', 'permil', 'lsaquo', 'rsaquo', 'euro', 'fnof', 'Alpha', 'Beta', 'Gamma', 'Delta', 'Epsilon', 'Zeta', 'Eta', 'Theta', 'Iota', 'Kappa', 'Lambda', 'Mu', 'Nu', 'Xi', 'Omicron', 'Pi', 'Rho', 'Sigma', 'Tau', 'Upsilon', 'Phi', 'Chi', 'Psi', 'Omega', 'alpha', 'beta', 'gamma', 'delta', 'epsilon', 'zeta', 'eta', 'theta', 'iota', 'kappa', 'lambda', 'mu', 'nu', 'xi', 'omicron', 'pi', 'rho', 'sigmaf', 'sigma', 'tau', 'upsilon', 'phi', 'chi', 'psi', 'omega', 'thetasym', 'upsih', 'piv', 'bull', 'hellip', 'prime', 'Prime', 'oline', 'frasl', 'weierp', 'image', 'real', 'trade', 'alefsym', 'larr', 'uarr', 'rarr', 'darr', 'harr', 'crarr', 'lArr', 'uArr', 'rArr', 'dArr', 'hArr', 'forall', 'part', 'exist', 'empty', 'nabla', 'isin', 'notin', 'ni', 'prod', 'sum', 'minus', 'lowast', 'radic', 'prop', 'infin', 'ang', 'and', 'or', 'cap', 'cup', 'int', 'there4', 'sim', 'cong', 'asymp', 'ne', 'equiv', 'le', 'ge', 'sub', 'sup', 'nsub', 'sube', 'supe', 'oplus', 'otimes', 'perp', 'sdot', 'lceil', 'rceil', 'lfloor', 'rfloor', 'lang', 'rang', 'loz', 'spades', 'clubs', 'hearts', 'diams'];\nvar HTML_CODES = [39, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 34, 38, 60, 62, 338, 339, 352, 353, 376, 710, 732, 8194, 8195, 8201, 8204, 8205, 8206, 8207, 8211, 8212, 8216, 8217, 8218, 8220, 8221, 8222, 8224, 8225, 8240, 8249, 8250, 8364, 402, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935, 936, 937, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 977, 978, 982, 8226, 8230, 8242, 8243, 8254, 8260, 8472, 8465, 8476, 8482, 8501, 8592, 8593, 8594, 8595, 8596, 8629, 8656, 8657, 8658, 8659, 8660, 8704, 8706, 8707, 8709, 8711, 8712, 8713, 8715, 8719, 8721, 8722, 8727, 8730, 8733, 8734, 8736, 8743, 8744, 8745, 8746, 8747, 8756, 8764, 8773, 8776, 8800, 8801, 8804, 8805, 8834, 8835, 8836, 8838, 8839, 8853, 8855, 8869, 8901, 8968, 8969, 8970, 8971, 9001, 9002, 9674, 9824, 9827, 9829, 9830];\nvar alphaIndex = {};\nvar numIndex = {};\n(function () {\n var i = 0;\n var length = HTML_ALPHA.length;\n while (i < length) {\n var a = HTML_ALPHA[i];\n var c = HTML_CODES[i];\n alphaIndex[a] = String.fromCharCode(c);\n numIndex[c] = a;\n i++;\n }\n})();\nvar Html4Entities = /** @class */ (function () {\n function Html4Entities() {\n }\n Html4Entities.prototype.decode = function (str) {\n if (!str || !str.length) {\n return '';\n }\n return str.replace(/&(#?[\\w\\d]+);?/g, function (s, entity) {\n var chr;\n if (entity.charAt(0) === \"#\") {\n var code = entity.charAt(1).toLowerCase() === 'x' ?\n parseInt(entity.substr(2), 16) :\n parseInt(entity.substr(1));\n if (!isNaN(code) || code >= -32768) {\n if (code <= 65535) {\n chr = String.fromCharCode(code);\n }\n else {\n chr = surrogate_pairs_1.fromCodePoint(code);\n }\n }\n }\n else {\n chr = alphaIndex[entity];\n }\n return chr || s;\n });\n };\n Html4Entities.decode = function (str) {\n return new Html4Entities().decode(str);\n };\n Html4Entities.prototype.encode = function (str) {\n if (!str || !str.length) {\n return '';\n }\n var strLength = str.length;\n var result = '';\n var i = 0;\n while (i < strLength) {\n var alpha = numIndex[str.charCodeAt(i)];\n result += alpha ? \"&\" + alpha + \";\" : str.charAt(i);\n i++;\n }\n return result;\n };\n Html4Entities.encode = function (str) {\n return new Html4Entities().encode(str);\n };\n Html4Entities.prototype.encodeNonUTF = function (str) {\n if (!str || !str.length) {\n return '';\n }\n var strLength = str.length;\n var result = '';\n var i = 0;\n while (i < strLength) {\n var cc = str.charCodeAt(i);\n var alpha = numIndex[cc];\n if (alpha) {\n result += \"&\" + alpha + \";\";\n }\n else if (cc < 32 || cc > 126) {\n if (cc >= surrogate_pairs_1.highSurrogateFrom && cc <= surrogate_pairs_1.highSurrogateTo) {\n result += '' + surrogate_pairs_1.getCodePoint(str, i) + ';';\n i++;\n }\n else {\n result += '' + cc + ';';\n }\n }\n else {\n result += str.charAt(i);\n }\n i++;\n }\n return result;\n };\n Html4Entities.encodeNonUTF = function (str) {\n return new Html4Entities().encodeNonUTF(str);\n };\n Html4Entities.prototype.encodeNonASCII = function (str) {\n if (!str || !str.length) {\n return '';\n }\n var strLength = str.length;\n var result = '';\n var i = 0;\n while (i < strLength) {\n var c = str.charCodeAt(i);\n if (c <= 255) {\n result += str[i++];\n continue;\n }\n if (c >= surrogate_pairs_1.highSurrogateFrom && c <= surrogate_pairs_1.highSurrogateTo) {\n result += '' + surrogate_pairs_1.getCodePoint(str, i) + ';';\n i++;\n }\n else {\n result += '' + c + ';';\n }\n i++;\n }\n return result;\n };\n Html4Entities.encodeNonASCII = function (str) {\n return new Html4Entities().encodeNonASCII(str);\n };\n return Html4Entities;\n}());\nexports.Html4Entities = Html4Entities;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar surrogate_pairs_1 = require(\"./surrogate-pairs\");\nvar ENTITIES = [['Aacute', [193]], ['aacute', [225]], ['Abreve', [258]], ['abreve', [259]], ['ac', [8766]], ['acd', [8767]], ['acE', [8766, 819]], ['Acirc', [194]], ['acirc', [226]], ['acute', [180]], ['Acy', [1040]], ['acy', [1072]], ['AElig', [198]], ['aelig', [230]], ['af', [8289]], ['Afr', [120068]], ['afr', [120094]], ['Agrave', [192]], ['agrave', [224]], ['alefsym', [8501]], ['aleph', [8501]], ['Alpha', [913]], ['alpha', [945]], ['Amacr', [256]], ['amacr', [257]], ['amalg', [10815]], ['amp', [38]], ['AMP', [38]], ['andand', [10837]], ['And', [10835]], ['and', [8743]], ['andd', [10844]], ['andslope', [10840]], ['andv', [10842]], ['ang', [8736]], ['ange', [10660]], ['angle', [8736]], ['angmsdaa', [10664]], ['angmsdab', [10665]], ['angmsdac', [10666]], ['angmsdad', [10667]], ['angmsdae', [10668]], ['angmsdaf', [10669]], ['angmsdag', [10670]], ['angmsdah', [10671]], ['angmsd', [8737]], ['angrt', [8735]], ['angrtvb', [8894]], ['angrtvbd', [10653]], ['angsph', [8738]], ['angst', [197]], ['angzarr', [9084]], ['Aogon', [260]], ['aogon', [261]], ['Aopf', [120120]], ['aopf', [120146]], ['apacir', [10863]], ['ap', [8776]], ['apE', [10864]], ['ape', [8778]], ['apid', [8779]], ['apos', [39]], ['ApplyFunction', [8289]], ['approx', [8776]], ['approxeq', [8778]], ['Aring', [197]], ['aring', [229]], ['Ascr', [119964]], ['ascr', [119990]], ['Assign', [8788]], ['ast', [42]], ['asymp', [8776]], ['asympeq', [8781]], ['Atilde', [195]], ['atilde', [227]], ['Auml', [196]], ['auml', [228]], ['awconint', [8755]], ['awint', [10769]], ['backcong', [8780]], ['backepsilon', [1014]], ['backprime', [8245]], ['backsim', [8765]], ['backsimeq', [8909]], ['Backslash', [8726]], ['Barv', [10983]], ['barvee', [8893]], ['barwed', [8965]], ['Barwed', [8966]], ['barwedge', [8965]], ['bbrk', [9141]], ['bbrktbrk', [9142]], ['bcong', [8780]], ['Bcy', [1041]], ['bcy', [1073]], ['bdquo', [8222]], ['becaus', [8757]], ['because', [8757]], ['Because', [8757]], ['bemptyv', [10672]], ['bepsi', [1014]], ['bernou', [8492]], ['Bernoullis', [8492]], ['Beta', [914]], ['beta', [946]], ['beth', [8502]], ['between', [8812]], ['Bfr', [120069]], ['bfr', [120095]], ['bigcap', [8898]], ['bigcirc', [9711]], ['bigcup', [8899]], ['bigodot', [10752]], ['bigoplus', [10753]], ['bigotimes', [10754]], ['bigsqcup', [10758]], ['bigstar', [9733]], ['bigtriangledown', [9661]], ['bigtriangleup', [9651]], ['biguplus', [10756]], ['bigvee', [8897]], ['bigwedge', [8896]], ['bkarow', [10509]], ['blacklozenge', [10731]], ['blacksquare', [9642]], ['blacktriangle', [9652]], ['blacktriangledown', [9662]], ['blacktriangleleft', [9666]], ['blacktriangleright', [9656]], ['blank', [9251]], ['blk12', [9618]], ['blk14', [9617]], ['blk34', [9619]], ['block', [9608]], ['bne', [61, 8421]], ['bnequiv', [8801, 8421]], ['bNot', [10989]], ['bnot', [8976]], ['Bopf', [120121]], ['bopf', [120147]], ['bot', [8869]], ['bottom', [8869]], ['bowtie', [8904]], ['boxbox', [10697]], ['boxdl', [9488]], ['boxdL', [9557]], ['boxDl', [9558]], ['boxDL', [9559]], ['boxdr', [9484]], ['boxdR', [9554]], ['boxDr', [9555]], ['boxDR', [9556]], ['boxh', [9472]], ['boxH', [9552]], ['boxhd', [9516]], ['boxHd', [9572]], ['boxhD', [9573]], ['boxHD', [9574]], ['boxhu', [9524]], ['boxHu', [9575]], ['boxhU', [9576]], ['boxHU', [9577]], ['boxminus', [8863]], ['boxplus', [8862]], ['boxtimes', [8864]], ['boxul', [9496]], ['boxuL', [9563]], ['boxUl', [9564]], ['boxUL', [9565]], ['boxur', [9492]], ['boxuR', [9560]], ['boxUr', [9561]], ['boxUR', [9562]], ['boxv', [9474]], ['boxV', [9553]], ['boxvh', [9532]], ['boxvH', [9578]], ['boxVh', [9579]], ['boxVH', [9580]], ['boxvl', [9508]], ['boxvL', [9569]], ['boxVl', [9570]], ['boxVL', [9571]], ['boxvr', [9500]], ['boxvR', [9566]], ['boxVr', [9567]], ['boxVR', [9568]], ['bprime', [8245]], ['breve', [728]], ['Breve', [728]], ['brvbar', [166]], ['bscr', [119991]], ['Bscr', [8492]], ['bsemi', [8271]], ['bsim', [8765]], ['bsime', [8909]], ['bsolb', [10693]], ['bsol', [92]], ['bsolhsub', [10184]], ['bull', [8226]], ['bullet', [8226]], ['bump', [8782]], ['bumpE', [10926]], ['bumpe', [8783]], ['Bumpeq', [8782]], ['bumpeq', [8783]], ['Cacute', [262]], ['cacute', [263]], ['capand', [10820]], ['capbrcup', [10825]], ['capcap', [10827]], ['cap', [8745]], ['Cap', [8914]], ['capcup', [10823]], ['capdot', [10816]], ['CapitalDifferentialD', [8517]], ['caps', [8745, 65024]], ['caret', [8257]], ['caron', [711]], ['Cayleys', [8493]], ['ccaps', [10829]], ['Ccaron', [268]], ['ccaron', [269]], ['Ccedil', [199]], ['ccedil', [231]], ['Ccirc', [264]], ['ccirc', [265]], ['Cconint', [8752]], ['ccups', [10828]], ['ccupssm', [10832]], ['Cdot', [266]], ['cdot', [267]], ['cedil', [184]], ['Cedilla', [184]], ['cemptyv', [10674]], ['cent', [162]], ['centerdot', [183]], ['CenterDot', [183]], ['cfr', [120096]], ['Cfr', [8493]], ['CHcy', [1063]], ['chcy', [1095]], ['check', [10003]], ['checkmark', [10003]], ['Chi', [935]], ['chi', [967]], ['circ', [710]], ['circeq', [8791]], ['circlearrowleft', [8634]], ['circlearrowright', [8635]], ['circledast', [8859]], ['circledcirc', [8858]], ['circleddash', [8861]], ['CircleDot', [8857]], ['circledR', [174]], ['circledS', [9416]], ['CircleMinus', [8854]], ['CirclePlus', [8853]], ['CircleTimes', [8855]], ['cir', [9675]], ['cirE', [10691]], ['cire', [8791]], ['cirfnint', [10768]], ['cirmid', [10991]], ['cirscir', [10690]], ['ClockwiseContourIntegral', [8754]], ['clubs', [9827]], ['clubsuit', [9827]], ['colon', [58]], ['Colon', [8759]], ['Colone', [10868]], ['colone', [8788]], ['coloneq', [8788]], ['comma', [44]], ['commat', [64]], ['comp', [8705]], ['compfn', [8728]], ['complement', [8705]], ['complexes', [8450]], ['cong', [8773]], ['congdot', [10861]], ['Congruent', [8801]], ['conint', [8750]], ['Conint', [8751]], ['ContourIntegral', [8750]], ['copf', [120148]], ['Copf', [8450]], ['coprod', [8720]], ['Coproduct', [8720]], ['copy', [169]], ['COPY', [169]], ['copysr', [8471]], ['CounterClockwiseContourIntegral', [8755]], ['crarr', [8629]], ['cross', [10007]], ['Cross', [10799]], ['Cscr', [119966]], ['cscr', [119992]], ['csub', [10959]], ['csube', [10961]], ['csup', [10960]], ['csupe', [10962]], ['ctdot', [8943]], ['cudarrl', [10552]], ['cudarrr', [10549]], ['cuepr', [8926]], ['cuesc', [8927]], ['cularr', [8630]], ['cularrp', [10557]], ['cupbrcap', [10824]], ['cupcap', [10822]], ['CupCap', [8781]], ['cup', [8746]], ['Cup', [8915]], ['cupcup', [10826]], ['cupdot', [8845]], ['cupor', [10821]], ['cups', [8746, 65024]], ['curarr', [8631]], ['curarrm', [10556]], ['curlyeqprec', [8926]], ['curlyeqsucc', [8927]], ['curlyvee', [8910]], ['curlywedge', [8911]], ['curren', [164]], ['curvearrowleft', [8630]], ['curvearrowright', [8631]], ['cuvee', [8910]], ['cuwed', [8911]], ['cwconint', [8754]], ['cwint', [8753]], ['cylcty', [9005]], ['dagger', [8224]], ['Dagger', [8225]], ['daleth', [8504]], ['darr', [8595]], ['Darr', [8609]], ['dArr', [8659]], ['dash', [8208]], ['Dashv', [10980]], ['dashv', [8867]], ['dbkarow', [10511]], ['dblac', [733]], ['Dcaron', [270]], ['dcaron', [271]], ['Dcy', [1044]], ['dcy', [1076]], ['ddagger', [8225]], ['ddarr', [8650]], ['DD', [8517]], ['dd', [8518]], ['DDotrahd', [10513]], ['ddotseq', [10871]], ['deg', [176]], ['Del', [8711]], ['Delta', [916]], ['delta', [948]], ['demptyv', [10673]], ['dfisht', [10623]], ['Dfr', [120071]], ['dfr', [120097]], ['dHar', [10597]], ['dharl', [8643]], ['dharr', [8642]], ['DiacriticalAcute', [180]], ['DiacriticalDot', [729]], ['DiacriticalDoubleAcute', [733]], ['DiacriticalGrave', [96]], ['DiacriticalTilde', [732]], ['diam', [8900]], ['diamond', [8900]], ['Diamond', [8900]], ['diamondsuit', [9830]], ['diams', [9830]], ['die', [168]], ['DifferentialD', [8518]], ['digamma', [989]], ['disin', [8946]], ['div', [247]], ['divide', [247]], ['divideontimes', [8903]], ['divonx', [8903]], ['DJcy', [1026]], ['djcy', [1106]], ['dlcorn', [8990]], ['dlcrop', [8973]], ['dollar', [36]], ['Dopf', [120123]], ['dopf', [120149]], ['Dot', [168]], ['dot', [729]], ['DotDot', [8412]], ['doteq', [8784]], ['doteqdot', [8785]], ['DotEqual', [8784]], ['dotminus', [8760]], ['dotplus', [8724]], ['dotsquare', [8865]], ['doublebarwedge', [8966]], ['DoubleContourIntegral', [8751]], ['DoubleDot', [168]], ['DoubleDownArrow', [8659]], ['DoubleLeftArrow', [8656]], ['DoubleLeftRightArrow', [8660]], ['DoubleLeftTee', [10980]], ['DoubleLongLeftArrow', [10232]], ['DoubleLongLeftRightArrow', [10234]], ['DoubleLongRightArrow', [10233]], ['DoubleRightArrow', [8658]], ['DoubleRightTee', [8872]], ['DoubleUpArrow', [8657]], ['DoubleUpDownArrow', [8661]], ['DoubleVerticalBar', [8741]], ['DownArrowBar', [10515]], ['downarrow', [8595]], ['DownArrow', [8595]], ['Downarrow', [8659]], ['DownArrowUpArrow', [8693]], ['DownBreve', [785]], ['downdownarrows', [8650]], ['downharpoonleft', [8643]], ['downharpoonright', [8642]], ['DownLeftRightVector', [10576]], ['DownLeftTeeVector', [10590]], ['DownLeftVectorBar', [10582]], ['DownLeftVector', [8637]], ['DownRightTeeVector', [10591]], ['DownRightVectorBar', [10583]], ['DownRightVector', [8641]], ['DownTeeArrow', [8615]], ['DownTee', [8868]], ['drbkarow', [10512]], ['drcorn', [8991]], ['drcrop', [8972]], ['Dscr', [119967]], ['dscr', [119993]], ['DScy', [1029]], ['dscy', [1109]], ['dsol', [10742]], ['Dstrok', [272]], ['dstrok', [273]], ['dtdot', [8945]], ['dtri', [9663]], ['dtrif', [9662]], ['duarr', [8693]], ['duhar', [10607]], ['dwangle', [10662]], ['DZcy', [1039]], ['dzcy', [1119]], ['dzigrarr', [10239]], ['Eacute', [201]], ['eacute', [233]], ['easter', [10862]], ['Ecaron', [282]], ['ecaron', [283]], ['Ecirc', [202]], ['ecirc', [234]], ['ecir', [8790]], ['ecolon', [8789]], ['Ecy', [1069]], ['ecy', [1101]], ['eDDot', [10871]], ['Edot', [278]], ['edot', [279]], ['eDot', [8785]], ['ee', [8519]], ['efDot', [8786]], ['Efr', [120072]], ['efr', [120098]], ['eg', [10906]], ['Egrave', [200]], ['egrave', [232]], ['egs', [10902]], ['egsdot', [10904]], ['el', [10905]], ['Element', [8712]], ['elinters', [9191]], ['ell', [8467]], ['els', [10901]], ['elsdot', [10903]], ['Emacr', [274]], ['emacr', [275]], ['empty', [8709]], ['emptyset', [8709]], ['EmptySmallSquare', [9723]], ['emptyv', [8709]], ['EmptyVerySmallSquare', [9643]], ['emsp13', [8196]], ['emsp14', [8197]], ['emsp', [8195]], ['ENG', [330]], ['eng', [331]], ['ensp', [8194]], ['Eogon', [280]], ['eogon', [281]], ['Eopf', [120124]], ['eopf', [120150]], ['epar', [8917]], ['eparsl', [10723]], ['eplus', [10865]], ['epsi', [949]], ['Epsilon', [917]], ['epsilon', [949]], ['epsiv', [1013]], ['eqcirc', [8790]], ['eqcolon', [8789]], ['eqsim', [8770]], ['eqslantgtr', [10902]], ['eqslantless', [10901]], ['Equal', [10869]], ['equals', [61]], ['EqualTilde', [8770]], ['equest', [8799]], ['Equilibrium', [8652]], ['equiv', [8801]], ['equivDD', [10872]], ['eqvparsl', [10725]], ['erarr', [10609]], ['erDot', [8787]], ['escr', [8495]], ['Escr', [8496]], ['esdot', [8784]], ['Esim', [10867]], ['esim', [8770]], ['Eta', [919]], ['eta', [951]], ['ETH', [208]], ['eth', [240]], ['Euml', [203]], ['euml', [235]], ['euro', [8364]], ['excl', [33]], ['exist', [8707]], ['Exists', [8707]], ['expectation', [8496]], ['exponentiale', [8519]], ['ExponentialE', [8519]], ['fallingdotseq', [8786]], ['Fcy', [1060]], ['fcy', [1092]], ['female', [9792]], ['ffilig', [64259]], ['fflig', [64256]], ['ffllig', [64260]], ['Ffr', [120073]], ['ffr', [120099]], ['filig', [64257]], ['FilledSmallSquare', [9724]], ['FilledVerySmallSquare', [9642]], ['fjlig', [102, 106]], ['flat', [9837]], ['fllig', [64258]], ['fltns', [9649]], ['fnof', [402]], ['Fopf', [120125]], ['fopf', [120151]], ['forall', [8704]], ['ForAll', [8704]], ['fork', [8916]], ['forkv', [10969]], ['Fouriertrf', [8497]], ['fpartint', [10765]], ['frac12', [189]], ['frac13', [8531]], ['frac14', [188]], ['frac15', [8533]], ['frac16', [8537]], ['frac18', [8539]], ['frac23', [8532]], ['frac25', [8534]], ['frac34', [190]], ['frac35', [8535]], ['frac38', [8540]], ['frac45', [8536]], ['frac56', [8538]], ['frac58', [8541]], ['frac78', [8542]], ['frasl', [8260]], ['frown', [8994]], ['fscr', [119995]], ['Fscr', [8497]], ['gacute', [501]], ['Gamma', [915]], ['gamma', [947]], ['Gammad', [988]], ['gammad', [989]], ['gap', [10886]], ['Gbreve', [286]], ['gbreve', [287]], ['Gcedil', [290]], ['Gcirc', [284]], ['gcirc', [285]], ['Gcy', [1043]], ['gcy', [1075]], ['Gdot', [288]], ['gdot', [289]], ['ge', [8805]], ['gE', [8807]], ['gEl', [10892]], ['gel', [8923]], ['geq', [8805]], ['geqq', [8807]], ['geqslant', [10878]], ['gescc', [10921]], ['ges', [10878]], ['gesdot', [10880]], ['gesdoto', [10882]], ['gesdotol', [10884]], ['gesl', [8923, 65024]], ['gesles', [10900]], ['Gfr', [120074]], ['gfr', [120100]], ['gg', [8811]], ['Gg', [8921]], ['ggg', [8921]], ['gimel', [8503]], ['GJcy', [1027]], ['gjcy', [1107]], ['gla', [10917]], ['gl', [8823]], ['glE', [10898]], ['glj', [10916]], ['gnap', [10890]], ['gnapprox', [10890]], ['gne', [10888]], ['gnE', [8809]], ['gneq', [10888]], ['gneqq', [8809]], ['gnsim', [8935]], ['Gopf', [120126]], ['gopf', [120152]], ['grave', [96]], ['GreaterEqual', [8805]], ['GreaterEqualLess', [8923]], ['GreaterFullEqual', [8807]], ['GreaterGreater', [10914]], ['GreaterLess', [8823]], ['GreaterSlantEqual', [10878]], ['GreaterTilde', [8819]], ['Gscr', [119970]], ['gscr', [8458]], ['gsim', [8819]], ['gsime', [10894]], ['gsiml', [10896]], ['gtcc', [10919]], ['gtcir', [10874]], ['gt', [62]], ['GT', [62]], ['Gt', [8811]], ['gtdot', [8919]], ['gtlPar', [10645]], ['gtquest', [10876]], ['gtrapprox', [10886]], ['gtrarr', [10616]], ['gtrdot', [8919]], ['gtreqless', [8923]], ['gtreqqless', [10892]], ['gtrless', [8823]], ['gtrsim', [8819]], ['gvertneqq', [8809, 65024]], ['gvnE', [8809, 65024]], ['Hacek', [711]], ['hairsp', [8202]], ['half', [189]], ['hamilt', [8459]], ['HARDcy', [1066]], ['hardcy', [1098]], ['harrcir', [10568]], ['harr', [8596]], ['hArr', [8660]], ['harrw', [8621]], ['Hat', [94]], ['hbar', [8463]], ['Hcirc', [292]], ['hcirc', [293]], ['hearts', [9829]], ['heartsuit', [9829]], ['hellip', [8230]], ['hercon', [8889]], ['hfr', [120101]], ['Hfr', [8460]], ['HilbertSpace', [8459]], ['hksearow', [10533]], ['hkswarow', [10534]], ['hoarr', [8703]], ['homtht', [8763]], ['hookleftarrow', [8617]], ['hookrightarrow', [8618]], ['hopf', [120153]], ['Hopf', [8461]], ['horbar', [8213]], ['HorizontalLine', [9472]], ['hscr', [119997]], ['Hscr', [8459]], ['hslash', [8463]], ['Hstrok', [294]], ['hstrok', [295]], ['HumpDownHump', [8782]], ['HumpEqual', [8783]], ['hybull', [8259]], ['hyphen', [8208]], ['Iacute', [205]], ['iacute', [237]], ['ic', [8291]], ['Icirc', [206]], ['icirc', [238]], ['Icy', [1048]], ['icy', [1080]], ['Idot', [304]], ['IEcy', [1045]], ['iecy', [1077]], ['iexcl', [161]], ['iff', [8660]], ['ifr', [120102]], ['Ifr', [8465]], ['Igrave', [204]], ['igrave', [236]], ['ii', [8520]], ['iiiint', [10764]], ['iiint', [8749]], ['iinfin', [10716]], ['iiota', [8489]], ['IJlig', [306]], ['ijlig', [307]], ['Imacr', [298]], ['imacr', [299]], ['image', [8465]], ['ImaginaryI', [8520]], ['imagline', [8464]], ['imagpart', [8465]], ['imath', [305]], ['Im', [8465]], ['imof', [8887]], ['imped', [437]], ['Implies', [8658]], ['incare', [8453]], ['in', [8712]], ['infin', [8734]], ['infintie', [10717]], ['inodot', [305]], ['intcal', [8890]], ['int', [8747]], ['Int', [8748]], ['integers', [8484]], ['Integral', [8747]], ['intercal', [8890]], ['Intersection', [8898]], ['intlarhk', [10775]], ['intprod', [10812]], ['InvisibleComma', [8291]], ['InvisibleTimes', [8290]], ['IOcy', [1025]], ['iocy', [1105]], ['Iogon', [302]], ['iogon', [303]], ['Iopf', [120128]], ['iopf', [120154]], ['Iota', [921]], ['iota', [953]], ['iprod', [10812]], ['iquest', [191]], ['iscr', [119998]], ['Iscr', [8464]], ['isin', [8712]], ['isindot', [8949]], ['isinE', [8953]], ['isins', [8948]], ['isinsv', [8947]], ['isinv', [8712]], ['it', [8290]], ['Itilde', [296]], ['itilde', [297]], ['Iukcy', [1030]], ['iukcy', [1110]], ['Iuml', [207]], ['iuml', [239]], ['Jcirc', [308]], ['jcirc', [309]], ['Jcy', [1049]], ['jcy', [1081]], ['Jfr', [120077]], ['jfr', [120103]], ['jmath', [567]], ['Jopf', [120129]], ['jopf', [120155]], ['Jscr', [119973]], ['jscr', [119999]], ['Jsercy', [1032]], ['jsercy', [1112]], ['Jukcy', [1028]], ['jukcy', [1108]], ['Kappa', [922]], ['kappa', [954]], ['kappav', [1008]], ['Kcedil', [310]], ['kcedil', [311]], ['Kcy', [1050]], ['kcy', [1082]], ['Kfr', [120078]], ['kfr', [120104]], ['kgreen', [312]], ['KHcy', [1061]], ['khcy', [1093]], ['KJcy', [1036]], ['kjcy', [1116]], ['Kopf', [120130]], ['kopf', [120156]], ['Kscr', [119974]], ['kscr', [120000]], ['lAarr', [8666]], ['Lacute', [313]], ['lacute', [314]], ['laemptyv', [10676]], ['lagran', [8466]], ['Lambda', [923]], ['lambda', [955]], ['lang', [10216]], ['Lang', [10218]], ['langd', [10641]], ['langle', [10216]], ['lap', [10885]], ['Laplacetrf', [8466]], ['laquo', [171]], ['larrb', [8676]], ['larrbfs', [10527]], ['larr', [8592]], ['Larr', [8606]], ['lArr', [8656]], ['larrfs', [10525]], ['larrhk', [8617]], ['larrlp', [8619]], ['larrpl', [10553]], ['larrsim', [10611]], ['larrtl', [8610]], ['latail', [10521]], ['lAtail', [10523]], ['lat', [10923]], ['late', [10925]], ['lates', [10925, 65024]], ['lbarr', [10508]], ['lBarr', [10510]], ['lbbrk', [10098]], ['lbrace', [123]], ['lbrack', [91]], ['lbrke', [10635]], ['lbrksld', [10639]], ['lbrkslu', [10637]], ['Lcaron', [317]], ['lcaron', [318]], ['Lcedil', [315]], ['lcedil', [316]], ['lceil', [8968]], ['lcub', [123]], ['Lcy', [1051]], ['lcy', [1083]], ['ldca', [10550]], ['ldquo', [8220]], ['ldquor', [8222]], ['ldrdhar', [10599]], ['ldrushar', [10571]], ['ldsh', [8626]], ['le', [8804]], ['lE', [8806]], ['LeftAngleBracket', [10216]], ['LeftArrowBar', [8676]], ['leftarrow', [8592]], ['LeftArrow', [8592]], ['Leftarrow', [8656]], ['LeftArrowRightArrow', [8646]], ['leftarrowtail', [8610]], ['LeftCeiling', [8968]], ['LeftDoubleBracket', [10214]], ['LeftDownTeeVector', [10593]], ['LeftDownVectorBar', [10585]], ['LeftDownVector', [8643]], ['LeftFloor', [8970]], ['leftharpoondown', [8637]], ['leftharpoonup', [8636]], ['leftleftarrows', [8647]], ['leftrightarrow', [8596]], ['LeftRightArrow', [8596]], ['Leftrightarrow', [8660]], ['leftrightarrows', [8646]], ['leftrightharpoons', [8651]], ['leftrightsquigarrow', [8621]], ['LeftRightVector', [10574]], ['LeftTeeArrow', [8612]], ['LeftTee', [8867]], ['LeftTeeVector', [10586]], ['leftthreetimes', [8907]], ['LeftTriangleBar', [10703]], ['LeftTriangle', [8882]], ['LeftTriangleEqual', [8884]], ['LeftUpDownVector', [10577]], ['LeftUpTeeVector', [10592]], ['LeftUpVectorBar', [10584]], ['LeftUpVector', [8639]], ['LeftVectorBar', [10578]], ['LeftVector', [8636]], ['lEg', [10891]], ['leg', [8922]], ['leq', [8804]], ['leqq', [8806]], ['leqslant', [10877]], ['lescc', [10920]], ['les', [10877]], ['lesdot', [10879]], ['lesdoto', [10881]], ['lesdotor', [10883]], ['lesg', [8922, 65024]], ['lesges', [10899]], ['lessapprox', [10885]], ['lessdot', [8918]], ['lesseqgtr', [8922]], ['lesseqqgtr', [10891]], ['LessEqualGreater', [8922]], ['LessFullEqual', [8806]], ['LessGreater', [8822]], ['lessgtr', [8822]], ['LessLess', [10913]], ['lesssim', [8818]], ['LessSlantEqual', [10877]], ['LessTilde', [8818]], ['lfisht', [10620]], ['lfloor', [8970]], ['Lfr', [120079]], ['lfr', [120105]], ['lg', [8822]], ['lgE', [10897]], ['lHar', [10594]], ['lhard', [8637]], ['lharu', [8636]], ['lharul', [10602]], ['lhblk', [9604]], ['LJcy', [1033]], ['ljcy', [1113]], ['llarr', [8647]], ['ll', [8810]], ['Ll', [8920]], ['llcorner', [8990]], ['Lleftarrow', [8666]], ['llhard', [10603]], ['lltri', [9722]], ['Lmidot', [319]], ['lmidot', [320]], ['lmoustache', [9136]], ['lmoust', [9136]], ['lnap', [10889]], ['lnapprox', [10889]], ['lne', [10887]], ['lnE', [8808]], ['lneq', [10887]], ['lneqq', [8808]], ['lnsim', [8934]], ['loang', [10220]], ['loarr', [8701]], ['lobrk', [10214]], ['longleftarrow', [10229]], ['LongLeftArrow', [10229]], ['Longleftarrow', [10232]], ['longleftrightarrow', [10231]], ['LongLeftRightArrow', [10231]], ['Longleftrightarrow', [10234]], ['longmapsto', [10236]], ['longrightarrow', [10230]], ['LongRightArrow', [10230]], ['Longrightarrow', [10233]], ['looparrowleft', [8619]], ['looparrowright', [8620]], ['lopar', [10629]], ['Lopf', [120131]], ['lopf', [120157]], ['loplus', [10797]], ['lotimes', [10804]], ['lowast', [8727]], ['lowbar', [95]], ['LowerLeftArrow', [8601]], ['LowerRightArrow', [8600]], ['loz', [9674]], ['lozenge', [9674]], ['lozf', [10731]], ['lpar', [40]], ['lparlt', [10643]], ['lrarr', [8646]], ['lrcorner', [8991]], ['lrhar', [8651]], ['lrhard', [10605]], ['lrm', [8206]], ['lrtri', [8895]], ['lsaquo', [8249]], ['lscr', [120001]], ['Lscr', [8466]], ['lsh', [8624]], ['Lsh', [8624]], ['lsim', [8818]], ['lsime', [10893]], ['lsimg', [10895]], ['lsqb', [91]], ['lsquo', [8216]], ['lsquor', [8218]], ['Lstrok', [321]], ['lstrok', [322]], ['ltcc', [10918]], ['ltcir', [10873]], ['lt', [60]], ['LT', [60]], ['Lt', [8810]], ['ltdot', [8918]], ['lthree', [8907]], ['ltimes', [8905]], ['ltlarr', [10614]], ['ltquest', [10875]], ['ltri', [9667]], ['ltrie', [8884]], ['ltrif', [9666]], ['ltrPar', [10646]], ['lurdshar', [10570]], ['luruhar', [10598]], ['lvertneqq', [8808, 65024]], ['lvnE', [8808, 65024]], ['macr', [175]], ['male', [9794]], ['malt', [10016]], ['maltese', [10016]], ['Map', [10501]], ['map', [8614]], ['mapsto', [8614]], ['mapstodown', [8615]], ['mapstoleft', [8612]], ['mapstoup', [8613]], ['marker', [9646]], ['mcomma', [10793]], ['Mcy', [1052]], ['mcy', [1084]], ['mdash', [8212]], ['mDDot', [8762]], ['measuredangle', [8737]], ['MediumSpace', [8287]], ['Mellintrf', [8499]], ['Mfr', [120080]], ['mfr', [120106]], ['mho', [8487]], ['micro', [181]], ['midast', [42]], ['midcir', [10992]], ['mid', [8739]], ['middot', [183]], ['minusb', [8863]], ['minus', [8722]], ['minusd', [8760]], ['minusdu', [10794]], ['MinusPlus', [8723]], ['mlcp', [10971]], ['mldr', [8230]], ['mnplus', [8723]], ['models', [8871]], ['Mopf', [120132]], ['mopf', [120158]], ['mp', [8723]], ['mscr', [120002]], ['Mscr', [8499]], ['mstpos', [8766]], ['Mu', [924]], ['mu', [956]], ['multimap', [8888]], ['mumap', [8888]], ['nabla', [8711]], ['Nacute', [323]], ['nacute', [324]], ['nang', [8736, 8402]], ['nap', [8777]], ['napE', [10864, 824]], ['napid', [8779, 824]], ['napos', [329]], ['napprox', [8777]], ['natural', [9838]], ['naturals', [8469]], ['natur', [9838]], ['nbsp', [160]], ['nbump', [8782, 824]], ['nbumpe', [8783, 824]], ['ncap', [10819]], ['Ncaron', [327]], ['ncaron', [328]], ['Ncedil', [325]], ['ncedil', [326]], ['ncong', [8775]], ['ncongdot', [10861, 824]], ['ncup', [10818]], ['Ncy', [1053]], ['ncy', [1085]], ['ndash', [8211]], ['nearhk', [10532]], ['nearr', [8599]], ['neArr', [8663]], ['nearrow', [8599]], ['ne', [8800]], ['nedot', [8784, 824]], ['NegativeMediumSpace', [8203]], ['NegativeThickSpace', [8203]], ['NegativeThinSpace', [8203]], ['NegativeVeryThinSpace', [8203]], ['nequiv', [8802]], ['nesear', [10536]], ['nesim', [8770, 824]], ['NestedGreaterGreater', [8811]], ['NestedLessLess', [8810]], ['nexist', [8708]], ['nexists', [8708]], ['Nfr', [120081]], ['nfr', [120107]], ['ngE', [8807, 824]], ['nge', [8817]], ['ngeq', [8817]], ['ngeqq', [8807, 824]], ['ngeqslant', [10878, 824]], ['nges', [10878, 824]], ['nGg', [8921, 824]], ['ngsim', [8821]], ['nGt', [8811, 8402]], ['ngt', [8815]], ['ngtr', [8815]], ['nGtv', [8811, 824]], ['nharr', [8622]], ['nhArr', [8654]], ['nhpar', [10994]], ['ni', [8715]], ['nis', [8956]], ['nisd', [8954]], ['niv', [8715]], ['NJcy', [1034]], ['njcy', [1114]], ['nlarr', [8602]], ['nlArr', [8653]], ['nldr', [8229]], ['nlE', [8806, 824]], ['nle', [8816]], ['nleftarrow', [8602]], ['nLeftarrow', [8653]], ['nleftrightarrow', [8622]], ['nLeftrightarrow', [8654]], ['nleq', [8816]], ['nleqq', [8806, 824]], ['nleqslant', [10877, 824]], ['nles', [10877, 824]], ['nless', [8814]], ['nLl', [8920, 824]], ['nlsim', [8820]], ['nLt', [8810, 8402]], ['nlt', [8814]], ['nltri', [8938]], ['nltrie', [8940]], ['nLtv', [8810, 824]], ['nmid', [8740]], ['NoBreak', [8288]], ['NonBreakingSpace', [160]], ['nopf', [120159]], ['Nopf', [8469]], ['Not', [10988]], ['not', [172]], ['NotCongruent', [8802]], ['NotCupCap', [8813]], ['NotDoubleVerticalBar', [8742]], ['NotElement', [8713]], ['NotEqual', [8800]], ['NotEqualTilde', [8770, 824]], ['NotExists', [8708]], ['NotGreater', [8815]], ['NotGreaterEqual', [8817]], ['NotGreaterFullEqual', [8807, 824]], ['NotGreaterGreater', [8811, 824]], ['NotGreaterLess', [8825]], ['NotGreaterSlantEqual', [10878, 824]], ['NotGreaterTilde', [8821]], ['NotHumpDownHump', [8782, 824]], ['NotHumpEqual', [8783, 824]], ['notin', [8713]], ['notindot', [8949, 824]], ['notinE', [8953, 824]], ['notinva', [8713]], ['notinvb', [8951]], ['notinvc', [8950]], ['NotLeftTriangleBar', [10703, 824]], ['NotLeftTriangle', [8938]], ['NotLeftTriangleEqual', [8940]], ['NotLess', [8814]], ['NotLessEqual', [8816]], ['NotLessGreater', [8824]], ['NotLessLess', [8810, 824]], ['NotLessSlantEqual', [10877, 824]], ['NotLessTilde', [8820]], ['NotNestedGreaterGreater', [10914, 824]], ['NotNestedLessLess', [10913, 824]], ['notni', [8716]], ['notniva', [8716]], ['notnivb', [8958]], ['notnivc', [8957]], ['NotPrecedes', [8832]], ['NotPrecedesEqual', [10927, 824]], ['NotPrecedesSlantEqual', [8928]], ['NotReverseElement', [8716]], ['NotRightTriangleBar', [10704, 824]], ['NotRightTriangle', [8939]], ['NotRightTriangleEqual', [8941]], ['NotSquareSubset', [8847, 824]], ['NotSquareSubsetEqual', [8930]], ['NotSquareSuperset', [8848, 824]], ['NotSquareSupersetEqual', [8931]], ['NotSubset', [8834, 8402]], ['NotSubsetEqual', [8840]], ['NotSucceeds', [8833]], ['NotSucceedsEqual', [10928, 824]], ['NotSucceedsSlantEqual', [8929]], ['NotSucceedsTilde', [8831, 824]], ['NotSuperset', [8835, 8402]], ['NotSupersetEqual', [8841]], ['NotTilde', [8769]], ['NotTildeEqual', [8772]], ['NotTildeFullEqual', [8775]], ['NotTildeTilde', [8777]], ['NotVerticalBar', [8740]], ['nparallel', [8742]], ['npar', [8742]], ['nparsl', [11005, 8421]], ['npart', [8706, 824]], ['npolint', [10772]], ['npr', [8832]], ['nprcue', [8928]], ['nprec', [8832]], ['npreceq', [10927, 824]], ['npre', [10927, 824]], ['nrarrc', [10547, 824]], ['nrarr', [8603]], ['nrArr', [8655]], ['nrarrw', [8605, 824]], ['nrightarrow', [8603]], ['nRightarrow', [8655]], ['nrtri', [8939]], ['nrtrie', [8941]], ['nsc', [8833]], ['nsccue', [8929]], ['nsce', [10928, 824]], ['Nscr', [119977]], ['nscr', [120003]], ['nshortmid', [8740]], ['nshortparallel', [8742]], ['nsim', [8769]], ['nsime', [8772]], ['nsimeq', [8772]], ['nsmid', [8740]], ['nspar', [8742]], ['nsqsube', [8930]], ['nsqsupe', [8931]], ['nsub', [8836]], ['nsubE', [10949, 824]], ['nsube', [8840]], ['nsubset', [8834, 8402]], ['nsubseteq', [8840]], ['nsubseteqq', [10949, 824]], ['nsucc', [8833]], ['nsucceq', [10928, 824]], ['nsup', [8837]], ['nsupE', [10950, 824]], ['nsupe', [8841]], ['nsupset', [8835, 8402]], ['nsupseteq', [8841]], ['nsupseteqq', [10950, 824]], ['ntgl', [8825]], ['Ntilde', [209]], ['ntilde', [241]], ['ntlg', [8824]], ['ntriangleleft', [8938]], ['ntrianglelefteq', [8940]], ['ntriangleright', [8939]], ['ntrianglerighteq', [8941]], ['Nu', [925]], ['nu', [957]], ['num', [35]], ['numero', [8470]], ['numsp', [8199]], ['nvap', [8781, 8402]], ['nvdash', [8876]], ['nvDash', [8877]], ['nVdash', [8878]], ['nVDash', [8879]], ['nvge', [8805, 8402]], ['nvgt', [62, 8402]], ['nvHarr', [10500]], ['nvinfin', [10718]], ['nvlArr', [10498]], ['nvle', [8804, 8402]], ['nvlt', [60, 8402]], ['nvltrie', [8884, 8402]], ['nvrArr', [10499]], ['nvrtrie', [8885, 8402]], ['nvsim', [8764, 8402]], ['nwarhk', [10531]], ['nwarr', [8598]], ['nwArr', [8662]], ['nwarrow', [8598]], ['nwnear', [10535]], ['Oacute', [211]], ['oacute', [243]], ['oast', [8859]], ['Ocirc', [212]], ['ocirc', [244]], ['ocir', [8858]], ['Ocy', [1054]], ['ocy', [1086]], ['odash', [8861]], ['Odblac', [336]], ['odblac', [337]], ['odiv', [10808]], ['odot', [8857]], ['odsold', [10684]], ['OElig', [338]], ['oelig', [339]], ['ofcir', [10687]], ['Ofr', [120082]], ['ofr', [120108]], ['ogon', [731]], ['Ograve', [210]], ['ograve', [242]], ['ogt', [10689]], ['ohbar', [10677]], ['ohm', [937]], ['oint', [8750]], ['olarr', [8634]], ['olcir', [10686]], ['olcross', [10683]], ['oline', [8254]], ['olt', [10688]], ['Omacr', [332]], ['omacr', [333]], ['Omega', [937]], ['omega', [969]], ['Omicron', [927]], ['omicron', [959]], ['omid', [10678]], ['ominus', [8854]], ['Oopf', [120134]], ['oopf', [120160]], ['opar', [10679]], ['OpenCurlyDoubleQuote', [8220]], ['OpenCurlyQuote', [8216]], ['operp', [10681]], ['oplus', [8853]], ['orarr', [8635]], ['Or', [10836]], ['or', [8744]], ['ord', [10845]], ['order', [8500]], ['orderof', [8500]], ['ordf', [170]], ['ordm', [186]], ['origof', [8886]], ['oror', [10838]], ['orslope', [10839]], ['orv', [10843]], ['oS', [9416]], ['Oscr', [119978]], ['oscr', [8500]], ['Oslash', [216]], ['oslash', [248]], ['osol', [8856]], ['Otilde', [213]], ['otilde', [245]], ['otimesas', [10806]], ['Otimes', [10807]], ['otimes', [8855]], ['Ouml', [214]], ['ouml', [246]], ['ovbar', [9021]], ['OverBar', [8254]], ['OverBrace', [9182]], ['OverBracket', [9140]], ['OverParenthesis', [9180]], ['para', [182]], ['parallel', [8741]], ['par', [8741]], ['parsim', [10995]], ['parsl', [11005]], ['part', [8706]], ['PartialD', [8706]], ['Pcy', [1055]], ['pcy', [1087]], ['percnt', [37]], ['period', [46]], ['permil', [8240]], ['perp', [8869]], ['pertenk', [8241]], ['Pfr', [120083]], ['pfr', [120109]], ['Phi', [934]], ['phi', [966]], ['phiv', [981]], ['phmmat', [8499]], ['phone', [9742]], ['Pi', [928]], ['pi', [960]], ['pitchfork', [8916]], ['piv', [982]], ['planck', [8463]], ['planckh', [8462]], ['plankv', [8463]], ['plusacir', [10787]], ['plusb', [8862]], ['pluscir', [10786]], ['plus', [43]], ['plusdo', [8724]], ['plusdu', [10789]], ['pluse', [10866]], ['PlusMinus', [177]], ['plusmn', [177]], ['plussim', [10790]], ['plustwo', [10791]], ['pm', [177]], ['Poincareplane', [8460]], ['pointint', [10773]], ['popf', [120161]], ['Popf', [8473]], ['pound', [163]], ['prap', [10935]], ['Pr', [10939]], ['pr', [8826]], ['prcue', [8828]], ['precapprox', [10935]], ['prec', [8826]], ['preccurlyeq', [8828]], ['Precedes', [8826]], ['PrecedesEqual', [10927]], ['PrecedesSlantEqual', [8828]], ['PrecedesTilde', [8830]], ['preceq', [10927]], ['precnapprox', [10937]], ['precneqq', [10933]], ['precnsim', [8936]], ['pre', [10927]], ['prE', [10931]], ['precsim', [8830]], ['prime', [8242]], ['Prime', [8243]], ['primes', [8473]], ['prnap', [10937]], ['prnE', [10933]], ['prnsim', [8936]], ['prod', [8719]], ['Product', [8719]], ['profalar', [9006]], ['profline', [8978]], ['profsurf', [8979]], ['prop', [8733]], ['Proportional', [8733]], ['Proportion', [8759]], ['propto', [8733]], ['prsim', [8830]], ['prurel', [8880]], ['Pscr', [119979]], ['pscr', [120005]], ['Psi', [936]], ['psi', [968]], ['puncsp', [8200]], ['Qfr', [120084]], ['qfr', [120110]], ['qint', [10764]], ['qopf', [120162]], ['Qopf', [8474]], ['qprime', [8279]], ['Qscr', [119980]], ['qscr', [120006]], ['quaternions', [8461]], ['quatint', [10774]], ['quest', [63]], ['questeq', [8799]], ['quot', [34]], ['QUOT', [34]], ['rAarr', [8667]], ['race', [8765, 817]], ['Racute', [340]], ['racute', [341]], ['radic', [8730]], ['raemptyv', [10675]], ['rang', [10217]], ['Rang', [10219]], ['rangd', [10642]], ['range', [10661]], ['rangle', [10217]], ['raquo', [187]], ['rarrap', [10613]], ['rarrb', [8677]], ['rarrbfs', [10528]], ['rarrc', [10547]], ['rarr', [8594]], ['Rarr', [8608]], ['rArr', [8658]], ['rarrfs', [10526]], ['rarrhk', [8618]], ['rarrlp', [8620]], ['rarrpl', [10565]], ['rarrsim', [10612]], ['Rarrtl', [10518]], ['rarrtl', [8611]], ['rarrw', [8605]], ['ratail', [10522]], ['rAtail', [10524]], ['ratio', [8758]], ['rationals', [8474]], ['rbarr', [10509]], ['rBarr', [10511]], ['RBarr', [10512]], ['rbbrk', [10099]], ['rbrace', [125]], ['rbrack', [93]], ['rbrke', [10636]], ['rbrksld', [10638]], ['rbrkslu', [10640]], ['Rcaron', [344]], ['rcaron', [345]], ['Rcedil', [342]], ['rcedil', [343]], ['rceil', [8969]], ['rcub', [125]], ['Rcy', [1056]], ['rcy', [1088]], ['rdca', [10551]], ['rdldhar', [10601]], ['rdquo', [8221]], ['rdquor', [8221]], ['CloseCurlyDoubleQuote', [8221]], ['rdsh', [8627]], ['real', [8476]], ['realine', [8475]], ['realpart', [8476]], ['reals', [8477]], ['Re', [8476]], ['rect', [9645]], ['reg', [174]], ['REG', [174]], ['ReverseElement', [8715]], ['ReverseEquilibrium', [8651]], ['ReverseUpEquilibrium', [10607]], ['rfisht', [10621]], ['rfloor', [8971]], ['rfr', [120111]], ['Rfr', [8476]], ['rHar', [10596]], ['rhard', [8641]], ['rharu', [8640]], ['rharul', [10604]], ['Rho', [929]], ['rho', [961]], ['rhov', [1009]], ['RightAngleBracket', [10217]], ['RightArrowBar', [8677]], ['rightarrow', [8594]], ['RightArrow', [8594]], ['Rightarrow', [8658]], ['RightArrowLeftArrow', [8644]], ['rightarrowtail', [8611]], ['RightCeiling', [8969]], ['RightDoubleBracket', [10215]], ['RightDownTeeVector', [10589]], ['RightDownVectorBar', [10581]], ['RightDownVector', [8642]], ['RightFloor', [8971]], ['rightharpoondown', [8641]], ['rightharpoonup', [8640]], ['rightleftarrows', [8644]], ['rightleftharpoons', [8652]], ['rightrightarrows', [8649]], ['rightsquigarrow', [8605]], ['RightTeeArrow', [8614]], ['RightTee', [8866]], ['RightTeeVector', [10587]], ['rightthreetimes', [8908]], ['RightTriangleBar', [10704]], ['RightTriangle', [8883]], ['RightTriangleEqual', [8885]], ['RightUpDownVector', [10575]], ['RightUpTeeVector', [10588]], ['RightUpVectorBar', [10580]], ['RightUpVector', [8638]], ['RightVectorBar', [10579]], ['RightVector', [8640]], ['ring', [730]], ['risingdotseq', [8787]], ['rlarr', [8644]], ['rlhar', [8652]], ['rlm', [8207]], ['rmoustache', [9137]], ['rmoust', [9137]], ['rnmid', [10990]], ['roang', [10221]], ['roarr', [8702]], ['robrk', [10215]], ['ropar', [10630]], ['ropf', [120163]], ['Ropf', [8477]], ['roplus', [10798]], ['rotimes', [10805]], ['RoundImplies', [10608]], ['rpar', [41]], ['rpargt', [10644]], ['rppolint', [10770]], ['rrarr', [8649]], ['Rrightarrow', [8667]], ['rsaquo', [8250]], ['rscr', [120007]], ['Rscr', [8475]], ['rsh', [8625]], ['Rsh', [8625]], ['rsqb', [93]], ['rsquo', [8217]], ['rsquor', [8217]], ['CloseCurlyQuote', [8217]], ['rthree', [8908]], ['rtimes', [8906]], ['rtri', [9657]], ['rtrie', [8885]], ['rtrif', [9656]], ['rtriltri', [10702]], ['RuleDelayed', [10740]], ['ruluhar', [10600]], ['rx', [8478]], ['Sacute', [346]], ['sacute', [347]], ['sbquo', [8218]], ['scap', [10936]], ['Scaron', [352]], ['scaron', [353]], ['Sc', [10940]], ['sc', [8827]], ['sccue', [8829]], ['sce', [10928]], ['scE', [10932]], ['Scedil', [350]], ['scedil', [351]], ['Scirc', [348]], ['scirc', [349]], ['scnap', [10938]], ['scnE', [10934]], ['scnsim', [8937]], ['scpolint', [10771]], ['scsim', [8831]], ['Scy', [1057]], ['scy', [1089]], ['sdotb', [8865]], ['sdot', [8901]], ['sdote', [10854]], ['searhk', [10533]], ['searr', [8600]], ['seArr', [8664]], ['searrow', [8600]], ['sect', [167]], ['semi', [59]], ['seswar', [10537]], ['setminus', [8726]], ['setmn', [8726]], ['sext', [10038]], ['Sfr', [120086]], ['sfr', [120112]], ['sfrown', [8994]], ['sharp', [9839]], ['SHCHcy', [1065]], ['shchcy', [1097]], ['SHcy', [1064]], ['shcy', [1096]], ['ShortDownArrow', [8595]], ['ShortLeftArrow', [8592]], ['shortmid', [8739]], ['shortparallel', [8741]], ['ShortRightArrow', [8594]], ['ShortUpArrow', [8593]], ['shy', [173]], ['Sigma', [931]], ['sigma', [963]], ['sigmaf', [962]], ['sigmav', [962]], ['sim', [8764]], ['simdot', [10858]], ['sime', [8771]], ['simeq', [8771]], ['simg', [10910]], ['simgE', [10912]], ['siml', [10909]], ['simlE', [10911]], ['simne', [8774]], ['simplus', [10788]], ['simrarr', [10610]], ['slarr', [8592]], ['SmallCircle', [8728]], ['smallsetminus', [8726]], ['smashp', [10803]], ['smeparsl', [10724]], ['smid', [8739]], ['smile', [8995]], ['smt', [10922]], ['smte', [10924]], ['smtes', [10924, 65024]], ['SOFTcy', [1068]], ['softcy', [1100]], ['solbar', [9023]], ['solb', [10692]], ['sol', [47]], ['Sopf', [120138]], ['sopf', [120164]], ['spades', [9824]], ['spadesuit', [9824]], ['spar', [8741]], ['sqcap', [8851]], ['sqcaps', [8851, 65024]], ['sqcup', [8852]], ['sqcups', [8852, 65024]], ['Sqrt', [8730]], ['sqsub', [8847]], ['sqsube', [8849]], ['sqsubset', [8847]], ['sqsubseteq', [8849]], ['sqsup', [8848]], ['sqsupe', [8850]], ['sqsupset', [8848]], ['sqsupseteq', [8850]], ['square', [9633]], ['Square', [9633]], ['SquareIntersection', [8851]], ['SquareSubset', [8847]], ['SquareSubsetEqual', [8849]], ['SquareSuperset', [8848]], ['SquareSupersetEqual', [8850]], ['SquareUnion', [8852]], ['squarf', [9642]], ['squ', [9633]], ['squf', [9642]], ['srarr', [8594]], ['Sscr', [119982]], ['sscr', [120008]], ['ssetmn', [8726]], ['ssmile', [8995]], ['sstarf', [8902]], ['Star', [8902]], ['star', [9734]], ['starf', [9733]], ['straightepsilon', [1013]], ['straightphi', [981]], ['strns', [175]], ['sub', [8834]], ['Sub', [8912]], ['subdot', [10941]], ['subE', [10949]], ['sube', [8838]], ['subedot', [10947]], ['submult', [10945]], ['subnE', [10955]], ['subne', [8842]], ['subplus', [10943]], ['subrarr', [10617]], ['subset', [8834]], ['Subset', [8912]], ['subseteq', [8838]], ['subseteqq', [10949]], ['SubsetEqual', [8838]], ['subsetneq', [8842]], ['subsetneqq', [10955]], ['subsim', [10951]], ['subsub', [10965]], ['subsup', [10963]], ['succapprox', [10936]], ['succ', [8827]], ['succcurlyeq', [8829]], ['Succeeds', [8827]], ['SucceedsEqual', [10928]], ['SucceedsSlantEqual', [8829]], ['SucceedsTilde', [8831]], ['succeq', [10928]], ['succnapprox', [10938]], ['succneqq', [10934]], ['succnsim', [8937]], ['succsim', [8831]], ['SuchThat', [8715]], ['sum', [8721]], ['Sum', [8721]], ['sung', [9834]], ['sup1', [185]], ['sup2', [178]], ['sup3', [179]], ['sup', [8835]], ['Sup', [8913]], ['supdot', [10942]], ['supdsub', [10968]], ['supE', [10950]], ['supe', [8839]], ['supedot', [10948]], ['Superset', [8835]], ['SupersetEqual', [8839]], ['suphsol', [10185]], ['suphsub', [10967]], ['suplarr', [10619]], ['supmult', [10946]], ['supnE', [10956]], ['supne', [8843]], ['supplus', [10944]], ['supset', [8835]], ['Supset', [8913]], ['supseteq', [8839]], ['supseteqq', [10950]], ['supsetneq', [8843]], ['supsetneqq', [10956]], ['supsim', [10952]], ['supsub', [10964]], ['supsup', [10966]], ['swarhk', [10534]], ['swarr', [8601]], ['swArr', [8665]], ['swarrow', [8601]], ['swnwar', [10538]], ['szlig', [223]], ['Tab', [9]], ['target', [8982]], ['Tau', [932]], ['tau', [964]], ['tbrk', [9140]], ['Tcaron', [356]], ['tcaron', [357]], ['Tcedil', [354]], ['tcedil', [355]], ['Tcy', [1058]], ['tcy', [1090]], ['tdot', [8411]], ['telrec', [8981]], ['Tfr', [120087]], ['tfr', [120113]], ['there4', [8756]], ['therefore', [8756]], ['Therefore', [8756]], ['Theta', [920]], ['theta', [952]], ['thetasym', [977]], ['thetav', [977]], ['thickapprox', [8776]], ['thicksim', [8764]], ['ThickSpace', [8287, 8202]], ['ThinSpace', [8201]], ['thinsp', [8201]], ['thkap', [8776]], ['thksim', [8764]], ['THORN', [222]], ['thorn', [254]], ['tilde', [732]], ['Tilde', [8764]], ['TildeEqual', [8771]], ['TildeFullEqual', [8773]], ['TildeTilde', [8776]], ['timesbar', [10801]], ['timesb', [8864]], ['times', [215]], ['timesd', [10800]], ['tint', [8749]], ['toea', [10536]], ['topbot', [9014]], ['topcir', [10993]], ['top', [8868]], ['Topf', [120139]], ['topf', [120165]], ['topfork', [10970]], ['tosa', [10537]], ['tprime', [8244]], ['trade', [8482]], ['TRADE', [8482]], ['triangle', [9653]], ['triangledown', [9663]], ['triangleleft', [9667]], ['trianglelefteq', [8884]], ['triangleq', [8796]], ['triangleright', [9657]], ['trianglerighteq', [8885]], ['tridot', [9708]], ['trie', [8796]], ['triminus', [10810]], ['TripleDot', [8411]], ['triplus', [10809]], ['trisb', [10701]], ['tritime', [10811]], ['trpezium', [9186]], ['Tscr', [119983]], ['tscr', [120009]], ['TScy', [1062]], ['tscy', [1094]], ['TSHcy', [1035]], ['tshcy', [1115]], ['Tstrok', [358]], ['tstrok', [359]], ['twixt', [8812]], ['twoheadleftarrow', [8606]], ['twoheadrightarrow', [8608]], ['Uacute', [218]], ['uacute', [250]], ['uarr', [8593]], ['Uarr', [8607]], ['uArr', [8657]], ['Uarrocir', [10569]], ['Ubrcy', [1038]], ['ubrcy', [1118]], ['Ubreve', [364]], ['ubreve', [365]], ['Ucirc', [219]], ['ucirc', [251]], ['Ucy', [1059]], ['ucy', [1091]], ['udarr', [8645]], ['Udblac', [368]], ['udblac', [369]], ['udhar', [10606]], ['ufisht', [10622]], ['Ufr', [120088]], ['ufr', [120114]], ['Ugrave', [217]], ['ugrave', [249]], ['uHar', [10595]], ['uharl', [8639]], ['uharr', [8638]], ['uhblk', [9600]], ['ulcorn', [8988]], ['ulcorner', [8988]], ['ulcrop', [8975]], ['ultri', [9720]], ['Umacr', [362]], ['umacr', [363]], ['uml', [168]], ['UnderBar', [95]], ['UnderBrace', [9183]], ['UnderBracket', [9141]], ['UnderParenthesis', [9181]], ['Union', [8899]], ['UnionPlus', [8846]], ['Uogon', [370]], ['uogon', [371]], ['Uopf', [120140]], ['uopf', [120166]], ['UpArrowBar', [10514]], ['uparrow', [8593]], ['UpArrow', [8593]], ['Uparrow', [8657]], ['UpArrowDownArrow', [8645]], ['updownarrow', [8597]], ['UpDownArrow', [8597]], ['Updownarrow', [8661]], ['UpEquilibrium', [10606]], ['upharpoonleft', [8639]], ['upharpoonright', [8638]], ['uplus', [8846]], ['UpperLeftArrow', [8598]], ['UpperRightArrow', [8599]], ['upsi', [965]], ['Upsi', [978]], ['upsih', [978]], ['Upsilon', [933]], ['upsilon', [965]], ['UpTeeArrow', [8613]], ['UpTee', [8869]], ['upuparrows', [8648]], ['urcorn', [8989]], ['urcorner', [8989]], ['urcrop', [8974]], ['Uring', [366]], ['uring', [367]], ['urtri', [9721]], ['Uscr', [119984]], ['uscr', [120010]], ['utdot', [8944]], ['Utilde', [360]], ['utilde', [361]], ['utri', [9653]], ['utrif', [9652]], ['uuarr', [8648]], ['Uuml', [220]], ['uuml', [252]], ['uwangle', [10663]], ['vangrt', [10652]], ['varepsilon', [1013]], ['varkappa', [1008]], ['varnothing', [8709]], ['varphi', [981]], ['varpi', [982]], ['varpropto', [8733]], ['varr', [8597]], ['vArr', [8661]], ['varrho', [1009]], ['varsigma', [962]], ['varsubsetneq', [8842, 65024]], ['varsubsetneqq', [10955, 65024]], ['varsupsetneq', [8843, 65024]], ['varsupsetneqq', [10956, 65024]], ['vartheta', [977]], ['vartriangleleft', [8882]], ['vartriangleright', [8883]], ['vBar', [10984]], ['Vbar', [10987]], ['vBarv', [10985]], ['Vcy', [1042]], ['vcy', [1074]], ['vdash', [8866]], ['vDash', [8872]], ['Vdash', [8873]], ['VDash', [8875]], ['Vdashl', [10982]], ['veebar', [8891]], ['vee', [8744]], ['Vee', [8897]], ['veeeq', [8794]], ['vellip', [8942]], ['verbar', [124]], ['Verbar', [8214]], ['vert', [124]], ['Vert', [8214]], ['VerticalBar', [8739]], ['VerticalLine', [124]], ['VerticalSeparator', [10072]], ['VerticalTilde', [8768]], ['VeryThinSpace', [8202]], ['Vfr', [120089]], ['vfr', [120115]], ['vltri', [8882]], ['vnsub', [8834, 8402]], ['vnsup', [8835, 8402]], ['Vopf', [120141]], ['vopf', [120167]], ['vprop', [8733]], ['vrtri', [8883]], ['Vscr', [119985]], ['vscr', [120011]], ['vsubnE', [10955, 65024]], ['vsubne', [8842, 65024]], ['vsupnE', [10956, 65024]], ['vsupne', [8843, 65024]], ['Vvdash', [8874]], ['vzigzag', [10650]], ['Wcirc', [372]], ['wcirc', [373]], ['wedbar', [10847]], ['wedge', [8743]], ['Wedge', [8896]], ['wedgeq', [8793]], ['weierp', [8472]], ['Wfr', [120090]], ['wfr', [120116]], ['Wopf', [120142]], ['wopf', [120168]], ['wp', [8472]], ['wr', [8768]], ['wreath', [8768]], ['Wscr', [119986]], ['wscr', [120012]], ['xcap', [8898]], ['xcirc', [9711]], ['xcup', [8899]], ['xdtri', [9661]], ['Xfr', [120091]], ['xfr', [120117]], ['xharr', [10231]], ['xhArr', [10234]], ['Xi', [926]], ['xi', [958]], ['xlarr', [10229]], ['xlArr', [10232]], ['xmap', [10236]], ['xnis', [8955]], ['xodot', [10752]], ['Xopf', [120143]], ['xopf', [120169]], ['xoplus', [10753]], ['xotime', [10754]], ['xrarr', [10230]], ['xrArr', [10233]], ['Xscr', [119987]], ['xscr', [120013]], ['xsqcup', [10758]], ['xuplus', [10756]], ['xutri', [9651]], ['xvee', [8897]], ['xwedge', [8896]], ['Yacute', [221]], ['yacute', [253]], ['YAcy', [1071]], ['yacy', [1103]], ['Ycirc', [374]], ['ycirc', [375]], ['Ycy', [1067]], ['ycy', [1099]], ['yen', [165]], ['Yfr', [120092]], ['yfr', [120118]], ['YIcy', [1031]], ['yicy', [1111]], ['Yopf', [120144]], ['yopf', [120170]], ['Yscr', [119988]], ['yscr', [120014]], ['YUcy', [1070]], ['yucy', [1102]], ['yuml', [255]], ['Yuml', [376]], ['Zacute', [377]], ['zacute', [378]], ['Zcaron', [381]], ['zcaron', [382]], ['Zcy', [1047]], ['zcy', [1079]], ['Zdot', [379]], ['zdot', [380]], ['zeetrf', [8488]], ['ZeroWidthSpace', [8203]], ['Zeta', [918]], ['zeta', [950]], ['zfr', [120119]], ['Zfr', [8488]], ['ZHcy', [1046]], ['zhcy', [1078]], ['zigrarr', [8669]], ['zopf', [120171]], ['Zopf', [8484]], ['Zscr', [119989]], ['zscr', [120015]], ['zwj', [8205]], ['zwnj', [8204]]];\nvar DECODE_ONLY_ENTITIES = [['NewLine', [10]]];\nvar alphaIndex = {};\nvar charIndex = {};\ncreateIndexes(alphaIndex, charIndex);\nvar Html5Entities = /** @class */ (function () {\n function Html5Entities() {\n }\n Html5Entities.prototype.decode = function (str) {\n if (!str || !str.length) {\n return '';\n }\n return str.replace(/&(#?[\\w\\d]+);?/g, function (s, entity) {\n var chr;\n if (entity.charAt(0) === \"#\") {\n var code = entity.charAt(1) === 'x' ?\n parseInt(entity.substr(2).toLowerCase(), 16) :\n parseInt(entity.substr(1));\n if (!isNaN(code) || code >= -32768) {\n if (code <= 65535) {\n chr = String.fromCharCode(code);\n }\n else {\n chr = surrogate_pairs_1.fromCodePoint(code);\n }\n }\n }\n else {\n chr = alphaIndex[entity];\n }\n return chr || s;\n });\n };\n Html5Entities.decode = function (str) {\n return new Html5Entities().decode(str);\n };\n Html5Entities.prototype.encode = function (str) {\n if (!str || !str.length) {\n return '';\n }\n var strLength = str.length;\n var result = '';\n var i = 0;\n while (i < strLength) {\n var charInfo = charIndex[str.charCodeAt(i)];\n if (charInfo) {\n var alpha = charInfo[str.charCodeAt(i + 1)];\n if (alpha) {\n i++;\n }\n else {\n alpha = charInfo[''];\n }\n if (alpha) {\n result += \"&\" + alpha + \";\";\n i++;\n continue;\n }\n }\n result += str.charAt(i);\n i++;\n }\n return result;\n };\n Html5Entities.encode = function (str) {\n return new Html5Entities().encode(str);\n };\n Html5Entities.prototype.encodeNonUTF = function (str) {\n if (!str || !str.length) {\n return '';\n }\n var strLength = str.length;\n var result = '';\n var i = 0;\n while (i < strLength) {\n var c = str.charCodeAt(i);\n var charInfo = charIndex[c];\n if (charInfo) {\n var alpha = charInfo[str.charCodeAt(i + 1)];\n if (alpha) {\n i++;\n }\n else {\n alpha = charInfo[''];\n }\n if (alpha) {\n result += \"&\" + alpha + \";\";\n i++;\n continue;\n }\n }\n if (c < 32 || c > 126) {\n if (c >= surrogate_pairs_1.highSurrogateFrom && c <= surrogate_pairs_1.highSurrogateTo) {\n result += '' + surrogate_pairs_1.getCodePoint(str, i) + ';';\n i++;\n }\n else {\n result += '' + c + ';';\n }\n }\n else {\n result += str.charAt(i);\n }\n i++;\n }\n return result;\n };\n Html5Entities.encodeNonUTF = function (str) {\n return new Html5Entities().encodeNonUTF(str);\n };\n Html5Entities.prototype.encodeNonASCII = function (str) {\n if (!str || !str.length) {\n return '';\n }\n var strLength = str.length;\n var result = '';\n var i = 0;\n while (i < strLength) {\n var c = str.charCodeAt(i);\n if (c <= 255) {\n result += str[i++];\n continue;\n }\n if (c >= surrogate_pairs_1.highSurrogateFrom && c <= surrogate_pairs_1.highSurrogateTo) {\n result += '' + surrogate_pairs_1.getCodePoint(str, i) + ';';\n i += 2;\n }\n else {\n result += '' + c + ';';\n i++;\n }\n }\n return result;\n };\n Html5Entities.encodeNonASCII = function (str) {\n return new Html5Entities().encodeNonASCII(str);\n };\n return Html5Entities;\n}());\nexports.Html5Entities = Html5Entities;\nfunction createIndexes(alphaIndex, charIndex) {\n var i = ENTITIES.length;\n while (i--) {\n var _a = ENTITIES[i], alpha = _a[0], _b = _a[1], chr = _b[0], chr2 = _b[1];\n var addChar = (chr < 32 || chr > 126) || chr === 62 || chr === 60 || chr === 38 || chr === 34 || chr === 39;\n var charInfo = void 0;\n if (addChar) {\n charInfo = charIndex[chr] = charIndex[chr] || {};\n }\n if (chr2) {\n alphaIndex[alpha] = String.fromCharCode(chr) + String.fromCharCode(chr2);\n addChar && (charInfo[chr2] = alpha);\n }\n else {\n alphaIndex[alpha] = String.fromCharCode(chr);\n addChar && (charInfo[''] = alpha);\n }\n }\n i = DECODE_ONLY_ENTITIES.length;\n while (i--) {\n var _c = DECODE_ONLY_ENTITIES[i], alpha = _c[0], _d = _c[1], chr = _d[0], chr2 = _d[1];\n alphaIndex[alpha] = String.fromCharCode(chr) + (chr2 ? String.fromCharCode(chr2) : '');\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar xml_entities_1 = require(\"./xml-entities\");\nexports.XmlEntities = xml_entities_1.XmlEntities;\nvar html4_entities_1 = require(\"./html4-entities\");\nexports.Html4Entities = html4_entities_1.Html4Entities;\nvar html5_entities_1 = require(\"./html5-entities\");\nexports.Html5Entities = html5_entities_1.Html5Entities;\nexports.AllHtmlEntities = html5_entities_1.Html5Entities;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromCodePoint = String.fromCodePoint || function (astralCodePoint) {\n return String.fromCharCode(Math.floor((astralCodePoint - 0x10000) / 0x400) + 0xD800, (astralCodePoint - 0x10000) % 0x400 + 0xDC00);\n};\nexports.getCodePoint = String.prototype.codePointAt ?\n function (input, position) {\n return input.codePointAt(position);\n } :\n function (input, position) {\n return (input.charCodeAt(position) - 0xD800) * 0x400\n + input.charCodeAt(position + 1) - 0xDC00 + 0x10000;\n };\nexports.highSurrogateFrom = 0xD800;\nexports.highSurrogateTo = 0xDBFF;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar surrogate_pairs_1 = require(\"./surrogate-pairs\");\nvar ALPHA_INDEX = {\n '<': '<',\n '>': '>',\n '"': '\"',\n '&apos': '\\'',\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': '\\'',\n '&': '&'\n};\nvar CHAR_INDEX = {\n 60: 'lt',\n 62: 'gt',\n 34: 'quot',\n 39: 'apos',\n 38: 'amp'\n};\nvar CHAR_S_INDEX = {\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': ''',\n '&': '&'\n};\nvar XmlEntities = /** @class */ (function () {\n function XmlEntities() {\n }\n XmlEntities.prototype.encode = function (str) {\n if (!str || !str.length) {\n return '';\n }\n return str.replace(/[<>\"'&]/g, function (s) {\n return CHAR_S_INDEX[s];\n });\n };\n XmlEntities.encode = function (str) {\n return new XmlEntities().encode(str);\n };\n XmlEntities.prototype.decode = function (str) {\n if (!str || !str.length) {\n return '';\n }\n return str.replace(/?[0-9a-zA-Z]+;?/g, function (s) {\n if (s.charAt(1) === '#') {\n var code = s.charAt(2).toLowerCase() === 'x' ?\n parseInt(s.substr(3), 16) :\n parseInt(s.substr(2));\n if (!isNaN(code) || code >= -32768) {\n if (code <= 65535) {\n return String.fromCharCode(code);\n }\n else {\n return surrogate_pairs_1.fromCodePoint(code);\n }\n }\n return '';\n }\n return ALPHA_INDEX[s] || s;\n });\n };\n XmlEntities.decode = function (str) {\n return new XmlEntities().decode(str);\n };\n XmlEntities.prototype.encodeNonUTF = function (str) {\n if (!str || !str.length) {\n return '';\n }\n var strLength = str.length;\n var result = '';\n var i = 0;\n while (i < strLength) {\n var c = str.charCodeAt(i);\n var alpha = CHAR_INDEX[c];\n if (alpha) {\n result += \"&\" + alpha + \";\";\n i++;\n continue;\n }\n if (c < 32 || c > 126) {\n if (c >= surrogate_pairs_1.highSurrogateFrom && c <= surrogate_pairs_1.highSurrogateTo) {\n result += '' + surrogate_pairs_1.getCodePoint(str, i) + ';';\n i++;\n }\n else {\n result += '' + c + ';';\n }\n }\n else {\n result += str.charAt(i);\n }\n i++;\n }\n return result;\n };\n XmlEntities.encodeNonUTF = function (str) {\n return new XmlEntities().encodeNonUTF(str);\n };\n XmlEntities.prototype.encodeNonASCII = function (str) {\n if (!str || !str.length) {\n return '';\n }\n var strLength = str.length;\n var result = '';\n var i = 0;\n while (i < strLength) {\n var c = str.charCodeAt(i);\n if (c <= 255) {\n result += str[i++];\n continue;\n }\n if (c >= surrogate_pairs_1.highSurrogateFrom && c <= surrogate_pairs_1.highSurrogateTo) {\n result += '' + surrogate_pairs_1.getCodePoint(str, i) + ';';\n i++;\n }\n else {\n result += '' + c + ';';\n }\n i++;\n }\n return result;\n };\n XmlEntities.encodeNonASCII = function (str) {\n return new XmlEntities().encodeNonASCII(str);\n };\n return XmlEntities;\n}());\nexports.XmlEntities = XmlEntities;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","\"use strict\";\n\n/* eslint-env browser */\n\n/*\n eslint-disable\n no-console,\n func-names\n*/\nvar normalizeUrl = require(\"./normalize-url\");\n\nvar srcByModuleId = Object.create(null);\nvar noDocument = typeof document === \"undefined\";\nvar forEach = Array.prototype.forEach;\n\nfunction debounce(fn, time) {\n var timeout = 0;\n return function () {\n var self = this; // eslint-disable-next-line prefer-rest-params\n\n var args = arguments;\n\n var functionCall = function functionCall() {\n return fn.apply(self, args);\n };\n\n clearTimeout(timeout);\n timeout = setTimeout(functionCall, time);\n };\n}\n\nfunction noop() {}\n\nfunction getCurrentScriptUrl(moduleId) {\n var src = srcByModuleId[moduleId];\n\n if (!src) {\n if (document.currentScript) {\n src = document.currentScript.src;\n } else {\n var scripts = document.getElementsByTagName(\"script\");\n var lastScriptTag = scripts[scripts.length - 1];\n\n if (lastScriptTag) {\n src = lastScriptTag.src;\n }\n }\n\n srcByModuleId[moduleId] = src;\n }\n\n return function (fileMap) {\n if (!src) {\n return null;\n }\n\n var splitResult = src.split(/([^\\\\/]+)\\.js$/);\n var filename = splitResult && splitResult[1];\n\n if (!filename) {\n return [src.replace(\".js\", \".css\")];\n }\n\n if (!fileMap) {\n return [src.replace(\".js\", \".css\")];\n }\n\n return fileMap.split(\",\").map(function (mapRule) {\n var reg = new RegExp(\"\".concat(filename, \"\\\\.js$\"), \"g\");\n return normalizeUrl(src.replace(reg, \"\".concat(mapRule.replace(/{fileName}/g, filename), \".css\")));\n });\n };\n}\n\nfunction updateCss(el, url) {\n if (!url) {\n if (!el.href) {\n return;\n } // eslint-disable-next-line\n\n\n url = el.href.split(\"?\")[0];\n }\n\n if (!isUrlRequest(url)) {\n return;\n }\n\n if (el.isLoaded === false) {\n // We seem to be about to replace a css link that hasn't loaded yet.\n // We're probably changing the same file more than once.\n return;\n }\n\n if (!url || !(url.indexOf(\".css\") > -1)) {\n return;\n } // eslint-disable-next-line no-param-reassign\n\n\n el.visited = true;\n var newEl = el.cloneNode();\n newEl.isLoaded = false;\n newEl.addEventListener(\"load\", function () {\n if (newEl.isLoaded) {\n return;\n }\n\n newEl.isLoaded = true;\n el.parentNode.removeChild(el);\n });\n newEl.addEventListener(\"error\", function () {\n if (newEl.isLoaded) {\n return;\n }\n\n newEl.isLoaded = true;\n el.parentNode.removeChild(el);\n });\n newEl.href = \"\".concat(url, \"?\").concat(Date.now());\n\n if (el.nextSibling) {\n el.parentNode.insertBefore(newEl, el.nextSibling);\n } else {\n el.parentNode.appendChild(newEl);\n }\n}\n\nfunction getReloadUrl(href, src) {\n var ret; // eslint-disable-next-line no-param-reassign\n\n href = normalizeUrl(href, {\n stripWWW: false\n }); // eslint-disable-next-line array-callback-return\n\n src.some(function (url) {\n if (href.indexOf(src) > -1) {\n ret = url;\n }\n });\n return ret;\n}\n\nfunction reloadStyle(src) {\n if (!src) {\n return false;\n }\n\n var elements = document.querySelectorAll(\"link\");\n var loaded = false;\n forEach.call(elements, function (el) {\n if (!el.href) {\n return;\n }\n\n var url = getReloadUrl(el.href, src);\n\n if (!isUrlRequest(url)) {\n return;\n }\n\n if (el.visited === true) {\n return;\n }\n\n if (url) {\n updateCss(el, url);\n loaded = true;\n }\n });\n return loaded;\n}\n\nfunction reloadAll() {\n var elements = document.querySelectorAll(\"link\");\n forEach.call(elements, function (el) {\n if (el.visited === true) {\n return;\n }\n\n updateCss(el);\n });\n}\n\nfunction isUrlRequest(url) {\n // An URL is not an request if\n // It is not http or https\n if (!/^https?:/i.test(url)) {\n return false;\n }\n\n return true;\n}\n\nmodule.exports = function (moduleId, options) {\n if (noDocument) {\n console.log(\"no window.document found, will not HMR CSS\");\n return noop;\n }\n\n var getScriptSrc = getCurrentScriptUrl(moduleId);\n\n function update() {\n var src = getScriptSrc(options.filename);\n var reloaded = reloadStyle(src);\n\n if (options.locals) {\n console.log(\"[HMR] Detected local css modules. Reload all css\");\n reloadAll();\n return;\n }\n\n if (reloaded) {\n console.log(\"[HMR] css reload %s\", src.join(\" \"));\n } else {\n console.log(\"[HMR] Reload all css\");\n reloadAll();\n }\n }\n\n return debounce(update, 50);\n};","\"use strict\";\n\n/* eslint-disable */\nfunction normalizeUrl(pathComponents) {\n return pathComponents.reduce(function (accumulator, item) {\n switch (item) {\n case \"..\":\n accumulator.pop();\n break;\n\n case \".\":\n break;\n\n default:\n accumulator.push(item);\n }\n\n return accumulator;\n }, []).join(\"/\");\n}\n\nmodule.exports = function (urlString) {\n urlString = urlString.trim();\n\n if (/^data:/i.test(urlString)) {\n return urlString;\n }\n\n var protocol = urlString.indexOf(\"//\") !== -1 ? urlString.split(\"//\")[0] + \"//\" : \"\";\n var components = urlString.replace(new RegExp(protocol, \"i\"), \"\").split(\"/\");\n var host = components[0].toLowerCase().replace(/\\.$/, \"\");\n components[0] = \"\";\n var path = normalizeUrl(components);\n return protocol + host + path;\n};","// extracted by mini-css-extract-plugin\nexport {};\n if(module.hot) {\n // 1727127024793\n var cssReload = require(\"/Users/rgoldstein/Documents/build/pantheon/tfah-afphs/web/wp-content/themes/tfah-afphs/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n ","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","/*eslint-env browser*/\n\nvar clientOverlay = document.createElement('div');\nclientOverlay.id = 'webpack-hot-middleware-clientOverlay';\nvar styles = {\n background: 'rgba(0,0,0,0.85)',\n color: '#e8e8e8',\n lineHeight: '1.6',\n whiteSpace: 'pre',\n fontFamily: 'Menlo, Consolas, monospace',\n fontSize: '13px',\n position: 'fixed',\n zIndex: 9999,\n padding: '10px',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n overflow: 'auto',\n dir: 'ltr',\n textAlign: 'left',\n};\n\nvar ansiHTML = require('ansi-html');\nvar colors = {\n reset: ['transparent', 'transparent'],\n black: '181818',\n red: 'ff3348',\n green: '3fff4f',\n yellow: 'ffd30e',\n blue: '169be0',\n magenta: 'f840b7',\n cyan: '0ad8e9',\n lightgrey: 'ebe7e3',\n darkgrey: '6d7891',\n};\n\nvar Entities = require('html-entities').AllHtmlEntities;\nvar entities = new Entities();\n\nfunction showProblems(type, lines) {\n clientOverlay.innerHTML = '';\n lines.forEach(function(msg) {\n msg = ansiHTML(entities.encode(msg));\n var div = document.createElement('div');\n div.style.marginBottom = '26px';\n div.innerHTML = problemType(type) + ' in ' + msg;\n clientOverlay.appendChild(div);\n });\n if (document.body) {\n document.body.appendChild(clientOverlay);\n }\n}\n\nfunction clear() {\n if (document.body && clientOverlay.parentNode) {\n document.body.removeChild(clientOverlay);\n }\n}\n\nfunction problemType(type) {\n var problemColors = {\n errors: colors.red,\n warnings: colors.yellow,\n };\n var color = problemColors[type] || colors.red;\n return (\n '' +\n type.slice(0, -1).toUpperCase() +\n ''\n );\n}\n\nmodule.exports = function(options) {\n for (var color in options.ansiColors) {\n if (color in colors) {\n colors[color] = options.ansiColors[color];\n }\n ansiHTML.setColors(colors);\n }\n\n for (var style in options.overlayStyles) {\n styles[style] = options.overlayStyles[style];\n }\n\n for (var key in styles) {\n clientOverlay.style[key] = styles[key];\n }\n\n return {\n showProblems: showProblems,\n clear: clear,\n };\n};\n\nmodule.exports.clear = clear;\nmodule.exports.showProblems = showProblems;\n","/*eslint-env browser*/\n/*global __resourceQuery __webpack_public_path__*/\n\nvar options = {\n path: '/__webpack_hmr',\n timeout: 20 * 1000,\n overlay: true,\n reload: false,\n log: true,\n warn: true,\n name: '',\n autoConnect: true,\n overlayStyles: {},\n overlayWarnings: false,\n ansiColors: {},\n};\nif (__resourceQuery) {\n var querystring = require('querystring');\n var overrides = querystring.parse(__resourceQuery.slice(1));\n setOverrides(overrides);\n}\n\nif (typeof window === 'undefined') {\n // do nothing\n} else if (typeof window.EventSource === 'undefined') {\n console.warn(\n \"webpack-hot-middleware's client requires EventSource to work. \" +\n 'You should include a polyfill if you want to support this browser: ' +\n 'https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events#Tools'\n );\n} else {\n if (options.autoConnect) {\n connect();\n }\n}\n\n/* istanbul ignore next */\nfunction setOptionsAndConnect(overrides) {\n setOverrides(overrides);\n connect();\n}\n\nfunction setOverrides(overrides) {\n if (overrides.autoConnect)\n options.autoConnect = overrides.autoConnect == 'true';\n if (overrides.path) options.path = overrides.path;\n if (overrides.timeout) options.timeout = overrides.timeout;\n if (overrides.overlay) options.overlay = overrides.overlay !== 'false';\n if (overrides.reload) options.reload = overrides.reload !== 'false';\n if (overrides.noInfo && overrides.noInfo !== 'false') {\n options.log = false;\n }\n if (overrides.name) {\n options.name = overrides.name;\n }\n if (overrides.quiet && overrides.quiet !== 'false') {\n options.log = false;\n options.warn = false;\n }\n\n if (overrides.dynamicPublicPath) {\n options.path = __webpack_public_path__ + options.path;\n }\n\n if (overrides.ansiColors)\n options.ansiColors = JSON.parse(overrides.ansiColors);\n if (overrides.overlayStyles)\n options.overlayStyles = JSON.parse(overrides.overlayStyles);\n\n if (overrides.overlayWarnings) {\n options.overlayWarnings = overrides.overlayWarnings == 'true';\n }\n}\n\nfunction EventSourceWrapper() {\n var source;\n var lastActivity = new Date();\n var listeners = [];\n\n init();\n var timer = setInterval(function() {\n if (new Date() - lastActivity > options.timeout) {\n handleDisconnect();\n }\n }, options.timeout / 2);\n\n function init() {\n source = new window.EventSource(options.path);\n source.onopen = handleOnline;\n source.onerror = handleDisconnect;\n source.onmessage = handleMessage;\n }\n\n function handleOnline() {\n if (options.log) console.log('[HMR] connected');\n lastActivity = new Date();\n }\n\n function handleMessage(event) {\n lastActivity = new Date();\n for (var i = 0; i < listeners.length; i++) {\n listeners[i](event);\n }\n }\n\n function handleDisconnect() {\n clearInterval(timer);\n source.close();\n setTimeout(init, options.timeout);\n }\n\n return {\n addMessageListener: function(fn) {\n listeners.push(fn);\n },\n };\n}\n\nfunction getEventSourceWrapper() {\n if (!window.__whmEventSourceWrapper) {\n window.__whmEventSourceWrapper = {};\n }\n if (!window.__whmEventSourceWrapper[options.path]) {\n // cache the wrapper for other entries loaded on\n // the same page with the same options.path\n window.__whmEventSourceWrapper[options.path] = EventSourceWrapper();\n }\n return window.__whmEventSourceWrapper[options.path];\n}\n\nfunction connect() {\n getEventSourceWrapper().addMessageListener(handleMessage);\n\n function handleMessage(event) {\n if (event.data == '\\uD83D\\uDC93') {\n return;\n }\n try {\n processMessage(JSON.parse(event.data));\n } catch (ex) {\n if (options.warn) {\n console.warn('Invalid HMR message: ' + event.data + '\\n' + ex);\n }\n }\n }\n}\n\n// the reporter needs to be a singleton on the page\n// in case the client is being used by multiple bundles\n// we only want to report once.\n// all the errors will go to all clients\nvar singletonKey = '__webpack_hot_middleware_reporter__';\nvar reporter;\nif (typeof window !== 'undefined') {\n if (!window[singletonKey]) {\n window[singletonKey] = createReporter();\n }\n reporter = window[singletonKey];\n}\n\nfunction createReporter() {\n var strip = require('strip-ansi');\n\n var overlay;\n if (typeof document !== 'undefined' && options.overlay) {\n overlay = require('./client-overlay')({\n ansiColors: options.ansiColors,\n overlayStyles: options.overlayStyles,\n });\n }\n\n var styles = {\n errors: 'color: #ff0000;',\n warnings: 'color: #999933;',\n };\n var previousProblems = null;\n function log(type, obj) {\n var newProblems = obj[type]\n .map(function(msg) {\n return strip(msg);\n })\n .join('\\n');\n if (previousProblems == newProblems) {\n return;\n } else {\n previousProblems = newProblems;\n }\n\n var style = styles[type];\n var name = obj.name ? \"'\" + obj.name + \"' \" : '';\n var title = '[HMR] bundle ' + name + 'has ' + obj[type].length + ' ' + type;\n // NOTE: console.warn or console.error will print the stack trace\n // which isn't helpful here, so using console.log to escape it.\n if (console.group && console.groupEnd) {\n console.group('%c' + title, style);\n console.log('%c' + newProblems, style);\n console.groupEnd();\n } else {\n console.log(\n '%c' + title + '\\n\\t%c' + newProblems.replace(/\\n/g, '\\n\\t'),\n style + 'font-weight: bold;',\n style + 'font-weight: normal;'\n );\n }\n }\n\n return {\n cleanProblemsCache: function() {\n previousProblems = null;\n },\n problems: function(type, obj) {\n if (options.warn) {\n log(type, obj);\n }\n if (overlay) {\n if (options.overlayWarnings || type === 'errors') {\n overlay.showProblems(type, obj[type]);\n return false;\n }\n overlay.clear();\n }\n return true;\n },\n success: function() {\n if (overlay) overlay.clear();\n },\n useCustomOverlay: function(customOverlay) {\n overlay = customOverlay;\n },\n };\n}\n\nvar processUpdate = require('./process-update');\n\nvar customHandler;\nvar subscribeAllHandler;\nfunction processMessage(obj) {\n switch (obj.action) {\n case 'building':\n if (options.log) {\n console.log(\n '[HMR] bundle ' +\n (obj.name ? \"'\" + obj.name + \"' \" : '') +\n 'rebuilding'\n );\n }\n break;\n case 'built':\n if (options.log) {\n console.log(\n '[HMR] bundle ' +\n (obj.name ? \"'\" + obj.name + \"' \" : '') +\n 'rebuilt in ' +\n obj.time +\n 'ms'\n );\n }\n // fall through\n case 'sync':\n if (obj.name && options.name && obj.name !== options.name) {\n return;\n }\n var applyUpdate = true;\n if (obj.errors.length > 0) {\n if (reporter) reporter.problems('errors', obj);\n applyUpdate = false;\n } else if (obj.warnings.length > 0) {\n if (reporter) {\n var overlayShown = reporter.problems('warnings', obj);\n applyUpdate = overlayShown;\n }\n } else {\n if (reporter) {\n reporter.cleanProblemsCache();\n reporter.success();\n }\n }\n if (applyUpdate) {\n processUpdate(obj.hash, obj.modules, options);\n }\n break;\n default:\n if (customHandler) {\n customHandler(obj);\n }\n }\n\n if (subscribeAllHandler) {\n subscribeAllHandler(obj);\n }\n}\n\nif (module) {\n module.exports = {\n subscribeAll: function subscribeAll(handler) {\n subscribeAllHandler = handler;\n },\n subscribe: function subscribe(handler) {\n customHandler = handler;\n },\n useCustomOverlay: function useCustomOverlay(customOverlay) {\n if (reporter) reporter.useCustomOverlay(customOverlay);\n },\n setOptionsAndConnect: setOptionsAndConnect,\n };\n}\n","'use strict';\nvar ansiRegex = require('ansi-regex')();\n\nmodule.exports = function (str) {\n\treturn typeof str === 'string' ? str.replace(ansiRegex, '') : str;\n};\n","/**\n * Based heavily on https://github.com/webpack/webpack/blob/\n * c0afdf9c6abc1dd70707c594e473802a566f7b6e/hot/only-dev-server.js\n * Original copyright Tobias Koppers @sokra (MIT license)\n */\n\n/* global window __webpack_hash__ */\n\nif (!module.hot) {\n throw new Error('[HMR] Hot Module Replacement is disabled.');\n}\n\nvar hmrDocsUrl = 'https://webpack.js.org/concepts/hot-module-replacement/'; // eslint-disable-line max-len\n\nvar lastHash;\nvar failureStatuses = { abort: 1, fail: 1 };\nvar applyOptions = {\n ignoreUnaccepted: true,\n ignoreDeclined: true,\n ignoreErrored: true,\n onUnaccepted: function(data) {\n console.warn(\n 'Ignored an update to unaccepted module ' + data.chain.join(' -> ')\n );\n },\n onDeclined: function(data) {\n console.warn(\n 'Ignored an update to declined module ' + data.chain.join(' -> ')\n );\n },\n onErrored: function(data) {\n console.error(data.error);\n console.warn(\n 'Ignored an error while updating module ' +\n data.moduleId +\n ' (' +\n data.type +\n ')'\n );\n },\n};\n\nfunction upToDate(hash) {\n if (hash) lastHash = hash;\n return lastHash == __webpack_hash__;\n}\n\nmodule.exports = function(hash, moduleMap, options) {\n var reload = options.reload;\n if (!upToDate(hash) && module.hot.status() == 'idle') {\n if (options.log) console.log('[HMR] Checking for updates on the server...');\n check();\n }\n\n function check() {\n var cb = function(err, updatedModules) {\n if (err) return handleError(err);\n\n if (!updatedModules) {\n if (options.warn) {\n console.warn('[HMR] Cannot find update (Full reload needed)');\n console.warn('[HMR] (Probably because of restarting the server)');\n }\n performReload();\n return null;\n }\n\n var applyCallback = function(applyErr, renewedModules) {\n if (applyErr) return handleError(applyErr);\n\n if (!upToDate()) check();\n\n logUpdates(updatedModules, renewedModules);\n };\n\n var applyResult = module.hot.apply(applyOptions, applyCallback);\n // webpack 2 promise\n if (applyResult && applyResult.then) {\n // HotModuleReplacement.runtime.js refers to the result as `outdatedModules`\n applyResult.then(function(outdatedModules) {\n applyCallback(null, outdatedModules);\n });\n applyResult.catch(applyCallback);\n }\n };\n\n var result = module.hot.check(false, cb);\n // webpack 2 promise\n if (result && result.then) {\n result.then(function(updatedModules) {\n cb(null, updatedModules);\n });\n result.catch(cb);\n }\n }\n\n function logUpdates(updatedModules, renewedModules) {\n var unacceptedModules = updatedModules.filter(function(moduleId) {\n return renewedModules && renewedModules.indexOf(moduleId) < 0;\n });\n\n if (unacceptedModules.length > 0) {\n if (options.warn) {\n console.warn(\n \"[HMR] The following modules couldn't be hot updated: \" +\n '(Full reload needed)\\n' +\n 'This is usually because the modules which have changed ' +\n '(and their parents) do not know how to hot reload themselves. ' +\n 'See ' +\n hmrDocsUrl +\n ' for more details.'\n );\n unacceptedModules.forEach(function(moduleId) {\n console.warn('[HMR] - ' + (moduleMap[moduleId] || moduleId));\n });\n }\n performReload();\n return;\n }\n\n if (options.log) {\n if (!renewedModules || renewedModules.length === 0) {\n console.log('[HMR] Nothing hot updated.');\n } else {\n console.log('[HMR] Updated modules:');\n renewedModules.forEach(function(moduleId) {\n console.log('[HMR] - ' + (moduleMap[moduleId] || moduleId));\n });\n }\n\n if (upToDate()) {\n console.log('[HMR] App is up to date.');\n }\n }\n }\n\n function handleError(err) {\n if (module.hot.status() in failureStatuses) {\n if (options.warn) {\n console.warn('[HMR] Cannot check for update (Full reload needed)');\n console.warn('[HMR] ' + (err.stack || err.message));\n }\n performReload();\n return;\n }\n if (options.warn) {\n console.warn('[HMR] Update check failed: ' + (err.stack || err.message));\n }\n }\n\n function performReload() {\n if (reload) {\n if (options.warn) console.warn('[HMR] Reloading page');\n window.location.reload();\n }\n }\n};\n","/**\n * what-input - A global utility for tracking the current input method (mouse, keyboard or touch).\n * @version v5.2.10\n * @link https://github.com/ten1seven/what-input\n * @license MIT\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"whatInput\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"whatInput\"] = factory();\n\telse\n\t\troot[\"whatInput\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\tmodule.exports = function () {\n\t /*\n\t * bail out if there is no document or window\n\t * (i.e. in a node/non-DOM environment)\n\t *\n\t * Return a stubbed API instead\n\t */\n\t if (typeof document === 'undefined' || typeof window === 'undefined') {\n\t return {\n\t // always return \"initial\" because no interaction will ever be detected\n\t ask: function ask() {\n\t return 'initial';\n\t },\n\n\t // always return null\n\t element: function element() {\n\t return null;\n\t },\n\n\t // no-op\n\t ignoreKeys: function ignoreKeys() {},\n\n\t // no-op\n\t specificKeys: function specificKeys() {},\n\n\t // no-op\n\t registerOnChange: function registerOnChange() {},\n\n\t // no-op\n\t unRegisterOnChange: function unRegisterOnChange() {}\n\t };\n\t }\n\n\t /*\n\t * variables\n\t */\n\n\t // cache document.documentElement\n\t var docElem = document.documentElement;\n\n\t // currently focused dom element\n\t var currentElement = null;\n\n\t // last used input type\n\t var currentInput = 'initial';\n\n\t // last used input intent\n\t var currentIntent = currentInput;\n\n\t // UNIX timestamp of current event\n\t var currentTimestamp = Date.now();\n\n\t // check for a `data-whatpersist` attribute on either the `html` or `body` elements, defaults to `true`\n\t var shouldPersist = 'false';\n\n\t // form input types\n\t var formInputs = ['button', 'input', 'select', 'textarea'];\n\n\t // empty array for holding callback functions\n\t var functionList = [];\n\n\t // list of modifier keys commonly used with the mouse and\n\t // can be safely ignored to prevent false keyboard detection\n\t var ignoreMap = [16, // shift\n\t 17, // control\n\t 18, // alt\n\t 91, // Windows key / left Apple cmd\n\t 93 // Windows menu / right Apple cmd\n\t ];\n\n\t var specificMap = [];\n\n\t // mapping of events to input types\n\t var inputMap = {\n\t keydown: 'keyboard',\n\t keyup: 'keyboard',\n\t mousedown: 'mouse',\n\t mousemove: 'mouse',\n\t MSPointerDown: 'pointer',\n\t MSPointerMove: 'pointer',\n\t pointerdown: 'pointer',\n\t pointermove: 'pointer',\n\t touchstart: 'touch',\n\t touchend: 'touch'\n\n\t // boolean: true if the page is being scrolled\n\t };var isScrolling = false;\n\n\t // store current mouse position\n\t var mousePos = {\n\t x: null,\n\t y: null\n\n\t // map of IE 10 pointer events\n\t };var pointerMap = {\n\t 2: 'touch',\n\t 3: 'touch', // treat pen like touch\n\t 4: 'mouse'\n\n\t // check support for passive event listeners\n\t };var supportsPassive = false;\n\n\t try {\n\t var opts = Object.defineProperty({}, 'passive', {\n\t get: function get() {\n\t supportsPassive = true;\n\t }\n\t });\n\n\t window.addEventListener('test', null, opts);\n\t } catch (e) {}\n\t // fail silently\n\n\n\t /*\n\t * set up\n\t */\n\n\t var setUp = function setUp() {\n\t // add correct mouse wheel event mapping to `inputMap`\n\t inputMap[detectWheel()] = 'mouse';\n\n\t addListeners();\n\t };\n\n\t /*\n\t * events\n\t */\n\n\t var addListeners = function addListeners() {\n\t // `pointermove`, `MSPointerMove`, `mousemove` and mouse wheel event binding\n\t // can only demonstrate potential, but not actual, interaction\n\t // and are treated separately\n\t var options = supportsPassive ? { passive: true } : false;\n\n\t document.addEventListener('DOMContentLoaded', setPersist);\n\n\t // pointer events (mouse, pen, touch)\n\t if (window.PointerEvent) {\n\t window.addEventListener('pointerdown', setInput);\n\t window.addEventListener('pointermove', setIntent);\n\t } else if (window.MSPointerEvent) {\n\t window.addEventListener('MSPointerDown', setInput);\n\t window.addEventListener('MSPointerMove', setIntent);\n\t } else {\n\t // mouse events\n\t window.addEventListener('mousedown', setInput);\n\t window.addEventListener('mousemove', setIntent);\n\n\t // touch events\n\t if ('ontouchstart' in window) {\n\t window.addEventListener('touchstart', setInput, options);\n\t window.addEventListener('touchend', setInput);\n\t }\n\t }\n\n\t // mouse wheel\n\t window.addEventListener(detectWheel(), setIntent, options);\n\n\t // keyboard events\n\t window.addEventListener('keydown', setInput);\n\t window.addEventListener('keyup', setInput);\n\n\t // focus events\n\t window.addEventListener('focusin', setElement);\n\t window.addEventListener('focusout', clearElement);\n\t };\n\n\t // checks if input persistence should happen and\n\t // get saved state from session storage if true (defaults to `false`)\n\t var setPersist = function setPersist() {\n\t shouldPersist = !(docElem.getAttribute('data-whatpersist') || document.body.getAttribute('data-whatpersist') === 'false');\n\n\t if (shouldPersist) {\n\t // check for session variables and use if available\n\t try {\n\t if (window.sessionStorage.getItem('what-input')) {\n\t currentInput = window.sessionStorage.getItem('what-input');\n\t }\n\n\t if (window.sessionStorage.getItem('what-intent')) {\n\t currentIntent = window.sessionStorage.getItem('what-intent');\n\t }\n\t } catch (e) {\n\t // fail silently\n\t }\n\t }\n\n\t // always run these so at least `initial` state is set\n\t doUpdate('input');\n\t doUpdate('intent');\n\t };\n\n\t // checks conditions before updating new input\n\t var setInput = function setInput(event) {\n\t var eventKey = event.which;\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t var ignoreMatch = !specificMap.length && ignoreMap.indexOf(eventKey) === -1;\n\n\t var specificMatch = specificMap.length && specificMap.indexOf(eventKey) !== -1;\n\n\t var shouldUpdate = value === 'keyboard' && eventKey && (ignoreMatch || specificMatch) || value === 'mouse' || value === 'touch';\n\n\t // prevent touch detection from being overridden by event execution order\n\t if (validateTouch(value)) {\n\t shouldUpdate = false;\n\t }\n\n\t if (shouldUpdate && currentInput !== value) {\n\t currentInput = value;\n\n\t persistInput('input', currentInput);\n\t doUpdate('input');\n\t }\n\n\t if (shouldUpdate && currentIntent !== value) {\n\t // preserve intent for keyboard interaction with form fields\n\t var activeElem = document.activeElement;\n\t var notFormInput = activeElem && activeElem.nodeName && (formInputs.indexOf(activeElem.nodeName.toLowerCase()) === -1 || activeElem.nodeName.toLowerCase() === 'button' && !checkClosest(activeElem, 'form'));\n\n\t if (notFormInput) {\n\t currentIntent = value;\n\n\t persistInput('intent', currentIntent);\n\t doUpdate('intent');\n\t }\n\t }\n\t };\n\n\t // updates the doc and `inputTypes` array with new input\n\t var doUpdate = function doUpdate(which) {\n\t docElem.setAttribute('data-what' + which, which === 'input' ? currentInput : currentIntent);\n\n\t fireFunctions(which);\n\t };\n\n\t // updates input intent for `mousemove` and `pointermove`\n\t var setIntent = function setIntent(event) {\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t // test to see if `mousemove` happened relative to the screen to detect scrolling versus mousemove\n\t detectScrolling(event);\n\n\t // only execute if scrolling isn't happening\n\t if ((!isScrolling && !validateTouch(value) || isScrolling && event.type === 'wheel' || event.type === 'mousewheel' || event.type === 'DOMMouseScroll') && currentIntent !== value) {\n\t currentIntent = value;\n\n\t persistInput('intent', currentIntent);\n\t doUpdate('intent');\n\t }\n\t };\n\n\t var setElement = function setElement(event) {\n\t if (!event.target.nodeName) {\n\t // If nodeName is undefined, clear the element\n\t // This can happen if click inside an